Compare commits

...

160 Commits

Author SHA1 Message Date
baed566262 remove unused import 2026-05-06 19:57:32 +02:00
26cbf784b2 fix: yazi 2026-05-06 19:46:58 +02:00
3f463c5dc7 change xdg folders to flake variables 2026-05-06 18:24:17 +02:00
5675c7e388 update yazi 2026-05-06 18:22:09 +02:00
b402858cd6 remove hugo & update hyprland 2026-05-06 17:50:58 +02:00
49c1ff737a chore: state before home-manager update 2026-05-06 12:29:55 +02:00
dd77199323 chore: update home flake.lock 2026-05-03 19:49:32 +02:00
9516457cfd chore: state before home-manager update 2026-05-03 19:49:28 +02:00
6125f6de46 chore: update home flake.lock 2026-05-02 20:14:31 +02:00
09f37d2e85 chore: state before home-manager update 2026-05-02 20:14:28 +02:00
bf46aa2889 chore: update home flake.lock 2026-04-30 23:05:46 +02:00
e740081f81 chore: state before home-manager update 2026-04-30 23:05:42 +02:00
f66308c6f3 feat: topgrade 2026-04-29 17:31:16 +02:00
58171c4860 chore: state after home update 2026-04-29 17:28:10 +02:00
bab565c6b2 chore: state before home update 2026-04-29 17:26:05 +02:00
8c364ddf66 chore: state after home update 2026-04-29 17:24:29 +02:00
d1aaf86410 chore: state before home update 2026-04-29 17:21:28 +02:00
7f560cdce2 chore: state before home update 2026-04-29 17:18:29 +02:00
26c9f700ec chore: state before home update 2026-04-29 17:08:18 +02:00
2616458c7d chore: update home flake.lock 2026-04-29 12:19:44 +02:00
a6db86493b chore: state before home-manager update 2026-04-29 12:19:39 +02:00
17df54fe4a add hugo support 2026-04-28 22:37:55 +02:00
101ae8da40 feat: add more apps 2026-04-28 19:12:14 +02:00
7b5a5b7fbe feat: add some gui apps 2026-04-28 19:07:05 +02:00
7c6acd39ba update: xdg dirs 2026-04-28 18:21:01 +02:00
dcb1e8024b chore: update home flake.lock 2026-04-28 10:58:15 +02:00
97bc84ca2e chore: state before home-manager update 2026-04-28 10:58:11 +02:00
e5e1663234 fix: hyprland config yet again 2026-04-28 10:56:07 +02:00
f6f967f955 fix: hyprland 2026-04-28 10:47:11 +02:00
3608a5968c blab 2026-04-27 19:37:47 +02:00
cf87e02dd1 refactor: hyprland 2026-04-27 18:43:01 +02:00
3fd48c0e3b feat: add remap for quickly compiling and running current cpp file 2026-04-27 12:12:11 +02:00
21d688754e feat: update ashell config 2026-04-26 20:47:03 +02:00
71572218ae feat: change to stable hyprland 2026-04-26 20:30:52 +02:00
ce671c7440 fix: hyprland config 2026-04-26 20:13:47 +02:00
5ace7fac43 chore: update home flake.lock 2026-04-26 20:01:53 +02:00
b2eb274866 chore: state before home-manager update 2026-04-26 20:01:48 +02:00
c397420d56 chore: update home flake.lock 2026-04-26 08:41:52 +02:00
b206b41cf0 chore: state before home-manager update 2026-04-26 08:41:50 +02:00
2dc61bdcd3 chore: state before home-manager update 2026-04-26 08:38:42 +02:00
7133fcb823 chore: update home flake.lock 2026-04-25 23:21:25 +02:00
a4863c3c4f chore: state before home-manager update 2026-04-25 23:21:20 +02:00
843129eeb1 chore: update home flake.lock 2026-04-25 22:01:57 +02:00
740deb2519 chore: state before home-manager update 2026-04-25 22:01:52 +02:00
a6cd239eaf lskdafj 2026-04-24 17:29:27 +02:00
2971626335 chore: update home flake.lock 2026-04-24 17:23:40 +02:00
5c5e184141 chore: state before home-manager update 2026-04-24 17:23:38 +02:00
b531e290d2 chore: update home flake.lock 2026-04-24 17:19:36 +02:00
d63944a9aa chore: state before home-manager update 2026-04-24 17:19:32 +02:00
375389307b chore: update home flake.lock 2026-04-23 17:22:20 +02:00
0f9855aff4 chore: state before home-manager update 2026-04-23 17:22:17 +02:00
ec868f65ad chore: update home flake.lock 2026-04-22 22:19:03 +02:00
cbcc5d00a1 chore: state before home-manager update 2026-04-22 22:19:01 +02:00
adc8ba3802 chore: update home flake.lock 2026-04-22 22:17:34 +02:00
beab2afa3c chore: state before home-manager update 2026-04-22 22:17:27 +02:00
262ca1845c chore: update home flake.lock 2026-04-21 15:08:25 +02:00
52525169cc chore: state before home-manager update 2026-04-21 15:05:31 +02:00
bb04235569 chore: update home flake.lock 2026-04-20 22:43:02 +02:00
3100a4930f chore: state before home-manager update 2026-04-20 22:42:59 +02:00
de80b905d5 chore: update home flake.lock 2026-04-19 20:08:58 +02:00
63aea4d9bf chore: state before home-manager update 2026-04-19 20:08:55 +02:00
3502073527 chore: update home flake.lock 2026-04-18 23:21:54 +02:00
091e2295ea chore: state before home-manager update 2026-04-18 23:21:47 +02:00
06e9335403 chore: update home flake.lock 2026-04-16 21:31:17 +02:00
04e08bcc1c chore: state before home-manager update 2026-04-16 21:31:15 +02:00
85168c9ae2 chore: update home flake.lock 2026-04-16 21:30:17 +02:00
8d07ed6be6 chore: state before home-manager update 2026-04-16 21:30:13 +02:00
c2fa7f803f chore: update home flake.lock 2026-04-15 22:06:35 +02:00
408555cc47 chore: state before home-manager update 2026-04-15 22:06:19 +02:00
cdb5403c04 chore: update home flake.lock 2026-04-14 19:50:19 +02:00
41959e08d1 chore: state before home-manager update 2026-04-14 19:50:14 +02:00
a62512d9b6 chore: update home flake.lock 2026-04-12 22:17:21 +02:00
efaaadb75e chore: state before home-manager update 2026-04-12 22:17:11 +02:00
e83c3edf26 chore: update home flake.lock 2026-04-10 23:31:52 +02:00
2c7c484bb4 chore: state before home-manager update 2026-04-10 23:31:42 +02:00
0aa23ec425 chore: update home flake.lock 2026-04-09 16:30:02 +02:00
bda596fa9d chore: state before home-manager update 2026-04-09 16:29:58 +02:00
8ca17b6223 chore: update home flake.lock 2026-04-07 16:49:07 +02:00
afce7de729 chore: state before home-manager update 2026-04-07 16:49:02 +02:00
ab931a45c7 chore: update home flake.lock 2026-04-06 10:33:27 +02:00
60679bad0b chore: state before home-manager update 2026-04-06 10:33:18 +02:00
780abf3967 chore: update home flake.lock 2026-04-04 19:38:44 +02:00
a2e1a41d41 chore: state before home-manager update 2026-04-04 19:38:36 +02:00
177e426d58 chore: update home flake.lock 2026-04-04 19:32:45 +02:00
8b81015fd7 chore: state before home-manager update 2026-04-04 19:32:35 +02:00
c2821a6132 update: modules/hypr/hyprland.nix 2026-04-04 09:20:01 +02:00
2e22e49b35 chore: update home flake.lock 2026-04-03 23:46:00 +02:00
6b977a8416 chore: state before home-manager update 2026-04-03 23:45:57 +02:00
0142567dfc chore: update home flake.lock 2026-04-03 15:49:59 +02:00
7e75c2c895 chore: state before home-manager update 2026-04-03 15:49:49 +02:00
cb614c97e3 update: modules/cli/nixvim.nix 2026-04-02 20:21:50 +02:00
34566f9e5a update: modules/cli/nixvim.nix 2026-04-02 20:14:30 +02:00
17ee7e057d chore: update home flake.lock 2026-03-31 18:44:30 +02:00
92bff3b748 chore: state before home-manager update 2026-03-31 18:44:20 +02:00
beb360aaa3 chore: update home flake.lock 2026-03-31 09:08:02 +02:00
4f15f4c702 chore: state before home-manager update 2026-03-31 09:07:52 +02:00
302fe9d948 chore: update home flake.lock 2026-03-28 21:11:56 +01:00
591991d91f chore: state before home-manager update 2026-03-28 21:11:47 +01:00
b072cc6a5d chore: update home flake.lock 2026-03-27 10:45:15 +01:00
a07cb98151 chore: state before home-manager update 2026-03-27 10:45:07 +01:00
c0aed52d5a chore: update home flake.lock 2026-03-27 10:43:02 +01:00
2054bacade chore: state before home-manager update 2026-03-27 10:42:51 +01:00
55dd9dfd6d update flake 2026-03-25 15:01:00 +01:00
5d6f732723 xdkslajf 2026-03-24 19:48:18 +01:00
7c45a9d042 fix 2026-03-24 11:05:28 +01:00
5500f39c8c update: modules/cli/fish.nix 2026-03-24 10:48:41 +01:00
0749c86085 refactor 2026-03-24 10:40:31 +01:00
61026947d3 update: modules/cli/fish.nix 2026-03-24 09:06:59 +01:00
8ee4e578f3 chore: update home flake.lock 2026-03-22 22:03:15 +01:00
c658be8e17 chore: state before home-manager update 2026-03-22 22:03:05 +01:00
b519e6226a chore: update home flake.lock 2026-03-20 23:43:24 +01:00
3389ca5a36 chore: state before home-manager update 2026-03-20 23:43:14 +01:00
09e586f445 update: modules/cli/git.nix 2026-03-16 18:22:37 +01:00
556236c0b9 update: modules/cli/nixvim.nix 2026-03-15 11:30:46 +01:00
3c30125a0f chore: update home flake.lock 2026-03-14 20:16:38 +01:00
562586d932 chore: state before home-manager update 2026-03-14 20:16:30 +01:00
c97f6bc5fc chore: update home flake.lock 2026-03-14 18:40:00 +01:00
a5d49c1490 chore: state before home-manager update 2026-03-14 18:39:53 +01:00
1eb08b32bc chore: update home flake.lock 2026-03-12 17:18:13 +01:00
749e8c99fd chore: state before home-manager update 2026-03-12 17:18:03 +01:00
b2fcebb5af update 2026-03-11 19:37:19 +01:00
d8ea7550f0 chore: update home flake.lock 2026-03-10 20:33:11 +01:00
5f115d7d36 chore: state before home-manager update 2026-03-10 20:33:09 +01:00
8c341b9052 chore: update home flake.lock 2026-03-10 20:29:05 +01:00
847fb32980 chore: state before home-manager update 2026-03-10 20:29:05 +01:00
05f1c95542 chore: update home flake.lock 2026-03-10 20:28:36 +01:00
3d6e53a1f1 chore: state before home-manager update 2026-03-10 20:28:32 +01:00
b4a4064c3d chore: update home flake.lock 2026-03-10 20:26:06 +01:00
7694e7e5f9 chore: state before home-manager update 2026-03-10 20:25:58 +01:00
a47ec37bab chore: update home flake.lock 2026-03-09 21:02:21 +01:00
75719f3c5e chore: state before home-manager update 2026-03-09 21:02:14 +01:00
04210f9d25 fix hypr config 2026-03-09 12:17:50 +01:00
0b7364b4bd chore: update home flake.lock 2026-03-09 11:59:49 +01:00
71e8871aa0 chore: state before home-manager update 2026-03-09 11:59:40 +01:00
de109a7dd9 chore: update home flake.lock 2026-03-03 22:25:08 +01:00
27144d7e49 chore: state before home-manager update 2026-03-03 22:25:00 +01:00
b93e319d78 Merge branch 'master' of github.com:szymon-jozef/amazing-dotfiles 2026-03-03 21:54:28 +01:00
313050d577 dedede 2026-03-03 19:21:55 +01:00
272d026e54 flake lock update 2026-03-03 18:46:44 +01:00
0288a57961 before home-manager update 2026-03-03 18:46:37 +01:00
d24395e1bd Merge branch 'master' of github.com:szymon-jozef/amazing-dotfiles 2026-03-01 23:20:39 +01:00
a7c5193cf7 function and nixvim 2026-03-01 23:20:25 +01:00
529b52712e phinger cursor 2026-03-01 22:27:08 +01:00
027a74e588 xddxdxdx 2026-03-01 21:44:29 +01:00
42193b3ab2 cursor 2026-03-01 21:25:36 +01:00
7c12cb82aa update 2026-03-01 20:55:16 +01:00
2886f0517b Merge branch 'master' of github.com:szymon-jozef/amazing-dotfiles 2026-03-01 19:25:04 +01:00
6f0d08bf48 add paderewski-nix profile 2026-03-01 19:24:55 +01:00
c4617cad86 Merge branch 'master' of https://github.com/szymon-jozef/amazing-dotfiles 2026-02-28 09:33:10 +01:00
16d9094435 hypr 2026-02-28 09:33:07 +01:00
96e33b9bc4 update: modules/hypr/hyprland.nix 2026-02-28 09:07:16 +01:00
5889e11254 update: modules/hypr/hyprland.nix 2026-02-28 09:06:11 +01:00
ff8b2befb6 update: modules/hypr/hyprland.nix 2026-02-28 09:03:53 +01:00
7e694f9994 update: modules/hypr/hyprland.nix 2026-02-28 09:02:09 +01:00
9c545347a7 update: modules/hypr/hyprland.nix 2026-02-28 09:00:23 +01:00
99aea6fed5 update: modules/hypr/hyprland.nix 2026-02-28 08:59:25 +01:00
507f496a53 update: modules/hypr/hyprland.nix 2026-02-28 08:56:57 +01:00
152ab8bfe1 update: modules/hypr/hyprland.nix 2026-02-28 08:51:09 +01:00
997e669803 move host names to flakes 2026-02-27 21:14:37 +01:00
cbc68e2b5a branching — not good idea... 2026-02-27 20:58:22 +01:00
44 changed files with 1372 additions and 1076 deletions

637
flake.lock generated
View File

@@ -1,48 +1,17 @@
{ {
"nodes": { "nodes": {
"aquamarine": { "catppuccin": {
"inputs": { "inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [ "nixpkgs": [
"hyprland",
"nixpkgs" "nixpkgs"
],
"systems": [
"hyprland",
"systems"
] ]
}, },
"locked": { "locked": {
"lastModified": 1771610171, "lastModified": 1777734189,
"narHash": "sha256-+DeInuhbm6a6PpHDNUS7pozDouq2+8xSDefoNaZLW0E=", "narHash": "sha256-kbIhdhDPaTP6gxAPkcRYeB+cqPFDpTM/bnw+m+26vkI=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "7f9eb087703ec4acc6b288d02fa9ea3db803cd3d",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"catppuccin": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1771587924,
"narHash": "sha256-eVYOGmF8nQBhudJyU6lHdgJI87kvGz8JyCq5/Vi9Mjk=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "b0c65edbf31c2ad3d84438d82c2310f2c28373f3", "rev": "e68cf5deaf1a7afed2e548835dba2ae99f5a3ccb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -51,22 +20,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
@@ -75,11 +28,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769996383, "lastModified": 1775087534,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -88,25 +41,21 @@
"type": "github" "type": "github"
} }
}, },
"gitignore": { "flake-utils": {
"inputs": { "inputs": {
"nixpkgs": [ "systems": "systems_2"
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1709087332, "lastModified": 1731533236,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "hercules-ci", "owner": "numtide",
"repo": "gitignore.nix", "repo": "flake-utils",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "hercules-ci", "owner": "numtide",
"repo": "gitignore.nix", "repo": "flake-utils",
"type": "github" "type": "github"
} }
}, },
@@ -117,11 +66,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1771851181, "lastModified": 1777815398,
"narHash": "sha256-gFgE6mGUftwseV3DUENMb0k0EiHd739lZexPo5O/sdQ=", "narHash": "sha256-MrIhEoqXc4YsHEUfH4rDU/K09XnWcKntNhCjs7n7zi8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "9a4b494b1aa1b93d8edf167f46dc8e0c0011280c", "rev": "b5e86c1b19f178a8ee10f7cb747325e02e3d3991",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -130,364 +79,84 @@
"type": "github" "type": "github"
} }
}, },
"hyprcursor": { "home-manager_2": {
"inputs": { "inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [ "nixpkgs": [
"hyprland", "zen-browser",
"nixpkgs" "nixpkgs"
],
"systems": [
"hyprland",
"systems"
] ]
}, },
"locked": { "locked": {
"lastModified": 1753964049, "lastModified": 1776184304,
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=", "narHash": "sha256-No6QGBmIv5ChiwKCcbkxjdEQ/RO2ZS1gD7SFy6EZ7rc=",
"owner": "hyprwm", "owner": "nix-community",
"repo": "hyprcursor", "repo": "home-manager",
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5", "rev": "3c7524c68348ef79ce48308e0978611a050089b2",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "hyprwm", "owner": "nix-community",
"repo": "hyprcursor", "repo": "home-manager",
"type": "github" "type": "github"
} }
}, },
"hyprgraphics": { "hyprcursor-phinger": {
"inputs": { "inputs": {
"hyprutils": [ "nixpkgs": "nixpkgs"
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1770511807, "lastModified": 1763845612,
"narHash": "sha256-suKmSbSk34uPOJDTg/GbPrKEJutzK08vj0VoTvAFBCA=", "narHash": "sha256-78zH5GrYa35bEkzeVnl8uXFbZ/zsiSHayjxZlNt+Xe8=",
"owner": "hyprwm", "owner": "jappie3",
"repo": "hyprgraphics", "repo": "hyprcursor-phinger",
"rev": "7c75487edd43a71b61adb01cae8326d277aab683", "rev": "1207a845501a28e0e00d4a8e935ee0c9cab30650",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "hyprwm", "owner": "jappie3",
"repo": "hyprgraphics", "repo": "hyprcursor-phinger",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprgraphics": "hyprgraphics",
"hyprland-guiutils": "hyprland-guiutils",
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"hyprwire": "hyprwire",
"nixpkgs": "nixpkgs_2",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems",
"xdph": "xdph"
},
"locked": {
"lastModified": 1772022552,
"narHash": "sha256-L3zktLSXcvsqczTz7YL5PXYgn4a08tRfl9t6YYLESM8=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "457617b5a31f70ea63e1fcc0729f29e4a9e6b486",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-guiutils": {
"inputs": {
"aquamarine": [
"hyprland",
"aquamarine"
],
"hyprgraphics": [
"hyprland",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprtoolkit": "hyprtoolkit",
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1767023960,
"narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=",
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1765214753,
"narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1771866172,
"narHash": "sha256-fYFoXhQLrm1rD8vSFKQBOEX4OGCuJdLt1amKfHd5GAw=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "0b219224910e7642eb0ed49f0db5ec3d008e3e41",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprtoolkit": {
"inputs": {
"aquamarine": [
"hyprland",
"hyprland-guiutils",
"aquamarine"
],
"hyprgraphics": [
"hyprland",
"hyprland-guiutils",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprland-guiutils",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprland-guiutils",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprland-guiutils",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"hyprland-guiutils",
"nixpkgs"
],
"systems": [
"hyprland",
"hyprland-guiutils",
"systems"
]
},
"locked": {
"lastModified": 1764592794,
"narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=",
"owner": "hyprwm",
"repo": "hyprtoolkit",
"rev": "5cfe0743f0e608e1462972303778d8a0859ee63e",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprtoolkit",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1771271487,
"narHash": "sha256-41gEiUS0Pyw3L/ge1l8MXn61cK14VAhgWB/JV8s/oNI=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "340a792e3b3d482c4ae5f66d27a9096bdee6d76d",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1770501770,
"narHash": "sha256-NWRM6+YxTRv+bT9yvlhhJ2iLae1B1pNH3mAL5wi2rlQ=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "0bd8b6cde9ec27d48aad9e5b4deefb3746909d40",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"hyprwire": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1771606233,
"narHash": "sha256-F3PLUqQ/TwgR70U+UeOqJnihJZ2EuunzojYC4g5xHr0=",
"owner": "hyprwm",
"repo": "hyprwire",
"rev": "06c7f1f8c4194786c8400653c4efc49dc14c0f3a",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwire",
"type": "github" "type": "github"
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1771369470, "lastModified": 1762977756,
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", "narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
"owner": "NixOS", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0182a361324364ae3f436a63005877674cf45efb", "rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable": {
"locked": {
"lastModified": 1777673416,
"narHash": "sha256-5c2POKPOjU40Kh0MirOdScBLG0bu9TAuPYAtPRNZMBs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "26ef669cffa904b6f6832ab57b77892a37c1a671",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1771848320, "lastModified": 1777578337,
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", "narHash": "sha256-Ad49moKWeXtKBJNy2ebiTQUEgdLyvGmTeykAQ9xM+Z4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2fc6539b481e1d2569f25f8799236694180c0993",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1771369470,
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0182a361324364ae3f436a63005877674cf45efb", "rev": "15f4ee454b1dce334612fa6843b3e05cf546efab",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -503,14 +172,14 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"systems": "systems_2" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1771135771, "lastModified": 1777236345,
"narHash": "sha256-wyvBIhDuyCRyjB3yPg77qoyxrlgQtBR1rVW3c9knV3E=", "narHash": "sha256-ALOqlq7bE30lsX4rA76hXeQ2aLLEpb44hS+D1+jWS88=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "ed0424f0b08d303a7348f52f7850ad1b2704f9ba", "rev": "a67d9cd6ff725a763afe88727aac73208ded3bf4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -519,26 +188,53 @@
"type": "github" "type": "github"
} }
}, },
"pre-commit-hooks": { "pyproject-build-systems": {
"inputs": { "inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [ "nixpkgs": [
"hyprland", "zut-calendar",
"nixpkgs"
],
"pyproject-nix": [
"zut-calendar",
"pyproject-nix"
],
"uv2nix": [
"zut-calendar",
"uv2nix"
]
},
"locked": {
"lastModified": 1771423342,
"narHash": "sha256-7uXPiWB0YQ4HNaAqRvVndYL34FEp1ZTwVQHgZmyMtC8=",
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"rev": "04e9c186e01f0830dad3739088070e4c551191a4",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"type": "github"
}
},
"pyproject-nix": {
"inputs": {
"nixpkgs": [
"zut-calendar",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1771858127, "lastModified": 1771518446,
"narHash": "sha256-Gtre9YoYl3n25tJH2AoSdjuwcqij5CPxL3U3xysYD08=", "narHash": "sha256-nFJSfD89vWTu92KyuJWDoTQJuoDuddkJV3TlOl1cOic=",
"owner": "cachix", "owner": "pyproject-nix",
"repo": "git-hooks.nix", "repo": "pyproject.nix",
"rev": "49bbbfc218bf3856dfa631cead3b052d78248b83", "rev": "eb204c6b3335698dec6c7fc1da0ebc3c6df05937",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "cachix", "owner": "pyproject-nix",
"repo": "git-hooks.nix", "repo": "pyproject.nix",
"type": "github" "type": "github"
} }
}, },
@@ -546,24 +242,28 @@
"inputs": { "inputs": {
"catppuccin": "catppuccin", "catppuccin": "catppuccin",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprcursor-phinger": "hyprcursor-phinger",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_2",
"nixpkgs-stable": "nixpkgs-stable",
"nixvim": "nixvim", "nixvim": "nixvim",
"wallpapers": "wallpapers" "wallpapers": "wallpapers",
"zen-browser": "zen-browser",
"zut-calendar": "zut-calendar",
"zutui": "zutui"
} }
}, },
"systems": { "systems": {
"locked": { "locked": {
"lastModified": 1689347949, "lastModified": 1681028828,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default-linux", "repo": "default",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default-linux", "repo": "default",
"type": "github" "type": "github"
} }
}, },
@@ -582,6 +282,31 @@
"type": "github" "type": "github"
} }
}, },
"uv2nix": {
"inputs": {
"nixpkgs": [
"zut-calendar",
"nixpkgs"
],
"pyproject-nix": [
"zut-calendar",
"pyproject-nix"
]
},
"locked": {
"lastModified": 1772408201,
"narHash": "sha256-3Va9Tq/tg9ZuCX+PFd9oPgwtBDQRjjh60cYKZjZDxNM=",
"owner": "pyproject-nix",
"repo": "uv2nix",
"rev": "4bac9176117824d4550deeba9b86d9f96ac5d081",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "uv2nix",
"type": "github"
}
},
"wallpapers": { "wallpapers": {
"flake": false, "flake": false,
"locked": { "locked": {
@@ -598,44 +323,68 @@
"type": "github" "type": "github"
} }
}, },
"xdph": { "zen-browser": {
"inputs": { "inputs": {
"hyprland-protocols": [ "home-manager": "home-manager_2",
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [ "nixpkgs": [
"hyprland",
"nixpkgs" "nixpkgs"
],
"systems": [
"hyprland",
"systems"
] ]
}, },
"locked": { "locked": {
"lastModified": 1761431178, "lastModified": 1777564084,
"narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=", "narHash": "sha256-O9VRkxg+2j+sh+c73wi4VeIBECoqW2PlnCR9Qe1nQKA=",
"owner": "hyprwm", "owner": "0xc000022070",
"repo": "xdg-desktop-portal-hyprland", "repo": "zen-browser-flake",
"rev": "4b8801228ff958d028f588f0c2b911dbf32297f9", "rev": "d93443c0f6fdb3b179bed68856f322dba4842612",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "hyprwm", "owner": "0xc000022070",
"repo": "xdg-desktop-portal-hyprland", "repo": "zen-browser-flake",
"type": "github"
}
},
"zut-calendar": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"pyproject-build-systems": "pyproject-build-systems",
"pyproject-nix": "pyproject-nix",
"uv2nix": "uv2nix"
},
"locked": {
"lastModified": 1773515729,
"narHash": "sha256-+TfrJdqRxmzarLednTCFfxDi1uGNYnIbtyLAFw2Pj0U=",
"owner": "szymon-jozef",
"repo": "zut-calendar",
"rev": "3284491807e196414445326d11913b43e7a0225f",
"type": "github"
},
"original": {
"owner": "szymon-jozef",
"repo": "zut-calendar",
"type": "github"
}
},
"zutui": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1774282006,
"narHash": "sha256-tF+/CbZhOvIl4F/WJtT2V376WjGIXSFXRSDMGI11KJk=",
"owner": "shv187",
"repo": "zutui",
"rev": "fcce7c254c74638efa667df7a4f603d01362a835",
"type": "github"
},
"original": {
"owner": "shv187",
"repo": "zutui",
"type": "github" "type": "github"
} }
} }

169
flake.nix
View File

@@ -1,95 +1,166 @@
{ {
description = "Home manager config"; description = "Amazing dotfiles";
inputs = { inputs = {
hyprland.url = "github:hyprwm/Hyprland";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.11";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
catppuccin.url = "github:catppuccin/nix"; # hyprland.url = "github:hyprwm/Hyprland";
wallpapers = {
url = "github:orangci/walls-catppuccin-mocha";
flake = false;
};
nixvim = { nixvim = {
url = "github:nix-community/nixvim"; url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
zen-browser = {
url = "github:0xc000022070/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
# theming stuff
catppuccin = {
url = "github:catppuccin/nix";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprcursor-phinger.url = "github:jappie3/hyprcursor-phinger";
wallpapers = {
url = "github:orangci/walls-catppuccin-mocha";
flake = false;
};
# uni stuff
zut-calendar = {
url = "github:szymon-jozef/zut-calendar";
inputs.nixpkgs.follows = "nixpkgs";
};
zutui = {
url = "github:shv187/zutui";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = outputs =
{ {
nixpkgs, nixpkgs,
nixpkgs-stable,
home-manager, home-manager,
catppuccin, catppuccin,
nixvim, nixvim,
wallpapers, wallpapers,
zut-calendar,
zutui,
... ...
}@inputs: }@inputs:
let let
userConfig = { defaultUserConfig = {
username = "szymon"; username = "szymon";
# for git
email = "szymon_jozef@proton.me"; email = "szymon_jozef@proton.me";
fullName = "Szymon P"; fullName = "Szymon P";
# your public ssh key
signingKey = "~/.ssh/github.pub"; signingKey = "~/.ssh/github.pub";
mainMonitor = "eDP-1"; # only for some applications: you still need to set hyprland monitors yourself! mainMonitor = "DP-1";
statusBar = "ashell"; # available: ashell|waybar statusBar = "ashell"; # available: ashell | waybar
pathConfig = { pathConfig = {
wallpaper = "Obrazy/tapety/catppuccin"; wallpaper = "Obrazy/tapety/catppuccin"; # relative to $HOME/
screenshot = "Obrazy/zrzuty/"; screenshot = "Obrazy/zrzuty/"; # relative to $HOME/
obsidian = "Dokumenty/obsidian"; obsidian = "Dokumenty/obsidian"; # relative to $HOME/
projects = "~/Kodowanie";
documents = "~/Dokumenty";
pictures = "~/Obrazy";
downloads = "~/Pobrane";
video = "~/Video";
}; };
isNixOS = true;
hostName = "default";
animations = true;
gaming = true;
}; };
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
pkgs-stable = import nixpkgs-stable {
inherit system;
config = {
allowUnfree = true;
permittedInsecurePackages = [
"electron-38.8.4"
];
};
};
mkHome =
customConfig:
let
userConfig = defaultUserConfig // customConfig;
in
home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit inputs userConfig pkgs-stable;
};
modules = [
./home.nix
catppuccin.homeModules.catppuccin
nixvim.homeModules.nixvim
inputs.hyprcursor-phinger.homeManagerModules.hyprcursor-phinger
(
{ pkgs, ... }:
{
home.packages = [
zut-calendar.packages.${pkgs.stdenv.hostPlatform.system}.default
zutui.packages.${pkgs.stdenv.hostPlatform.system}.default
];
}
)
]
++ (customConfig.extraModules or [ ]);
};
in in
{ {
homeConfigurations = { homeConfigurations = {
"arch" = home-manager.lib.homeManagerConfiguration { # You can overwrite default configuration here
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
extraSpecialArgs = {
inherit
inputs
userConfig
;
isNixOS = false;
};
modules = [
./home.nix
catppuccin.homeModules.catppuccin
nixvim.homeModules.nixvim
];
"arch" = mkHome {
isNixOS = false;
hostName = "arch";
}; };
"nixos" = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs { "nixos" = mkHome {
inherit system; isNixOS = true;
config.allowUnfree = true; hostName = "nixos";
}; };
extraSpecialArgs = {
inherit "${defaultUserConfig.username}@pitagoras" = mkHome {
inputs hostName = "pitagoras";
userConfig mainMonitor = "eDP-1";
; animations = false;
isNixOS = true; };
};
modules = [ "${defaultUserConfig.username}@pilecki" = mkHome {
./home.nix hostName = "pilecki";
catppuccin.homeModules.catppuccin mainMonitor = "LVDS-1";
nixvim.homeModules.nixvim };
];
"${defaultUserConfig.username}@paderewski" = mkHome {
hostName = "paderewski";
}; };
}; };
}; };

1
hash.txt Normal file
View File

@@ -0,0 +1 @@
got: sha256-IGkP0z8gJj1dbNclpMebZXZvaRby1F8zGNEDPtitfqo=

View File

@@ -21,7 +21,7 @@
catppuccin = { catppuccin = {
enable = true; enable = true;
flavor = "mocha"; flavor = "mocha";
accent = "mauve"; accent = "sapphire";
}; };
imports = [ imports = [
@@ -42,6 +42,7 @@
./modules/cli/git.nix ./modules/cli/git.nix
./modules/cli/fastfetch.nix ./modules/cli/fastfetch.nix
./modules/cli/kdeconnect.nix ./modules/cli/kdeconnect.nix
./modules/cli/topgrade.nix
# gui tools # gui tools
./modules/gui/kitty.nix ./modules/gui/kitty.nix
./modules/gui/satty.nix ./modules/gui/satty.nix
@@ -68,13 +69,24 @@
".config/gtk-3.0/gtk.css".source = ./dotfiles/gtk-3.0/gtk.css; ".config/gtk-3.0/gtk.css".source = ./dotfiles/gtk-3.0/gtk.css;
${userConfig.pathConfig.wallpaper}.source = inputs.wallpapers; ${userConfig.pathConfig.wallpaper}.source = inputs.wallpapers;
}; };
programs.hyprcursor-phinger.enable = true;
# === VARS === # === VARS ===
home.sessionVariables = { home = {
EDITOR = "nvim"; sessionVariables = {
VISUAL = "nvim"; EDITOR = "nvim";
XDG_DATA_DIRS = "$HOME/.nix-profile/share/applications:$XDG_DATA_DIRS"; VISUAL = "nvim";
XDG_DATA_DIRS = "$HOME/.nix-profile/share/applications:$XDG_DATA_DIRS";
};
pointerCursor = {
name = "phinger-cursors-light";
package = pkgs.phinger-cursors;
size = 24;
gtk.enable = true;
x11.enable = true;
};
}; };
programs.home-manager.enable = true; programs.home-manager.enable = true;

0
install_nix_and_home_manager_on_arch.sh Normal file → Executable file
View File

View File

@@ -1,6 +1,5 @@
{ {
lib, lib,
isNixOS,
userConfig, userConfig,
pkgs, pkgs,
... ...
@@ -9,7 +8,7 @@
{ {
programs.ashell = { programs.ashell = {
enable = true; enable = true;
package = lib.mkIf (!isNixOS) null; package = lib.mkIf (!userConfig.isNixOS) null;
settings = { settings = {
outputs = { outputs = {
Targets = [ userConfig.mainMonitor ]; Targets = [ userConfig.mainMonitor ];
@@ -18,7 +17,7 @@
modules = { modules = {
left = [ left = [
"Clock" "Tempo"
"Workspaces" "Workspaces"
]; ];
center = [ "WindowTitle" ]; center = [ "WindowTitle" ];
@@ -67,8 +66,13 @@
} }
]; ];
clock = { tempo = {
format = "%H:%M | %e.%m "; clock_format = "%H:%M | %e.%m ";
};
media_player = {
max_title_length = 50;
indicator_format = "Icon";
}; };
settings = { settings = {
@@ -77,7 +81,7 @@
appearance = { appearance = {
scale_factor = 1.2; scale_factor = 1.2;
style = "Gradient"; style = "Islands";
success_color = "#a6e3a1"; success_color = "#a6e3a1";
text_color = "#cdd6f4"; text_color = "#cdd6f4";
workspace_colors = [ workspace_colors = [

View File

@@ -1,6 +1,5 @@
{ {
pkgs, pkgs,
isNixOS,
userConfig, userConfig,
... ...
}: }:
@@ -9,7 +8,7 @@
programs.waybar = { programs.waybar = {
enable = true; enable = true;
package = package =
if isNixOS then pkgs.waybar else (pkgs.writeShellScriptBin "waybar" "exec /usr/bin/waybar \"$@\""); if userConfig.isNixOS then pkgs.waybar else (pkgs.writeShellScriptBin "waybar" "exec /usr/bin/waybar \"$@\"");
settings = { settings = {
mainBar = { mainBar = {
layer = "top"; layer = "top";

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { ... }:
{ {
programs.bat = { programs.bat = {

View File

@@ -1,4 +1,4 @@
{ config, pkgs, ... }: { ... }:
{ {
programs.fastfetch = { programs.fastfetch = {
@@ -36,7 +36,7 @@
xdg.configFile."fastfetch/startup.jsonc".text = builtins.toJSON { xdg.configFile."fastfetch/startup.jsonc".text = builtins.toJSON {
logo = { logo = {
source = "arch_small"; source = "nixos_small";
padding = { padding = {
bottom = 1; bottom = 1;
}; };

View File

@@ -1,4 +1,4 @@
{ isNixOS, ... }: { userConfig, ... }:
{ {
programs.fish = { programs.fish = {
@@ -17,6 +17,8 @@
fish_vi_key_bindings fish_vi_key_bindings
direnv hook fish | source
fastfetch --config ~/.config/fastfetch/startup.jsonc fastfetch --config ~/.config/fastfetch/startup.jsonc
''; '';
@@ -45,7 +47,7 @@
set -l rel_file (realpath --relative-to=$config_dir $file) set -l rel_file (realpath --relative-to=$config_dir $file)
if nh home switch $config_dir -c ${if isNixOS then "nixos" else "arch"} if nh home switch $config_dir
git add -A git add -A
set commit_msg "update: $rel_file" set commit_msg "update: $rel_file"
git commit -m "$commit_msg" git commit -m "$commit_msg"
@@ -61,17 +63,12 @@
reload_dotfiles = { reload_dotfiles = {
body = # fish body = # fish
"nh home switch ~/.config/home-manager -c ${if isNixOS then "nixos" else "arch"}"; "nh home switch ~/.config/home-manager";
}; };
ls = { reload_system = {
body = # fish body = # fish
"eza --long --icons --group-directories-first --git $argv"; "nh os switch /etc/nixos/";
};
lst = {
body = # fish
"eza --long --icons --color --git --tree $argv";
}; };
cp_mail = { cp_mail = {
@@ -79,49 +76,155 @@
"pandoc $argv -t html |wl-copy -t text/html"; "pandoc $argv -t html |wl-copy -t text/html";
}; };
update = { update_files = {
body = # fish body =
# fish
'' ''
echo "===System update===" echo "=== System packages updates ==="
pushd /etc/nixos
if not type -q yay git add -A
echo "Yay not found Is this Arch? If yes, then please consider installing it!" git commit -m 'chore: state before pulling'
else
yay if git pull
reload_system
end end
if type -q pacman popd
echo "===Remove orphans==="
set orphans (pacman -Qtdq) echo "=== User packages update ==="
if test (count $orphans) -gt 0 pushd $HOME/.config/home-manager
sudo pacman -Rns $orphans
git add -A
git commit -m 'chore: state before pulling'
if git pull
reload_dotfiles
end
popd
'';
};
update = {
body =
if userConfig.isNixOS then
# fish
''
echo "=== System packages update ==="
pushd /etc/nixos
if git pull
git add -A
git commit --allow-empty -m "chore: state before system update"
nix flake update
if test $status -eq 0
git add ./flake.lock
git commit --allow-empty -m "chore: update system flake.lock"
reload_system
git push
else
echo "Error while updating system flake!"
end end
end else
echo "Error: 'git pull' failed in /etc/nixos. Skipping system update."
end
if type -q flatpak popd
echo "===Flatpak update==="
echo "=== User packages update ==="
pushd $HOME/.config/home-manager
if git pull
git add -A
git commit --allow-empty -m "chore: state before home-manager update"
nix flake update
if test $status -eq 0
git add ./flake.lock
git commit --allow-empty -m "chore: update home flake.lock"
git push
reload_dotfiles
else
echo "Error while updating home flake!"
end
else
echo "Error: 'git pull' failed in home-manager. Skipping user update."
end
popd
if type -q flatpak
echo "=== Flatpak update ==="
flatpak update --noninteractive flatpak update --noninteractive
echo "===Flatpak remove unused==="
flatpak uninstall --unused echo "=== Flatpak remove unused ==="
end flatpak uninstall --unused --noninteractive
end
''
else
# fish
''
echo "===System update==="
if type -q nix-channel if not type -q yay
echo "===Nix update===" echo "Yay not found Please consider installing it!"
nix-channel --update else
echo "===Nix garbage collection===" yay
home-manager expire-generations "-7 days" end
end
if type -q pacman
echo "===Remove orphans==="
set orphans (pacman -Qtdq)
if test (count $orphans) -gt 0
sudo pacman -Rns $orphans
end
end
if type -q flatpak
echo "===Flatpak update==="
flatpak update --noninteractive
echo "===Flatpak remove unused==="
flatpak uninstall --unused
end
if type -q nix-channel
echo "===Nix update==="
nix-channel --update
echo "===Nix garbage collection==="
home-manager expire-generations "-7 days"
end
'';
};
blog_build_and_push = {
body =
# fish
''
set USER szymon
set HOST dmowski
set DIR /srv/blog/
set blog_dir ~/Dokumenty/blog
pushd $blog_dir || exit 1
hugo build && rsync -avz --delete public/ $USER@$HOST:$DIR
popd
exit 0
''; '';
}; };
};
rm = { shellAliases = {
body = "trash $argv"; ls = "eza --long --icons --group-directories-first --git";
}; lst = "eza --long --icons --color --git --tree";
rm = "trash";
open = { # update = "topgrade";
body = "nohup xdg-open $argv > /dev/null & ";
};
}; };
}; };
} }

View File

@@ -41,6 +41,7 @@
"node_modules" "node_modules"
"result" "result"
"__pycache__" "__pycache__"
".direnv"
]; ];
}; };

View File

@@ -100,6 +100,39 @@
action.__raw = "function() require('harpoon'):list():next() end"; action.__raw = "function() require('harpoon'):list():next() end";
options.desc = "Toggle next harpoon buffer"; options.desc = "Toggle next harpoon buffer";
} }
{
key = "j";
action = "jzz";
}
{
key = "k";
action = "kzz";
}
{
key = "[[";
action = "[[zz";
}
{
key = "]]";
action = "]]zz";
}
{
key = "{{";
action = "{{zz";
}
{
key = "}}";
action = "}}zz";
}
{
mode = "n";
key = "<leader>cr";
action = ":w<CR>:TermExec cmd='mkdir -p ./out && g++ \"%\" -o \"./out/%:r\" && ./out/\"%:r\"'<CR>";
options = {
desc = "Compile and run current cpp file";
silent = true;
};
}
]; ];
autoGroups = { autoGroups = {
@@ -169,7 +202,22 @@
friendly-snippets.enable = true; friendly-snippets.enable = true;
# dev # dev
clangd.enable = true; clangd.enable = true;
pyright.enable = true; pylsp = {
enable = true;
settings = {
plugins = {
ruff = {
enabled = true;
format = [ "I" ];
};
pylsp_mypy.enabled = true;
jedi_completion.enabled = true;
jedi_definition.enabled = true;
};
};
};
rust_analyzer = { rust_analyzer = {
enable = true; enable = true;
installCargo = true; installCargo = true;
@@ -203,11 +251,18 @@
}; };
}; };
indent-blankline = { cursorline = {
enable = true; enable = true;
settings.scope.enabled = true; timeout = 0;
}; };
mini-indentscope = {
enable = true;
settings.draw.delay = 0;
};
toggleterm.enable = true;
cmp = { cmp = {
enable = true; enable = true;
settings = { settings = {

View File

@@ -2,7 +2,6 @@
{ {
services.ssh-agent.enable = true; services.ssh-agent.enable = true;
services.ssh-agent.enableFishIntegration = true;
programs.ssh = { programs.ssh = {
enableDefaultConfig = false; enableDefaultConfig = false;

53
modules/cli/topgrade.nix Normal file
View File

@@ -0,0 +1,53 @@
{ ... }:
let
system_path = "/etc/nixos";
home_path = "~/.config/home-manager/";
in
{
programs.topgrade = {
enable = true;
settings = {
misc = {
assume_yes = true;
pre_sudo = true;
disable = [
"flutter"
"node"
"hyprpm"
];
cleanup = false;
notify_end = "never";
nix_handle = "nh";
};
git = {
repos = [ "$XDG_PROJECTS_DIR/*" ];
};
pre_commands = {
"Git commit before system flake update" =
"cd ${system_path} && git add -A && git commit --allow-empty -m 'chore: state before system update'";
"Git commit before home flake update" =
"cd ${home_path} && git add -A && git commit --allow-empty -m 'chore: state before home update'";
"Git pull before system flake update " = "cd ${system_path} && git pull";
"Git pull before home flake update " = "cd ${home_path} && git pull";
};
commands = {
"Update system flake" = "cd ${system_path} && nix flake update";
"Update home flake" = "cd ${home_path} && nix flake update";
};
post_commands = {
"Git commit after system flake update" =
"cd ${system_path} && git add -A && git commit --allow-empty -m 'chore: state after system update'";
"Git commit after home flake update" =
"cd ${home_path} && git add -A && git commit --allow-empty -m 'chore: state after home update'";
"Git push system configuration" = "cd ${system_path} && git push";
"Git push home configuration" = "cd ${home_path} && git push";
};
};
};
}

View File

@@ -1,4 +1,4 @@
{ ... }: { userConfig, ... }:
{ {
programs.yazi = { programs.yazi = {
@@ -37,6 +37,41 @@
"yank" "yank"
]; ];
} }
{
on = [
"g"
"p"
];
run = "cd ${userConfig.pathConfig.downloads}";
}
{
on = [
"g"
"d"
];
run = "cd ${userConfig.pathConfig.documents}";
}
{
on = [
"g"
"v"
];
run = "cd ${userConfig.pathConfig.video}";
}
{
on = [
"g"
"o"
];
run = "cd ${userConfig.pathConfig.pictures}";
}
{
on = [
"g"
"k"
];
run = "cd ${userConfig.pathConfig.projects}";
}
]; ];
}; };
} }

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { ... }:
{ {
programs.zoxide = { programs.zoxide = {

View File

@@ -4,6 +4,7 @@
gtk = { gtk = {
enable = true; enable = true;
colorScheme = "dark"; colorScheme = "dark";
gtk4.theme = null;
}; };
dconf = { dconf = {

View File

@@ -1,8 +1,20 @@
{ isNixOS, lib, ... }: {
userConfig,
pkgs,
lib,
inputs,
...
}:
{ {
programs.chromium = { programs.chromium = {
enable = true; enable = true;
package = lib.mkIf (!isNixOS) null; package = lib.mkIf (!userConfig.isNixOS) null;
}; };
home.packages = with pkgs; [
inputs.zen-browser.packages."${pkgs.stdenv.hostPlatform.system}".default
tutanota-desktop
brave
];
} }

View File

@@ -1,18 +1,18 @@
{ lib, isNixOS, ... }: { lib, userConfig, ... }:
{ {
programs.kitty = { programs.kitty = {
enable = true; enable = true;
package = lib.mkIf (!isNixOS) null; package = lib.mkIf (!userConfig.isNixOS) null;
settings = { settings = {
confirm_os_window_close = 0; confirm_os_window_close = 0;
dynamic_background_opacity = true; dynamic_background_opacity = true;
enable_audio_bell = false; enable_audio_bell = false;
mouse_hide_wait = "-1.0"; mouse_hide_wait = "-1.0";
window_padding_width = 10; window_padding_width = 10;
background_opacity = "0.5"; background_opacity = "0.95";
font_size = 14; font_size = 12;
background_blur = 5; background_blur = 15;
symbol_map = symbol_map =
let let
mappings = [ mappings = [

View File

@@ -1,4 +1,4 @@
{ isNixOS, pkgs, ... }: { userConfig, pkgs, ... }:
{ {
services.mako = { services.mako = {
@@ -21,7 +21,7 @@
progress-color = "over #313244"; progress-color = "over #313244";
output = "DP-1"; output = "DP-1";
on-notify = on-notify =
if isNixOS then if userConfig.isNixOS then
"exec ${pkgs.pulseaudio}/bin/paplay ${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/dialog-information.oga" "exec ${pkgs.pulseaudio}/bin/paplay ${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/dialog-information.oga"
else else
"exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga"; "exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga";
@@ -36,7 +36,7 @@
[urgency=critical] [urgency=critical]
on-notify=${ on-notify=${
if isNixOS then if userConfig.isNixOS then
"exec ${pkgs.pulseaudio}/bin/paplay ${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/dialog-information.oga" "exec ${pkgs.pulseaudio}/bin/paplay ${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/dialog-information.oga"
else else
"exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga" "exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga"

View File

@@ -1,7 +1,7 @@
{ {
config, config,
pkgs, pkgs,
isNixOS, userConfig,
... ...
}: }:
@@ -10,7 +10,7 @@
programs.mangohud = { programs.mangohud = {
enable = true; enable = true;
package = if isNixOS then pkgs.mangohud else (pkgs.runCommand "dummy-mangohud" { } "mkdir $out"); package = if userConfig.isNixOS then pkgs.mangohud else (pkgs.runCommand "dummy-mangohud" { } "mkdir $out");
}; };
xdg.configFile."MangoHud/MangoHud.conf".text = '' xdg.configFile."MangoHud/MangoHud.conf".text = ''

View File

@@ -11,7 +11,7 @@ stdenv.mkDerivation {
owner = "catppuccin"; owner = "catppuccin";
repo = "obsidian"; repo = "obsidian";
rev = "main"; rev = "main";
hash = "sha256-sN5k263geOtJ1mOCQGM8UdmA/71OhBI5NRwGxJwd80E="; hash = "sha256-uB0a2nSZkHHf65xBYXyNh50vaAiqdEpKQVf3eXnCVlE=";
}; };
installPhase = '' installPhase = ''

View File

@@ -1,5 +1,4 @@
{ {
isNixOS,
lib, lib,
pkgs, pkgs,
userConfig, userConfig,
@@ -9,7 +8,7 @@
{ {
programs.obsidian = { programs.obsidian = {
enable = true; enable = true;
package = lib.mkIf (!isNixOS) null; package = lib.mkIf (!userConfig.isNixOS) null;
defaultSettings = { defaultSettings = {
app = { app = {

View File

@@ -1,6 +1,5 @@
{ {
lib, lib,
isNixOS,
userConfig, userConfig,
... ...
}: }:
@@ -8,7 +7,7 @@
{ {
programs.satty = { programs.satty = {
enable = true; enable = true;
package = lib.mkIf (!isNixOS) null; package = lib.mkIf (!userConfig.isNixOS) null;
settings = { settings = {
general = { general = {
fullscreen = true; fullscreen = true;

View File

@@ -1,9 +1,9 @@
{ isNixOS, lib, ... }: { userConfig, lib, ... }:
{ {
services.hypridle = { services.hypridle = {
enable = true; enable = true;
package = lib.mkIf (!isNixOS) null; package = lib.mkIf (!userConfig.isNixOS) null;
settings = { settings = {
general = { general = {

View File

@@ -1,467 +1,13 @@
{ ... }:
{ {
isNixOS, imports = [
lib, ./hyprland/general.nix
userConfig, ./hyprland/looks.nix
pkgs, ./hyprland/layouts.nix
... ./hyprland/hardware.nix
}: ./hyprland/apps.nix
let ./hyprland/workspaces.nix
exe = pkg: bin: if isNixOS then "${pkg}/bin/${bin}" else "/usr/bin/${bin}"; ./hyprland/env.nix
./hyprland/autostart.nix
jq = exe pkgs.jq "jq"; ];
grim = exe pkgs.grim "grim";
satty = exe pkgs.satty "satty";
wl_copy = exe pkgs.wl-clipboard "wl-copy";
notify_send = exe pkgs.libnotify "notify-send";
xdg-desktop-portal-hyprland =
if isNixOS then
"${pkgs.xdg-desktop-portal-hyprland}/libexec/xdg-desktop-portal-hyprland"
else
"/usr/lib/xdg-desktop-portal-hyprland";
hyprlock = exe pkgs.hyprlock "hyprlock";
playerctl = exe pkgs.playerctl "playerctl";
in
{
wayland.windowManager.hyprland = {
enable = true;
package = lib.mkIf (!isNixOS) null;
settings = {
"$mainMod" = "SUPER";
"$terminal" = "uwsm app -- kitty";
"$menu" = "hyprlauncher";
"$music_player" = "flatpak run com.spotify.Client";
"$notes" = "obsidian";
"$browser" = "zen-browser";
"$openrgb_color" = "09ce30";
env = [
"XCURSOR_SIZE, 32"
"HYPRCURSOR_SIZE, 32"
"HYPRCURSOR_THEME, theme_phinger-cursors-light"
"XDG_CURRENT_DESKTOP,Hyprland"
];
general = {
gaps_in = 4;
gaps_out = 6;
border_size = 4;
"col.active_border" = "$blue $sky";
"col.inactive_border" = "$overlay1";
resize_on_border = false;
allow_tearing = false;
layout = "dwindle";
};
animations = {
enabled = true;
bezier = [
"easeOutQuint,0.23,1,0.32,1"
"easeInOutCubic,0.65,0.05,0.36,1"
"linear,0,0,1,1"
"almostLinear,0.5,0.5,0.75,1.0"
"quick,0.15,0,0.1,1"
];
animation = [
"global, 1, 7, default"
"border, 1, 3.39, easeOutQuint"
"windows, 1, 2.79, easeOutQuint"
"windowsIn, 1, 2.1, easeOutQuint, popin 87%"
"windowsOut, 1, 1, linear, popin 87%"
"fadeIn, 1, 1.4, almostLinear"
"fadeOut, 1, 1.2, almostLinear"
"fade, 1, 3.03, quick"
"layers, 1, 2, easeOutQuint"
"layersIn, 1, 2, easeOutQuint, fade"
"layersOut, 1, 1, linear, fade"
"fadeLayersIn, 1, 1.4, almostLinear"
"fadeLayersOut, 1, 1.1, almostLinear"
"workspaces, 1, 1.4, quick, slidevert"
"workspacesIn, 1, 0.5, quick, slidevert"
"workspacesOut, 1, 0.5, quick, slidevert"
];
};
decoration = {
rounding = 1;
rounding_power = 2;
active_opacity = 1.0;
inactive_opacity = 1.0;
shadow = {
enabled = true;
range = 1;
render_power = 1;
color = "$overlay0";
};
blur = {
enabled = true;
size = 1;
passes = 1;
vibrancy = 0.1696;
};
};
dwindle = {
pseudotile = true;
preserve_split = true;
};
master = {
new_status = "slave";
allow_small_split = true;
orientation = "left";
};
ecosystem = {
enforce_permissions = true;
};
permission = [
"^${grim}$, screencopy, allow"
"^${hyprlock}$, screencopy, allow"
"^${xdg-desktop-portal-hyprland}$, screencopy, allow"
];
input = {
kb_layout = "pl";
kb_variant = "";
kb_model = "";
kb_options = "caps:escape_shifted_capslock";
kb_rules = "";
follow_mouse = 1;
left_handed = true;
sensitivity = 0;
touchpad = {
natural_scroll = true;
};
};
cursor = {
no_hardware_cursors = true;
inactive_timeout = 5;
warp_on_change_workspace = 1;
zoom_factor = 1.0;
hide_on_key_press = 1;
};
misc = {
force_default_wallpaper = 0;
disable_hyprland_logo = true;
middle_click_paste = false;
};
xwayland = {
force_zero_scaling = 1;
};
quirks = {
prefer_hdr = 1;
};
"exec-once" = [
"wl-paste --type text --watch cliphist store"
"wl-paste --type image --watch cliphist store"
"uwsm app -- ${userConfig.statusBar}"
"swww-daemon"
"openrgb -c $openrgb_color"
];
workspace = [
"1, monitor:DP-2"
"2, monitor:DP-1"
"3, monitor:DP-1"
"4, monitor:DP-1"
"5, monitor:DP-1"
"6, monitor:DP-1"
"7, monitor:HDMI-A-2"
"9, monitor:DP-2"
"10, monitor:DP-2"
"w[tv1], gapsout:0, gapsin:0"
"f[1], gapsout:0, gapsin:0"
];
windowrule = [
# smart gaps
"border_size 0, match:float 0, match:workspace w[tv1]"
"rounding 0, match:float 0, match:workspace w[tv1]"
"border_size 0, match:float 0, match:workspace f[1]"
"rounding 0, match:float 0, match:workspace f[1]"
# general rules
"match:class ^(signal)$, workspace 1"
"match:class ^(vesktop)$, workspace 1 silent"
"match:class ^(chrome-facebook.com__-Default)$, workspace 1"
"match:class ^(zen)$, workspace 2"
"match:class ^(com.github.IsmaelMartinez.teams_for_linux)$, workspace 2"
"match:class ^(FreeTube)$, workspace 2"
"match:class ^(brave-x.com__-Default)$, workspace 2"
"match:class ^(chrome-www.inoreader.com__all_articles-Default)$, workspace 2"
"match:class ^(chrome-mail.proton.me__u_0_inbox.com-Default)$, workspace 2"
"match:class ^(chrome-app.tuta.com__-Default)$, workspace 2"
"match:class ^(steam)$, workspace 3 silent"
"match:class ^(heroic)$, workspace 3"
"match:class ^(net.lutris.Lutris)$, workspace 3"
"match:class ^(rpcs3)$, workspace 3"
"match:class ^(winboat)$, workspace 5"
"match:class ^(obsidian)$, workspace 6"
"match:class ^(gimp)$, workspace 8"
"match:class .*potify, workspace 9 silent"
"match:class ^(com.obsproject.Studio)$, workspace 10"
];
bind =
# hyprlang
[
# background
"$mainMod, V, exec, cliphist list | hyprlauncher -m | cliphist decode | wl-copy"
"$mainMod ALT_L, V, exec, cliphist wipe && notify-send \"Clipboard\" \"Clipboard cleared!\""
# power management
"$mainMod L_SHIFT ctrl, l, exec, hyprlock"
"$mainMod L_SHIFT ctrl, r, exec, openrgb -c black && systemctl reboot"
"$mainMod L_SHIFT ctrl, p, exec, openrgb -c black && systemctl poweroff"
"$mainMod L_SHIFT ctrl, s, exec, openrgb -c black && pidof hyprlock || sleep 1 && systemctl sleep"
"$mainMod L_SHIFT ctrl, m, exec, uwsm stop"
# zoom
"$mainMod alt, 0, exec, hyprctl -q keyword cursor:zoom_factor 1"
# focus management
"$mainMod, h, movefocus, l"
"$mainMod, l, movefocus, r"
"$mainMod, k, movefocus, u"
"$mainMod, j, movefocus, d"
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
"$mainMod L_SHIFT, right, exec, hyprctl dispatch movecurrentworkspacetomonitor +1"
"$mainMod L_SHIFT, left, exec, hyprctl dispatch movecurrentworkspacetomonitor -1"
# workspace management
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"
"$mainMod, 3, workspace, 3"
"$mainMod, 4, workspace, 4"
"$mainMod, 5, workspace, 5"
"$mainMod, 6, workspace, 6"
"$mainMod, 7, workspace, 7"
"$mainMod, 8, workspace, 8"
"$mainMod, 9, workspace, 9"
"$mainMod, 0, workspace, 10"
# window management
"$mainMod SHIFT, 1, movetoworkspace, 1"
"$mainMod SHIFT, 2, movetoworkspace, 2"
"$mainMod SHIFT, 3, movetoworkspace, 3"
"$mainMod SHIFT, 4, movetoworkspace, 4"
"$mainMod SHIFT, 5, movetoworkspace, 5"
"$mainMod SHIFT, 6, movetoworkspace, 6"
"$mainMod SHIFT, 7, movetoworkspace, 7"
"$mainMod SHIFT, 8, movetoworkspace, 8"
"$mainMod SHIFT, 9, movetoworkspace, 9"
"$mainMod SHIFT, 0, movetoworkspace, 10"
# special workspace
"$mainMod, TAB, togglespecialworkspace, magic"
"$mainMod SHIFT, TAB, movetoworkspace, special:magic"
# layout
"$mainMod, S, layoutmsg, swapwithmaster"
"$mainMod, n, layoutmsg, swapnext"
"$mainMod, p, layoutmsg, swapprev"
# apps
"$mainMod, M, exec, [float] waypaper"
"$mainMod, RETURN, exec, [workspace 4] $terminal"
"$mainMod CONTROL_L, RETURN, exec, $terminal"
"$mainMod, space , exec, $menu"
"$mainMod ALT_L, c, exec, openrgb -c $openrgb_color"
"$mainMod Control_L, s, exec,[workspace 1] signal-desktop --password-store=\"kwallet6\""
"$mainMod Control_L, s, focuswindow, class:^(signal)$"
"$mainMod Control_L, s, focuswindow, title:^(signal)$"
"$mainMod Control_L, v, sendshortcut, ctrl, k, class:^(vesktop)$"
"$mainMod Control_L, v, exec, uwsm app -- vesktop"
"$mainMod Control_L, v, focuswindow, class:^(vesktop)$"
"$mainMod Control_L, g, exec, uwsm app -- steam"
"$mainMod Control_L, g, focuswindow, class:^(steam)$"
"$mainMod Control_L, b, exec, uwsm app -- $browser"
"$mainMod Control_L, b, focuswindow, class:^(zen)$"
"$mainMod Control_L, n, exec, [workspace 6] uwsm app -- $notes"
"$mainMod Control_L, n, focuswindow, class:^(obsidian)$"
"$mainMod Control_L, m, exec, [workspace 9] uwsm app -- $music_player"
"$mainMod Control_L, f, exec, uwsm app -- freetube"
"$mainMod Control_L, f, focuswindow, class:^(freetube)$"
"$mainMod Control_L, x, exec, uwsm app -- ~/.nix-profile/share/applications/x.desktop"
"$mainMod Control_L, x, focuswindow, class:^(chrome-x.com__-Default)$"
"$mainMod CONTROL_L L_SHIFT, B, exec, killall ashell && uwsm app -- ashell"
];
binde = [
"$mainMod alt, equal, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 1.1}')"
"$mainMod alt, minus, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 0.9}')"
"$mainMod L_SHIFT, l, resizeactive, 10 0"
"$mainMod L_SHIFT, h, resizeactive, -10 0"
"$mainMod L_SHIFT, k, resizeactive, 0 -10"
"$mainMod L_SHIFT, j, resizeactive, 0 10"
];
bindel = [
",XF86MonBrightnessDown, exec, hyprctl hyprsunset gamma -10"
",XF86MonBrightnessUp, exec, hyprctl hyprsunset gamma +10"
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle"
];
bindt = [
", PRINT, exec, ${pkgs.writeShellScript "screenshot-region" ''
MONITOR=$(hyprctl monitors -j | ${jq} -r '.[] | select(.focused == true) | .name')
${grim} -o "$MONITOR" - | ${satty} -f -
''}"
"$mainMod, PRINT, exec, ${pkgs.writeShellScript "screenshot-fullscreen" ''
target_path="$HOME/${userConfig.pathConfig.screenshot}/$(date +'%d-%m-%Y_%H-%M-%S').png"
mkdir -p "$(dirname "$target_path")"
MONITOR=$(hyprctl monitors -j | ${jq} -r '.[] | select(.focused == true) | .name')
${grim} -o "$MONITOR" "$target_path"
${wl_copy} < "$target_path"
${notify_send} -i "$target_path" -u low -a "Screenshot" "Screenshot fullscreen" "Saved and copied"
''}"
"alt_l, PRINT, exec, ${pkgs.writeShellScript "screenshot-window" ''
target_path="$HOME/${userConfig.pathConfig.screenshot}/$(date +'%d-%m-%Y_%H-%M-%S').png"
mkdir -p "$(dirname "$target_path")"
GEOMETRY=$(hyprctl activewindow -j | ${jq} -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')
${grim} -g "$GEOMETRY" "$target_path"
${wl_copy} < "$target_path"
${notify_send} -i "$target_path" -u low -a "Screenshot" "Screenshot window" "Saved and copied"
''}"
", PAUSE, exec, ${playerctl} play-pause"
"$mainMod, PAUSE, exec, ${playerctl} play-pause --player spotify"
];
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
bindd = [
"$mainMod, F, Make app fullscreen, fullscreen"
"$mainMod, T, Toggle floating, togglefloating"
"$mainMod, P, Toggle pseudo, pseudo"
"$mainMod, S, Toggle split, togglesplit"
"$mainMod, Q, Kill active window, killactive"
];
};
extraConfig =
#hyprlang
''
windowrule {
name = pavucontrol-float
match:class = ^(org.pulseaudio.pavucontrol)$
float = 1
size = 80% 60%
stay_focused = 1
center = 1
pin = 1
}
windowrule {
name = share-picker-float
match:class = ^(hyprland-share-picker)$
float = 1
center = 1
pin = 1
}
windowrule {
name = steam-friends-list
match:title = ^(Lista znajomych)$
float = 1
center = 1
size = 40% 60%
}
windowrule {
name = vesktop-dont-focus-pls
match:class = ^(vesktop)$
no_initial_focus = 1
focus_on_activate = 0
render_unfocused = 1
}
windowrule {
name = xdg-desktop-portal-gtk
match:class = ^(xdg-desktop-portal-gtk)$
float = 1
center = 1
size = 55% 50%
}
windowrule {
name = picture-in-picture
match:title = ^(Obraz w obrazie)$
pseudo = 1
no_initial_focus = 1
}
windowrule {
name = login-google-zen
match:title = ^(Logowanie Konta Google Zen Browser)$
float = 1
center = 1
}
windowrule {
name = prism-launcher
match:class = ^(org.prismlauncher.PrismLauncher)$
workspace = 3
}
windowrule {
name = gamescope
match:class = ^(gamescope)$
workspace = 3
}
monitorv2 {
output = DP-1
mode = 2560x1440@180.06
position = 0x0
scale = 1
vrr = 1
supports_wide_color = 1
bitdepth = 10
sdr_min_luminance = 0.005
sdr_max_luminance = 220
cm = hdr
supports_hdr = 1
}
monitorv2 {
output = DP-2
mode = 1920x1080@144
position = auto-left
vrr = 1
scale = 1.0
}
monitorv2 {
output = HDMI-A-2
mode = highres
position = auto-up
scale = 1
}
# for laptop
monitorv2 {
output = eDP-1
mode = highres
position = 0x0
scale = 1
}
monitorv2 {
output =
position = auto-right
scale = 1
}
'';
};
} }

View File

@@ -0,0 +1,10 @@
{ ... }:
{
imports = [
./apps/communicators.nix
./apps/browser.nix
./apps/games.nix
./apps/misc.nix
];
}

View File

@@ -0,0 +1,47 @@
{ ... }:
{
wayland.windowManager.hyprland = {
settings = {
windowrule = [
"match:class ^(chrome-facebook.com__-Default)$, workspace 1"
"match:class ^(zen)$, workspace 2"
"match:class ^(zen-beta)$, workspace 2"
"match:class ^(com.github.IsmaelMartinez.teams_for_linux)$, workspace 2"
"match:class ^(FreeTube)$, workspace 2"
"match:class ^(brave-x.com__-Default)$, workspace 2"
"match:class ^(chrome-www.inoreader.com__all_articles-Default)$, workspace 2"
"match:class ^(chrome-mail.proton.me__u_0_inbox.com-Default)$, workspace 2"
"match:class ^(chrome-app.tuta.com__-Default)$, workspace 2"
];
bind = [
"$mainMod Control_L, b, exec, uwsm app -- $browser"
"$mainMod Control_L, b, focuswindow, class:^(zen)$"
"$mainMod Control_L, f, exec, uwsm app -- freetube"
"$mainMod Control_L, f, focuswindow, class:^(freetube)$"
"$mainMod Control_L, x, exec, uwsm app -- ~/.nix-profile/share/applications/x.desktop"
"$mainMod Control_L, x, focuswindow, class:^(chrome-x.com__-Default)$"
];
};
extraConfig =
#hyprlang
''
windowrule {
name = picture-in-picture
match:title = ^(Obraz w obrazie)$
pseudo = 1
no_initial_focus = 1
}
windowrule {
name = login-google-zen
match:title = ^(Logowanie Konta Google Zen Browser)$
float = 1
center = 1
}
'';
};
}

View File

@@ -0,0 +1,36 @@
{ ... }:
{
wayland.windowManager.hyprland = {
settings = {
windowrule = [
# general rules
"match:class ^(signal)$, workspace 1"
"match:class ^(vesktop)$, workspace 1 silent"
];
bind = [
"$mainMod Control_L, s, exec,[workspace 1] signal-desktop --password-store=\"kwallet6\""
"$mainMod Control_L, s, focuswindow, class:^(signal)$"
"$mainMod Control_L, s, focuswindow, title:^(signal)$"
"$mainMod Control_L, v, sendshortcut, ctrl, k, class:^(vesktop)$"
"$mainMod Control_L, v, exec, uwsm app -- vesktop"
"$mainMod Control_L, v, focuswindow, class:^(vesktop)$"
];
};
extraConfig =
#hyprlang
''
windowrule {
name = vesktop-dont-focus-pls
match:class = ^(vesktop)$
no_initial_focus = 1
focus_on_activate = 0
render_unfocused = 1
}
'';
};
}

View File

@@ -0,0 +1,42 @@
{ ... }:
{
wayland.windowManager.hyprland = {
settings = {
windowrule = [
"match:class ^(steam)$, workspace 3 silent"
"match:class ^(heroic)$, workspace 3"
"match:class ^(net.lutris.Lutris)$, workspace 3"
"match:class ^(rpcs3)$, workspace 3"
];
bind = [
"$mainMod Control_L, g, exec, uwsm app -- steam"
"$mainMod Control_L, g, focuswindow, class:^(steam)$"
];
};
extraConfig =
#hyprlang
''
windowrule {
name = steam-friends-list
match:title = ^(Lista znajomych)$
float = 1
center = 1
size = 40% 60%
}
windowrule {
name = prism-launcher
match:class = ^(org.prismlauncher.PrismLauncher)$
workspace = 3
}
windowrule {
name = gamescope
match:class = ^(gamescope)$
workspace = 3
}
'';
};
}

View File

@@ -0,0 +1,61 @@
{ ... }:
{
wayland.windowManager.hyprland = {
settings = {
windowrule = [
# general rules
"match:class ^(winboat)$, workspace 5"
"match:class ^(qemu)$, workspace 5"
"match:class ^(obsidian)$, workspace 6"
"match:class ^(gimp)$, workspace 8"
"match:class .*potify, workspace 9 silent"
"match:class ^(com.obsproject.Studio)$, workspace 10"
];
bind = [
"$mainMod, M, exec, [float] waypaper"
"$mainMod, RETURN, exec, [workspace 4] $terminal"
"$mainMod CONTROL_L, RETURN, exec, $terminal"
"$mainMod, space , exec, $menu"
"$mainMod ALT_L, c, exec, openrgb -c $openrgb_color"
"$mainMod Control_L, n, exec, [workspace 6] uwsm app -- $notes"
"$mainMod Control_L, n, focuswindow, class:^(obsidian)$"
"$mainMod Control_L, m, exec, [workspace 9] uwsm app -- $music_player"
"$mainMod CONTROL_L L_SHIFT, B, exec, killall ashell && uwsm app -- ashell"
];
};
extraConfig =
#hyprlang
''
windowrule {
name = pavucontrol-float
match:class = ^(org.pulseaudio.pavucontrol)$
float = 1
size = 80% 60%
stay_focused = 1
center = 1
pin = 1
}
windowrule {
name = share-picker-float
match:class = ^(hyprland-share-picker)$
float = 1
center = 1
pin = 1
}
windowrule {
name = xdg-desktop-portal-gtk
match:class = ^(xdg-desktop-portal-gtk)$
float = 1
center = 1
size = 55% 50%
}
'';
};
}

View File

@@ -0,0 +1,19 @@
{
userConfig,
pkgs,
...
}:
let
uwsm_run = "${pkgs.uwsm}/bin/uwsm app";
in
{
wayland.windowManager.hyprland.settings = {
"exec-once" = [
"wl-paste --type text --watch cliphist store"
"wl-paste --type image --watch cliphist store"
"${uwsm_run} -- ${userConfig.statusBar}"
"awww-daemon"
"openrgb -c $openrgb_color"
];
};
}

View File

@@ -0,0 +1,40 @@
{
userConfig,
pkgs,
...
}:
let
uwsm_run = "${pkgs.uwsm}/bin/uwsm app";
in
{
wayland.windowManager.hyprland = {
settings = {
"$mainMod" = "SUPER";
"$terminal" = "${uwsm_run} -- ${pkgs.kitty}/bin/kitty";
"$menu" = "${pkgs.hyprlauncher}/bin/hyprlauncher";
"$music_player" =
if userConfig.isNixOS then "${pkgs.spotify}/bin/spotify" else "flatpak run com.spotify.Client";
"$notes" = "${pkgs.obsidian}/bin/obsidian";
"$browser" = if userConfig.isNixOS then "zen-beta" else "zen-browser"; # beta on nixos
"$openrgb_color" = "09ce30";
env = [
"XCURSOR_SIZE, 32"
"HYPRCURSOR_SIZE, 32"
"HYPRCURSOR_THEME, theme_phinger-cursors-light"
"XDG_CURRENT_DESKTOP,Hyprland"
];
general = {
gaps_in = 4;
gaps_out = 6;
border_size = 4;
"col.active_border" = "$blue $sky";
"col.inactive_border" = "$overlay1";
resize_on_border = false;
allow_tearing = false;
layout = "scrolling";
};
};
};
}

View File

@@ -0,0 +1,110 @@
{
userConfig,
pkgs,
...
}:
let
exe = pkg: bin: if userConfig.isNixOS then "${pkg}/bin/${bin}" else "/usr/bin/${bin}";
jq = exe pkgs.jq "jq";
grim = exe pkgs.grim "grim";
satty = exe pkgs.satty "satty";
wl_copy = exe pkgs.wl-clipboard "wl-copy";
notify_send = exe pkgs.libnotify "notify-send";
playerctl = exe pkgs.playerctl "playerctl";
xdg-desktop-portal-hyprland =
if userConfig.isNixOS then
"${pkgs.xdg-desktop-portal-hyprland}/libexec/xdg-desktop-portal-hyprland"
else
"/usr/lib/xdg-desktop-portal-hyprland";
in
{
wayland.windowManager.hyprland = {
enable = true;
package =
if userConfig.isNixOS then
# inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland
pkgs.hyprland
else
null;
#portalPackage = lib.mkIf (userConfig.isNixOS
#) inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
xwayland.enable = true;
settings = {
ecosystem = {
enforce_permissions = true;
};
permission = [
"^${pkgs.grim}/bin/grim$, screencopy, allow"
"^${pkgs.hyprlock}/bin/hyprlock$, screencopy, allow"
"^${xdg-desktop-portal-hyprland}$, screencopy, allow"
];
misc = {
force_default_wallpaper = 0;
disable_hyprland_logo = true;
middle_click_paste = false;
};
xwayland = {
force_zero_scaling = 1;
};
quirks = {
prefer_hdr = 1;
};
windowrule = [
# smart gaps
"border_size 0, match:float 0, match:workspace w[tv1]"
"rounding 0, match:float 0, match:workspace w[tv1]"
"border_size 0, match:float 0, match:workspace f[1]"
"rounding 0, match:float 0, match:workspace f[1]"
];
bind = [
"$mainMod, V, exec, cliphist list | hyprlauncher -m | cliphist decode | wl-copy"
"$mainMod ALT_L, V, exec, cliphist wipe && notify-send \"Clipboard\" \"Clipboard cleared!\""
"$mainMod L_SHIFT ctrl, l, exec, hyprlock"
"$mainMod L_SHIFT ctrl, r, exec, openrgb -c black && systemctl reboot"
"$mainMod L_SHIFT ctrl, p, exec, openrgb -c black && systemctl poweroff"
"$mainMod L_SHIFT ctrl, s, exec, openrgb -c black && pidof hyprlock || sleep 1 && systemctl sleep"
"$mainMod L_SHIFT ctrl, m, exec, uwsm stop"
];
bindt = [
", PRINT, exec, ${pkgs.writeShellScript "screenshot-region" ''
MONITOR=$(hyprctl monitors -j | ${jq} -r '.[] | select(.focused == true) | .name')
${grim} -o "$MONITOR" - | ${satty} -f -
''}"
"$mainMod, PRINT, exec, ${pkgs.writeShellScript "screenshot-fullscreen" ''
target_path="$HOME/${userConfig.pathConfig.screenshot}/$(date +'%d-%m-%Y_%H-%M-%S').png"
mkdir -p "$(dirname "$target_path")"
MONITOR=$(hyprctl monitors -j | ${jq} -r '.[] | select(.focused == true) | .name')
${grim} -o "$MONITOR" "$target_path"
${wl_copy} < "$target_path"
${notify_send} -i "$target_path" -u low -a "Screenshot" "Screenshot fullscreen" "Saved and copied"
''}"
"alt_l, PRINT, exec, ${pkgs.writeShellScript "screenshot-window" ''
target_path="$HOME/${userConfig.pathConfig.screenshot}/$(date +'%d-%m-%Y_%H-%M-%S').png"
mkdir -p "$(dirname "$target_path")"
GEOMETRY=$(hyprctl activewindow -j | ${jq} -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')
${grim} -g "$GEOMETRY" "$target_path"
${wl_copy} < "$target_path"
${notify_send} -i "$target_path" -u low -a "Screenshot" "Screenshot window" "Saved and copied"
''}"
", PAUSE, exec, ${playerctl} play-pause"
"$mainMod, PAUSE, exec, ${playerctl} play-pause --player spotify"
];
};
};
}

View File

@@ -0,0 +1,89 @@
{ ... }:
{
wayland.windowManager.hyprland = {
settings = {
input = {
kb_layout = "pl";
kb_variant = "";
kb_model = "";
kb_options = "caps:escape_shifted_capslock";
kb_rules = "";
follow_mouse = 1;
left_handed = false;
sensitivity = 0;
touchpad = {
natural_scroll = true;
};
};
# mouse has super high dpi so lover the sensitivity!
device = {
name = "corsair-corsair-m75-gaming-mouse";
sensitivity = -0.5;
};
cursor = {
no_hardware_cursors = true;
inactive_timeout = 5;
warp_on_change_workspace = 1;
zoom_factor = 1.0;
hide_on_key_press = 1;
};
bindel = [
",XF86MonBrightnessDown, exec, hyprctl hyprsunset gamma -10"
",XF86MonBrightnessUp, exec, hyprctl hyprsunset gamma +10"
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle"
];
};
extraConfig =
#hyprlang
''
monitorv2 {
output = DP-1
mode = 2560x1440@180.06
position = 0x0
scale = 1
vrr = 1
supports_wide_color = 1
bitdepth = 10
sdr_min_luminance = 0.005
sdr_max_luminance = 220
cm = hdr
supports_hdr = 1
}
monitorv2 {
output = DP-2
mode = 1920x1080@144
position = auto-left
vrr = 1
scale = 1.0
}
monitorv2 {
output = HDMI-A-2
mode = highres
position = auto-up
scale = 1
}
# for laptop
monitorv2 {
output = eDP-1
mode = highres
position = 0x0
scale = 1
}
monitorv2 {
output =
position = auto-right
scale = 1
}
'';
};
}

View File

@@ -0,0 +1,78 @@
{
...
}:
{
wayland.windowManager.hyprland.settings = {
dwindle = {
preserve_split = true;
};
master = {
new_status = "slave";
allow_small_split = true;
orientation = "left";
};
bind = [
"$mainMod, h, movefocus, l"
"$mainMod, l, movefocus, r"
"$mainMod, k, movefocus, u"
"$mainMod, j, movefocus, d"
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
"$mainMod L_SHIFT, right, exec, hyprctl dispatch movecurrentworkspacetomonitor +1"
"$mainMod L_SHIFT, left, exec, hyprctl dispatch movecurrentworkspacetomonitor -1"
# workspace management
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"
"$mainMod, 3, workspace, 3"
"$mainMod, 4, workspace, 4"
"$mainMod, 5, workspace, 5"
"$mainMod, 6, workspace, 6"
"$mainMod, 7, workspace, 7"
"$mainMod, 8, workspace, 8"
"$mainMod, 9, workspace, 9"
"$mainMod, 0, workspace, 10"
# window management
"$mainMod SHIFT, 1, movetoworkspace, 1"
"$mainMod SHIFT, 2, movetoworkspace, 2"
"$mainMod SHIFT, 3, movetoworkspace, 3"
"$mainMod SHIFT, 4, movetoworkspace, 4"
"$mainMod SHIFT, 5, movetoworkspace, 5"
"$mainMod SHIFT, 6, movetoworkspace, 6"
"$mainMod SHIFT, 7, movetoworkspace, 7"
"$mainMod SHIFT, 8, movetoworkspace, 8"
"$mainMod SHIFT, 9, movetoworkspace, 9"
"$mainMod SHIFT, 0, movetoworkspace, 10"
# special workspace
"$mainMod, TAB, togglespecialworkspace, magic"
"$mainMod SHIFT, TAB, movetoworkspace, special:magic"
# layout
"$mainMod, S, layoutmsg, swapwithmaster"
"$mainMod, n, layoutmsg, swapnext"
"$mainMod, p, layoutmsg, swapprev"
];
binde = [
"$mainMod alt, equal, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 1.1}')"
"$mainMod alt, minus, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 0.9}')"
"$mainMod alt, 0, exec, hyprctl -q keyword cursor:zoom_factor 1"
"$mainMod L_SHIFT, l, resizeactive, 10 0"
"$mainMod L_SHIFT, h, resizeactive, -10 0"
"$mainMod L_SHIFT, k, resizeactive, 0 -10"
"$mainMod L_SHIFT, j, resizeactive, 0 10"
];
bindd = [
"$mainMod, F, Make app fullscreen, fullscreen"
"$mainMod, T, Toggle floating, togglefloating"
"$mainMod, Q, Kill active window, killactive"
];
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
};
}

View File

@@ -0,0 +1,58 @@
{
userConfig,
...
}:
{
wayland.windowManager.hyprland = {
settings = {
animations = {
enabled = userConfig.animations;
bezier = [
"easeOutQuint,0.23,1,0.32,1"
"easeInOutCubic,0.65,0.05,0.36,1"
"linear,0,0,1,1"
"almostLinear,0.5,0.5,0.75,1.0"
"quick,0.15,0,0.1,1"
];
animation = [
"global, 1, 7, default"
"border, 1, 3.39, easeOutQuint"
"windows, 1, 2.79, easeOutQuint"
"windowsIn, 1, 2.1, easeOutQuint, popin 87%"
"windowsOut, 1, 1, linear, popin 87%"
"fadeIn, 1, 1.4, almostLinear"
"fadeOut, 1, 1.2, almostLinear"
"fade, 1, 3.03, quick"
"layers, 1, 2, easeOutQuint"
"layersIn, 1, 2, easeOutQuint, fade"
"layersOut, 1, 1, linear, fade"
"fadeLayersIn, 1, 1.4, almostLinear"
"fadeLayersOut, 1, 1.1, almostLinear"
"workspaces, 1, 1.4, quick, slidevert"
"workspacesIn, 1, 0.5, quick, slidevert"
"workspacesOut, 1, 0.5, quick, slidevert"
];
};
decoration = {
rounding = 1;
rounding_power = 2;
active_opacity = 1.0;
inactive_opacity = 1.0;
shadow = {
enabled = true;
range = 1;
render_power = 1;
color = "$overlay0";
};
blur = {
enabled = true;
size = 1;
passes = 1;
vibrancy = 0.1696;
};
};
};
};
}

View File

@@ -0,0 +1,20 @@
{ ... }:
{
wayland.windowManager.hyprland.settings = {
workspace = [
"1, monitor:DP-2"
"1, layout: dwindle"
"2, monitor:DP-1"
"3, monitor:DP-1"
"4, monitor:DP-1"
"5, monitor:DP-1"
"6, monitor:DP-1"
"7, monitor:HDMI-A-2"
"9, monitor:DP-2"
"10, monitor:DP-2"
"w[tv1], gapsout:0, gapsin:0"
"f[1], gapsout:0, gapsin:0"
];
};
}

View File

@@ -1,9 +1,9 @@
{ isNixOS, lib, ... }: { userConfig, lib, ... }:
{ {
services.hyprlauncher = { services.hyprlauncher = {
enable = true; enable = true;
package = lib.mkIf (!isNixOS) null; package = lib.mkIf (!userConfig.isNixOS) null;
settings = { settings = {
cache.enabled = true; cache.enabled = true;

View File

@@ -1,9 +1,9 @@
{ isNixOS, lib, ... }: { userConfig, lib, ... }:
{ {
programs.hyprlock = { programs.hyprlock = {
enable = true; enable = true;
package = lib.mkIf (!isNixOS) null; package = lib.mkIf (!userConfig.isNixOS) null;
settings = { settings = {
"$font" = "Monospace"; "$font" = "Monospace";

View File

@@ -1,5 +1,5 @@
{ {
isNixOS, userConfig,
pkgs, pkgs,
... ...
}: }:
@@ -8,7 +8,7 @@
services.hyprsunset = { services.hyprsunset = {
enable = true; enable = true;
package = package =
if isNixOS then if userConfig.isNixOS then
pkgs.hyprsunset pkgs.hyprsunset
else else
(pkgs.writeShellScriptBin "hyprsunset" "exec /usr/bin/hyprsunset \"$@\""); (pkgs.writeShellScriptBin "hyprsunset" "exec /usr/bin/hyprsunset \"$@\"");

View File

@@ -1,23 +1,68 @@
{ pkgs, ... }:
{ {
home.packages = with pkgs; [ pkgs,
libnotify pkgs-stable,
cliphist lib,
gh userConfig,
trash-cli ...
pandoc }:
fzf
eza let
fastfetch rstudio-with-packages = pkgs-stable.rstudioWrapper.override {
fd # we use stable, because unstable is broken rn
duf packages = with pkgs-stable.rPackages; [
gdu # additional packages for rstudio here
jq ggplot2
tealdeer ];
grim };
slurp in
bc {
nh home.packages =
]; with pkgs;
[
# Cli stuff
libnotify
cliphist
gh
trash-cli
pandoc
fzf
eza
fastfetch
fd
duf
gdu
jq
tealdeer
grim
slurp
bc
nh
runc
# Music
spotify
# Gui stuff
homebank
gimp
rstudio-with-packages
# Messaging
vesktop
signal-desktop
]
++ lib.optionals userConfig.gaming [
mangohud
prismlauncher
heroic
# lutris
rpcs3
pcsx2
];
xdg.configFile."containers/containers.conf".text = ''
[engine]
runtime = "runc"
'';
} }

View File

@@ -1,4 +1,4 @@
{ ... }: { userConfig, ... }:
let let
browserFallback = [ browserFallback = [
@@ -52,12 +52,14 @@ in
enable = true; enable = true;
createDirectories = true; createDirectories = true;
desktop = null; desktop = null;
documents = "$HOME/Dokumenty"; documents = baseNameOf userConfig.pathConfig.documents;
download = "$HOME/Pobrane"; download = baseNameOf userConfig.pathConfig.downloads;
music = null; music = null;
pictures = "$HOME/Obrazy"; pictures = baseNameOf userConfig.pathConfig.pictures;
videos = "$HOME/Video"; videos = baseNameOf userConfig.pathConfig.video;
projects = baseNameOf userConfig.pathConfig.projects;
templates = null; templates = null;
publicShare = null; publicShare = null;
setSessionVariables = true;
}; };
} }

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
rsync -avh --no-links --delete --exclude=.* --exclude=dyski /home/szymon/ /mnt/backup/home/szymon/ rsync -avh --no-links --delete --exclude=.* --exclude=dyski /home/szymon/ /mnt/uwu_backup/home/szymon/
rsync -avh --no-links --delete --exclude=.* --exclude=dyski /home/szymon/ /mnt/backup_wd/home/szymon/ rsync -avh --no-links --delete --exclude=.* --exclude=dyski /home/szymon/ /mnt/wd_backup/home/szymon/