| author | |
| committer | |
| log | fa74ed1f5790f39b336d899857206e47c31160cb |
| tree | 78d0cf9c94098d24a8bf844facaf447ed4a32188 |
| parent | 6188561b16c8653053cf504aeae3e9411eb3050e |
| parent | 4ce547cd1090c98735622fc88e72ab9bf7e34b5a |
| signature | Commit is signed but in an unrecognized format. |
43 files changed, 2791 insertions(+), 277 deletions(-)
flake.lock+675-100| ... | @@ -9,11 +9,11 @@ | ... | @@ -9,11 +9,11 @@ |
| 9 | ] | 9 | ] |
| 10 | }, | 10 | }, |
| 11 | "locked": { | 11 | "locked": { |
| 12 | "lastModified": 1755807717, | 12 | "lastModified": 1767990299, |
| 13 | "narHash": "sha256-x/IcOa+p9VFYlwXmuNhbZ8ce9As24rqy6uABv+tKacU=", | 13 | "narHash": "sha256-Jz+cp9Ln4++1XiKw9KvZEM2dJ9AdOvayk97ybi9g7zc=", |
| 14 | "owner": "tadfisher", | 14 | "owner": "tadfisher", |
| 15 | "repo": "android-nixpkgs", | 15 | "repo": "android-nixpkgs", |
| 16 | "rev": "4316f29f7f3b34c41f2639ae190022fbed60b850", | 16 | "rev": "449f2cadee7cb7b665aea209a67f8ecf30176653", |
| 17 | "type": "github" | 17 | "type": "github" |
| 18 | }, | 18 | }, |
| 19 | "original": { | 19 | "original": { |
| ... | @@ -38,11 +38,11 @@ | ... | @@ -38,11 +38,11 @@ |
| 38 | "sf-pro": "sf-pro" | 38 | "sf-pro": "sf-pro" |
| 39 | }, | 39 | }, |
| 40 | "locked": { | 40 | "locked": { |
| 41 | "lastModified": 1752383772, | 41 | "lastModified": 1758228441, |
| 42 | "narHash": "sha256-I5Y0gUJS85lGEuuKr+tKSRUpJWeKavE+WmiAHRcyBaU=", | 42 | "narHash": "sha256-3mA9oFuhJ1EHyhPd17g/EuJi4jDYPGhyxkEitdh3Kmc=", |
| 43 | "owner": "Lyndeno", | 43 | "owner": "Lyndeno", |
| 44 | "repo": "apple-fonts.nix", | 44 | "repo": "apple-fonts.nix", |
| 45 | "rev": "875c694d7f0ec2020d7511264907a1f0e3262931", | 45 | "rev": "aba9944f6606a69ebedf7bfb723316139eec3f72", |
| 46 | "type": "github" | 46 | "type": "github" |
| 47 | }, | 47 | }, |
| 48 | "original": { | 48 | "original": { |
| ... | @@ -51,6 +51,39 @@ | ... | @@ -51,6 +51,39 @@ |
| 51 | "type": "github" | 51 | "type": "github" |
| 52 | } | 52 | } |
| 53 | }, | 53 | }, |
| 54 | "aquamarine": { | ||
| 55 | "inputs": { | ||
| 56 | "hyprutils": [ | ||
| 57 | "hyprland", | ||
| 58 | "hyprutils" | ||
| 59 | ], | ||
| 60 | "hyprwayland-scanner": [ | ||
| 61 | "hyprland", | ||
| 62 | "hyprwayland-scanner" | ||
| 63 | ], | ||
| 64 | "nixpkgs": [ | ||
| 65 | "hyprland", | ||
| 66 | "nixpkgs" | ||
| 67 | ], | ||
| 68 | "systems": [ | ||
| 69 | "hyprland", | ||
| 70 | "systems" | ||
| 71 | ] | ||
| 72 | }, | ||
| 73 | "locked": { | ||
| 74 | "lastModified": 1767024902, | ||
| 75 | "narHash": "sha256-sMdk6QkMDhIOnvULXKUM8WW8iyi551SWw2i6KQHbrrU=", | ||
| 76 | "owner": "hyprwm", | ||
| 77 | "repo": "aquamarine", | ||
| 78 | "rev": "b8a0c5ba5a9fbd2c660be7dd98bdde0ff3798556", | ||
| 79 | "type": "github" | ||
| 80 | }, | ||
| 81 | "original": { | ||
| 82 | "owner": "hyprwm", | ||
| 83 | "repo": "aquamarine", | ||
| 84 | "type": "github" | ||
| 85 | } | ||
| 86 | }, | ||
| 54 | "darwin": { | 87 | "darwin": { |
| 55 | "inputs": { | 88 | "inputs": { |
| 56 | "nixpkgs": [ | 89 | "nixpkgs": [ |
| ... | @@ -58,11 +91,11 @@ | ... | @@ -58,11 +91,11 @@ |
| 58 | ] | 91 | ] |
| 59 | }, | 92 | }, |
| 60 | "locked": { | 93 | "locked": { |
| 61 | "lastModified": 1755825449, | 94 | "lastModified": 1767718503, |
| 62 | "narHash": "sha256-XkiN4NM9Xdy59h69Pc+Vg4PxkSm9EWl6u7k6D5FZ5cM=", | 95 | "narHash": "sha256-V+VkFs0aSG0ca8p/N3gib7FAf4cq9jyr5Gm+ZBrHQpo=", |
| 63 | "owner": "lnl7", | 96 | "owner": "lnl7", |
| 64 | "repo": "nix-darwin", | 97 | "repo": "nix-darwin", |
| 65 | "rev": "8df64f819698c1fee0c2969696f54a843b2231e8", | 98 | "rev": "9f48ffaca1f44b3e590976b4da8666a9e86e6eb1", |
| 66 | "type": "github" | 99 | "type": "github" |
| 67 | }, | 100 | }, |
| 68 | "original": { | 101 | "original": { |
| ... | @@ -80,11 +113,11 @@ | ... | @@ -80,11 +113,11 @@ |
| 80 | ] | 113 | ] |
| 81 | }, | 114 | }, |
| 82 | "locked": { | 115 | "locked": { |
| 83 | "lastModified": 1741473158, | 116 | "lastModified": 1764011051, |
| 84 | "narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=", | 117 | "narHash": "sha256-M7SZyPZiqZUR/EiiBJnmyUbOi5oE/03tCeFrTiUZchI=", |
| 85 | "owner": "numtide", | 118 | "owner": "numtide", |
| 86 | "repo": "devshell", | 119 | "repo": "devshell", |
| 87 | "rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0", | 120 | "rev": "17ed8d9744ebe70424659b0ef74ad6d41fc87071", |
| 88 | "type": "github" | 121 | "type": "github" |
| 89 | }, | 122 | }, |
| 90 | "original": { | 123 | "original": { |
| ... | @@ -94,6 +127,22 @@ | ... | @@ -94,6 +127,22 @@ |
| 94 | } | 127 | } |
| 95 | }, | 128 | }, |
| 96 | "flake-compat": { | 129 | "flake-compat": { |
| 130 | "flake": false, | ||
| 131 | "locked": { | ||
| 132 | "lastModified": 1767039857, | ||
| 133 | "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", | ||
| 134 | "owner": "NixOS", | ||
| 135 | "repo": "flake-compat", | ||
| 136 | "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", | ||
| 137 | "type": "github" | ||
| 138 | }, | ||
| 139 | "original": { | ||
| 140 | "owner": "NixOS", | ||
| 141 | "repo": "flake-compat", | ||
| 142 | "type": "github" | ||
| 143 | } | ||
| 144 | }, | ||
| 145 | "flake-compat_2": { | ||
| 97 | "flake": false, | 146 | "flake": false, |
| 98 | "locked": { | 147 | "locked": { |
| 99 | "lastModified": 1751685974, | 148 | "lastModified": 1751685974, |
| ... | @@ -109,7 +158,7 @@ | ... | @@ -109,7 +158,7 @@ |
| 109 | "url": "https://git.lix.systems/lix-project/flake-compat.git" | 158 | "url": "https://git.lix.systems/lix-project/flake-compat.git" |
| 110 | } | 159 | } |
| 111 | }, | 160 | }, |
| 112 | "flake-compat_2": { | 161 | "flake-compat_3": { |
| 113 | "flake": false, | 162 | "flake": false, |
| 114 | "locked": { | 163 | "locked": { |
| 115 | "lastModified": 1696426674, | 164 | "lastModified": 1696426674, |
| ... | @@ -125,7 +174,7 @@ | ... | @@ -125,7 +174,7 @@ |
| 125 | "type": "github" | 174 | "type": "github" |
| 126 | } | 175 | } |
| 127 | }, | 176 | }, |
| 128 | "flake-compat_3": { | 177 | "flake-compat_4": { |
| 129 | "flake": false, | 178 | "flake": false, |
| 130 | "locked": { | 179 | "locked": { |
| 131 | "lastModified": 1696426674, | 180 | "lastModified": 1696426674, |
| ... | @@ -149,11 +198,11 @@ | ... | @@ -149,11 +198,11 @@ |
| 149 | ] | 198 | ] |
| 150 | }, | 199 | }, |
| 151 | "locked": { | 200 | "locked": { |
| 152 | "lastModified": 1754487366, | 201 | "lastModified": 1760948891, |
| 153 | "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", | 202 | "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", |
| 154 | "owner": "hercules-ci", | 203 | "owner": "hercules-ci", |
| 155 | "repo": "flake-parts", | 204 | "repo": "flake-parts", |
| 156 | "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", | 205 | "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", |
| 157 | "type": "github" | 206 | "type": "github" |
| 158 | }, | 207 | }, |
| 159 | "original": { | 208 | "original": { |
| ... | @@ -181,24 +230,6 @@ | ... | @@ -181,24 +230,6 @@ |
| 181 | } | 230 | } |
| 182 | }, | 231 | }, |
| 183 | "flake-utils_2": { | 232 | "flake-utils_2": { |
| 184 | "inputs": { | ||
| 185 | "systems": "systems_2" | ||
| 186 | }, | ||
| 187 | "locked": { | ||
| 188 | "lastModified": 1701680307, | ||
| 189 | "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", | ||
| 190 | "owner": "numtide", | ||
| 191 | "repo": "flake-utils", | ||
| 192 | "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", | ||
| 193 | "type": "github" | ||
| 194 | }, | ||
| 195 | "original": { | ||
| 196 | "owner": "numtide", | ||
| 197 | "repo": "flake-utils", | ||
| 198 | "type": "github" | ||
| 199 | } | ||
| 200 | }, | ||
| 201 | "flake-utils_3": { | ||
| 202 | "inputs": { | 233 | "inputs": { |
| 203 | "systems": "systems_3" | 234 | "systems": "systems_3" |
| 204 | }, | 235 | }, |
| ... | @@ -216,9 +247,9 @@ | ... | @@ -216,9 +247,9 @@ |
| 216 | "type": "github" | 247 | "type": "github" |
| 217 | } | 248 | } |
| 218 | }, | 249 | }, |
| 219 | "flake-utils_4": { | 250 | "flake-utils_3": { |
| 220 | "inputs": { | 251 | "inputs": { |
| 221 | "systems": "systems_5" | 252 | "systems": "systems_6" |
| 222 | }, | 253 | }, |
| 223 | "locked": { | 254 | "locked": { |
| 224 | "lastModified": 1705309234, | 255 | "lastModified": 1705309234, |
| ... | @@ -234,9 +265,9 @@ | ... | @@ -234,9 +265,9 @@ |
| 234 | "type": "github" | 265 | "type": "github" |
| 235 | } | 266 | } |
| 236 | }, | 267 | }, |
| 237 | "flake-utils_5": { | 268 | "flake-utils_4": { |
| 238 | "inputs": { | 269 | "inputs": { |
| 239 | "systems": "systems_6" | 270 | "systems": "systems_7" |
| 240 | }, | 271 | }, |
| 241 | "locked": { | 272 | "locked": { |
| 242 | "lastModified": 1710146030, | 273 | "lastModified": 1710146030, |
| ... | @@ -252,9 +283,9 @@ | ... | @@ -252,9 +283,9 @@ |
| 252 | "type": "github" | 283 | "type": "github" |
| 253 | } | 284 | } |
| 254 | }, | 285 | }, |
| 255 | "flake-utils_6": { | 286 | "flake-utils_5": { |
| 256 | "inputs": { | 287 | "inputs": { |
| 257 | "systems": "systems_7" | 288 | "systems": "systems_8" |
| 258 | }, | 289 | }, |
| 259 | "locked": { | 290 | "locked": { |
| 260 | "lastModified": 1705309234, | 291 | "lastModified": 1705309234, |
| ... | @@ -271,7 +302,13 @@ | ... | @@ -271,7 +302,13 @@ |
| 271 | } | 302 | } |
| 272 | }, | 303 | }, |
| 273 | "gitignore": { | 304 | "gitignore": { |
| 274 | "flake": false, | 305 | "inputs": { |
| 306 | "nixpkgs": [ | ||
| 307 | "hyprland", | ||
| 308 | "pre-commit-hooks", | ||
| 309 | "nixpkgs" | ||
| 310 | ] | ||
| 311 | }, | ||
| 275 | "locked": { | 312 | "locked": { |
| 276 | "lastModified": 1709087332, | 313 | "lastModified": 1709087332, |
| 277 | "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", | 314 | "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", |
| ... | @@ -287,6 +324,22 @@ | ... | @@ -287,6 +324,22 @@ |
| 287 | } | 324 | } |
| 288 | }, | 325 | }, |
| 289 | "gitignore_2": { | 326 | "gitignore_2": { |
| 327 | "flake": false, | ||
| 328 | "locked": { | ||
| 329 | "lastModified": 1762808025, | ||
| 330 | "narHash": "sha256-XmjITeZNMTQXGhhww6ed/Wacy2KzD6svioyCX7pkUu4=", | ||
| 331 | "owner": "hercules-ci", | ||
| 332 | "repo": "gitignore.nix", | ||
| 333 | "rev": "cb5e3fdca1de58ccbc3ef53de65bd372b48f567c", | ||
| 334 | "type": "github" | ||
| 335 | }, | ||
| 336 | "original": { | ||
| 337 | "owner": "hercules-ci", | ||
| 338 | "repo": "gitignore.nix", | ||
| 339 | "type": "github" | ||
| 340 | } | ||
| 341 | }, | ||
| 342 | "gitignore_3": { | ||
| 290 | "inputs": { | 343 | "inputs": { |
| 291 | "nixpkgs": [ | 344 | "nixpkgs": [ |
| 292 | "zls", | 345 | "zls", |
| ... | @@ -314,11 +367,11 @@ | ... | @@ -314,11 +367,11 @@ |
| 314 | ] | 367 | ] |
| 315 | }, | 368 | }, |
| 316 | "locked": { | 369 | "locked": { |
| 317 | "lastModified": 1755810213, | 370 | "lastModified": 1768018810, |
| 318 | "narHash": "sha256-QdenO8f0PTg+tC6HuSvngKcbRZA5oZKmjUT+MXKOLQg=", | 371 | "narHash": "sha256-WREj1ZQ2wSGtyPAhQJ3SX/7PJ29PNKv04h/7NgqUS+M=", |
| 319 | "owner": "nix-community", | 372 | "owner": "nix-community", |
| 320 | "repo": "home-manager", | 373 | "repo": "home-manager", |
| 321 | "rev": "6911d3e7f475f7b3558b4f5a6aba90fa86099baa", | 374 | "rev": "7c5d9345ad7cc38832cd4007f5cd03daad64d75b", |
| 322 | "type": "github" | 375 | "type": "github" |
| 323 | }, | 376 | }, |
| 324 | "original": { | 377 | "original": { |
| ... | @@ -328,6 +381,325 @@ | ... | @@ -328,6 +381,325 @@ |
| 328 | "type": "github" | 381 | "type": "github" |
| 329 | } | 382 | } |
| 330 | }, | 383 | }, |
| 384 | "hyprcursor": { | ||
| 385 | "inputs": { | ||
| 386 | "hyprlang": [ | ||
| 387 | "hyprland", | ||
| 388 | "hyprlang" | ||
| 389 | ], | ||
| 390 | "nixpkgs": [ | ||
| 391 | "hyprland", | ||
| 392 | "nixpkgs" | ||
| 393 | ], | ||
| 394 | "systems": [ | ||
| 395 | "hyprland", | ||
| 396 | "systems" | ||
| 397 | ] | ||
| 398 | }, | ||
| 399 | "locked": { | ||
| 400 | "lastModified": 1753964049, | ||
| 401 | "narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=", | ||
| 402 | "owner": "hyprwm", | ||
| 403 | "repo": "hyprcursor", | ||
| 404 | "rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5", | ||
| 405 | "type": "github" | ||
| 406 | }, | ||
| 407 | "original": { | ||
| 408 | "owner": "hyprwm", | ||
| 409 | "repo": "hyprcursor", | ||
| 410 | "type": "github" | ||
| 411 | } | ||
| 412 | }, | ||
| 413 | "hyprgraphics": { | ||
| 414 | "inputs": { | ||
| 415 | "hyprutils": [ | ||
| 416 | "hyprland", | ||
| 417 | "hyprutils" | ||
| 418 | ], | ||
| 419 | "nixpkgs": [ | ||
| 420 | "hyprland", | ||
| 421 | "nixpkgs" | ||
| 422 | ], | ||
| 423 | "systems": [ | ||
| 424 | "hyprland", | ||
| 425 | "systems" | ||
| 426 | ] | ||
| 427 | }, | ||
| 428 | "locked": { | ||
| 429 | "lastModified": 1766946335, | ||
| 430 | "narHash": "sha256-MRD+Jr2bY11MzNDfenENhiK6pvN+nHygxdHoHbZ1HtE=", | ||
| 431 | "owner": "hyprwm", | ||
| 432 | "repo": "hyprgraphics", | ||
| 433 | "rev": "4af02a3925b454deb1c36603843da528b67ded6c", | ||
| 434 | "type": "github" | ||
| 435 | }, | ||
| 436 | "original": { | ||
| 437 | "owner": "hyprwm", | ||
| 438 | "repo": "hyprgraphics", | ||
| 439 | "type": "github" | ||
| 440 | } | ||
| 441 | }, | ||
| 442 | "hyprland": { | ||
| 443 | "inputs": { | ||
| 444 | "aquamarine": "aquamarine", | ||
| 445 | "hyprcursor": "hyprcursor", | ||
| 446 | "hyprgraphics": "hyprgraphics", | ||
| 447 | "hyprland-guiutils": "hyprland-guiutils", | ||
| 448 | "hyprland-protocols": "hyprland-protocols", | ||
| 449 | "hyprlang": "hyprlang", | ||
| 450 | "hyprutils": "hyprutils", | ||
| 451 | "hyprwayland-scanner": "hyprwayland-scanner", | ||
| 452 | "hyprwire": "hyprwire", | ||
| 453 | "nixpkgs": "nixpkgs", | ||
| 454 | "pre-commit-hooks": "pre-commit-hooks", | ||
| 455 | "systems": "systems_2", | ||
| 456 | "xdph": "xdph" | ||
| 457 | }, | ||
| 458 | "locked": { | ||
| 459 | "lastModified": 1768000181, | ||
| 460 | "narHash": "sha256-/E66+tcVBnvJcOFL/CjnjBfKew6A2e+28EZrcRHioBw=", | ||
| 461 | "owner": "hyprwm", | ||
| 462 | "repo": "Hyprland", | ||
| 463 | "rev": "81e7498ec27156ee97aabba6fe4993412d98d1ab", | ||
| 464 | "type": "github" | ||
| 465 | }, | ||
| 466 | "original": { | ||
| 467 | "owner": "hyprwm", | ||
| 468 | "repo": "Hyprland", | ||
| 469 | "type": "github" | ||
| 470 | } | ||
| 471 | }, | ||
| 472 | "hyprland-guiutils": { | ||
| 473 | "inputs": { | ||
| 474 | "aquamarine": [ | ||
| 475 | "hyprland", | ||
| 476 | "aquamarine" | ||
| 477 | ], | ||
| 478 | "hyprgraphics": [ | ||
| 479 | "hyprland", | ||
| 480 | "hyprgraphics" | ||
| 481 | ], | ||
| 482 | "hyprlang": [ | ||
| 483 | "hyprland", | ||
| 484 | "hyprlang" | ||
| 485 | ], | ||
| 486 | "hyprtoolkit": "hyprtoolkit", | ||
| 487 | "hyprutils": [ | ||
| 488 | "hyprland", | ||
| 489 | "hyprutils" | ||
| 490 | ], | ||
| 491 | "hyprwayland-scanner": [ | ||
| 492 | "hyprland", | ||
| 493 | "hyprwayland-scanner" | ||
| 494 | ], | ||
| 495 | "nixpkgs": [ | ||
| 496 | "hyprland", | ||
| 497 | "nixpkgs" | ||
| 498 | ], | ||
| 499 | "systems": [ | ||
| 500 | "hyprland", | ||
| 501 | "systems" | ||
| 502 | ] | ||
| 503 | }, | ||
| 504 | "locked": { | ||
| 505 | "lastModified": 1767023960, | ||
| 506 | "narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=", | ||
| 507 | "owner": "hyprwm", | ||
| 508 | "repo": "hyprland-guiutils", | ||
| 509 | "rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660", | ||
| 510 | "type": "github" | ||
| 511 | }, | ||
| 512 | "original": { | ||
| 513 | "owner": "hyprwm", | ||
| 514 | "repo": "hyprland-guiutils", | ||
| 515 | "type": "github" | ||
| 516 | } | ||
| 517 | }, | ||
| 518 | "hyprland-protocols": { | ||
| 519 | "inputs": { | ||
| 520 | "nixpkgs": [ | ||
| 521 | "hyprland", | ||
| 522 | "nixpkgs" | ||
| 523 | ], | ||
| 524 | "systems": [ | ||
| 525 | "hyprland", | ||
| 526 | "systems" | ||
| 527 | ] | ||
| 528 | }, | ||
| 529 | "locked": { | ||
| 530 | "lastModified": 1765214753, | ||
| 531 | "narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=", | ||
| 532 | "owner": "hyprwm", | ||
| 533 | "repo": "hyprland-protocols", | ||
| 534 | "rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab", | ||
| 535 | "type": "github" | ||
| 536 | }, | ||
| 537 | "original": { | ||
| 538 | "owner": "hyprwm", | ||
| 539 | "repo": "hyprland-protocols", | ||
| 540 | "type": "github" | ||
| 541 | } | ||
| 542 | }, | ||
| 543 | "hyprlang": { | ||
| 544 | "inputs": { | ||
| 545 | "hyprutils": [ | ||
| 546 | "hyprland", | ||
| 547 | "hyprutils" | ||
| 548 | ], | ||
| 549 | "nixpkgs": [ | ||
| 550 | "hyprland", | ||
| 551 | "nixpkgs" | ||
| 552 | ], | ||
| 553 | "systems": [ | ||
| 554 | "hyprland", | ||
| 555 | "systems" | ||
| 556 | ] | ||
| 557 | }, | ||
| 558 | "locked": { | ||
| 559 | "lastModified": 1764612430, | ||
| 560 | "narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=", | ||
| 561 | "owner": "hyprwm", | ||
| 562 | "repo": "hyprlang", | ||
| 563 | "rev": "0d00dc118981531aa731150b6ea551ef037acddd", | ||
| 564 | "type": "github" | ||
| 565 | }, | ||
| 566 | "original": { | ||
| 567 | "owner": "hyprwm", | ||
| 568 | "repo": "hyprlang", | ||
| 569 | "type": "github" | ||
| 570 | } | ||
| 571 | }, | ||
| 572 | "hyprtoolkit": { | ||
| 573 | "inputs": { | ||
| 574 | "aquamarine": [ | ||
| 575 | "hyprland", | ||
| 576 | "hyprland-guiutils", | ||
| 577 | "aquamarine" | ||
| 578 | ], | ||
| 579 | "hyprgraphics": [ | ||
| 580 | "hyprland", | ||
| 581 | "hyprland-guiutils", | ||
| 582 | "hyprgraphics" | ||
| 583 | ], | ||
| 584 | "hyprlang": [ | ||
| 585 | "hyprland", | ||
| 586 | "hyprland-guiutils", | ||
| 587 | "hyprlang" | ||
| 588 | ], | ||
| 589 | "hyprutils": [ | ||
| 590 | "hyprland", | ||
| 591 | "hyprland-guiutils", | ||
| 592 | "hyprutils" | ||
| 593 | ], | ||
| 594 | "hyprwayland-scanner": [ | ||
| 595 | "hyprland", | ||
| 596 | "hyprland-guiutils", | ||
| 597 | "hyprwayland-scanner" | ||
| 598 | ], | ||
| 599 | "nixpkgs": [ | ||
| 600 | "hyprland", | ||
| 601 | "hyprland-guiutils", | ||
| 602 | "nixpkgs" | ||
| 603 | ], | ||
| 604 | "systems": [ | ||
| 605 | "hyprland", | ||
| 606 | "hyprland-guiutils", | ||
| 607 | "systems" | ||
| 608 | ] | ||
| 609 | }, | ||
| 610 | "locked": { | ||
| 611 | "lastModified": 1764592794, | ||
| 612 | "narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=", | ||
| 613 | "owner": "hyprwm", | ||
| 614 | "repo": "hyprtoolkit", | ||
| 615 | "rev": "5cfe0743f0e608e1462972303778d8a0859ee63e", | ||
| 616 | "type": "github" | ||
| 617 | }, | ||
| 618 | "original": { | ||
| 619 | "owner": "hyprwm", | ||
| 620 | "repo": "hyprtoolkit", | ||
| 621 | "type": "github" | ||
| 622 | } | ||
| 623 | }, | ||
| 624 | "hyprutils": { | ||
| 625 | "inputs": { | ||
| 626 | "nixpkgs": [ | ||
| 627 | "hyprland", | ||
| 628 | "nixpkgs" | ||
| 629 | ], | ||
| 630 | "systems": [ | ||
| 631 | "hyprland", | ||
| 632 | "systems" | ||
| 633 | ] | ||
| 634 | }, | ||
| 635 | "locked": { | ||
| 636 | "lastModified": 1766253372, | ||
| 637 | "narHash": "sha256-1+p4Kw8HdtMoFSmJtfdwjxM4bPxDK9yg27SlvUMpzWA=", | ||
| 638 | "owner": "hyprwm", | ||
| 639 | "repo": "hyprutils", | ||
| 640 | "rev": "51a4f93ce8572e7b12b7284eb9e6e8ebf16b4be9", | ||
| 641 | "type": "github" | ||
| 642 | }, | ||
| 643 | "original": { | ||
| 644 | "owner": "hyprwm", | ||
| 645 | "repo": "hyprutils", | ||
| 646 | "type": "github" | ||
| 647 | } | ||
| 648 | }, | ||
| 649 | "hyprwayland-scanner": { | ||
| 650 | "inputs": { | ||
| 651 | "nixpkgs": [ | ||
| 652 | "hyprland", | ||
| 653 | "nixpkgs" | ||
| 654 | ], | ||
| 655 | "systems": [ | ||
| 656 | "hyprland", | ||
| 657 | "systems" | ||
| 658 | ] | ||
| 659 | }, | ||
| 660 | "locked": { | ||
| 661 | "lastModified": 1763640274, | ||
| 662 | "narHash": "sha256-Uan1Nl9i4TF/kyFoHnTq1bd/rsWh4GAK/9/jDqLbY5A=", | ||
| 663 | "owner": "hyprwm", | ||
| 664 | "repo": "hyprwayland-scanner", | ||
| 665 | "rev": "f6cf414ca0e16a4d30198fd670ec86df3c89f671", | ||
| 666 | "type": "github" | ||
| 667 | }, | ||
| 668 | "original": { | ||
| 669 | "owner": "hyprwm", | ||
| 670 | "repo": "hyprwayland-scanner", | ||
| 671 | "type": "github" | ||
| 672 | } | ||
| 673 | }, | ||
| 674 | "hyprwire": { | ||
| 675 | "inputs": { | ||
| 676 | "hyprutils": [ | ||
| 677 | "hyprland", | ||
| 678 | "hyprutils" | ||
| 679 | ], | ||
| 680 | "nixpkgs": [ | ||
| 681 | "hyprland", | ||
| 682 | "nixpkgs" | ||
| 683 | ], | ||
| 684 | "systems": [ | ||
| 685 | "hyprland", | ||
| 686 | "systems" | ||
| 687 | ] | ||
| 688 | }, | ||
| 689 | "locked": { | ||
| 690 | "lastModified": 1767473322, | ||
| 691 | "narHash": "sha256-RGOeG+wQHeJ6BKcsSB8r0ZU77g9mDvoQzoTKj2dFHwA=", | ||
| 692 | "owner": "hyprwm", | ||
| 693 | "repo": "hyprwire", | ||
| 694 | "rev": "d5e7d6b49fe780353c1cf9a1cf39fa8970bd9d11", | ||
| 695 | "type": "github" | ||
| 696 | }, | ||
| 697 | "original": { | ||
| 698 | "owner": "hyprwm", | ||
| 699 | "repo": "hyprwire", | ||
| 700 | "type": "github" | ||
| 701 | } | ||
| 702 | }, | ||
| 331 | "langref": { | 703 | "langref": { |
| 332 | "flake": false, | 704 | "flake": false, |
| 333 | "locked": { | 705 | "locked": { |
| ... | @@ -342,11 +714,11 @@ | ... | @@ -342,11 +714,11 @@ |
| 342 | }, | 714 | }, |
| 343 | "mnw": { | 715 | "mnw": { |
| 344 | "locked": { | 716 | "locked": { |
| 345 | "lastModified": 1748710831, | 717 | "lastModified": 1758834834, |
| 346 | "narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=", | 718 | "narHash": "sha256-Y7IvY4F8vajZyp3WGf+KaiIVwondEkMFkt92Cr9NZmg=", |
| 347 | "owner": "Gerg-L", | 719 | "owner": "Gerg-L", |
| 348 | "repo": "mnw", | 720 | "repo": "mnw", |
| 349 | "rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d", | 721 | "rev": "cfbc7d1cc832e318d0863a5fc91d940a96034001", |
| 350 | "type": "github" | 722 | "type": "github" |
| 351 | }, | 723 | }, |
| 352 | "original": { | 724 | "original": { |
| ... | @@ -357,17 +729,16 @@ | ... | @@ -357,17 +729,16 @@ |
| 357 | }, | 729 | }, |
| 358 | "moonlight": { | 730 | "moonlight": { |
| 359 | "inputs": { | 731 | "inputs": { |
| 360 | "flake-utils": "flake-utils_2", | ||
| 361 | "nixpkgs": [ | 732 | "nixpkgs": [ |
| 362 | "nixpkgs" | 733 | "nixpkgs" |
| 363 | ] | 734 | ] |
| 364 | }, | 735 | }, |
| 365 | "locked": { | 736 | "locked": { |
| 366 | "lastModified": 1754439168, | 737 | "lastModified": 1765916709, |
| 367 | "narHash": "sha256-NcwRidwb/ask65LE86os4RkhyoPQo5sLu0sJs/NboK4=", | 738 | "narHash": "sha256-qc4m7v8hGOMb9BVLuiQZAbgzHoKfVwEY7HUl9fsY/hE=", |
| 368 | "owner": "moonlight-mod", | 739 | "owner": "moonlight-mod", |
| 369 | "repo": "moonlight", | 740 | "repo": "moonlight", |
| 370 | "rev": "66b81b113afd6654a88c9adb7edb7fe92839fe84", | 741 | "rev": "d0ad754cf0b9c5a34d7f69595f407c8199f988ce", |
| 371 | "type": "github" | 742 | "type": "github" |
| 372 | }, | 743 | }, |
| 373 | "original": { | 744 | "original": { |
| ... | @@ -376,6 +747,39 @@ | ... | @@ -376,6 +747,39 @@ |
| 376 | "type": "github" | 747 | "type": "github" |
| 377 | } | 748 | } |
| 378 | }, | 749 | }, |
| 750 | "ndg": { | ||
| 751 | "inputs": { | ||
| 752 | "nixpkgs": "nixpkgs_4" | ||
| 753 | }, | ||
| 754 | "locked": { | ||
| 755 | "lastModified": 1765435293, | ||
| 756 | "narHash": "sha256-HRp4g6qBCb8vpJ17s2FacMRXRszM73uBiR56aILMELA=", | ||
| 757 | "owner": "feel-co", | ||
| 758 | "repo": "ndg", | ||
| 759 | "rev": "65bf834b332d5f8b28d95ea14c7974be7c272971", | ||
| 760 | "type": "github" | ||
| 761 | }, | ||
| 762 | "original": { | ||
| 763 | "owner": "feel-co", | ||
| 764 | "repo": "ndg", | ||
| 765 | "type": "github" | ||
| 766 | } | ||
| 767 | }, | ||
| 768 | "nix-filter": { | ||
| 769 | "locked": { | ||
| 770 | "lastModified": 1693833173, | ||
| 771 | "narHash": "sha256-hlMABKrGbEiJD5dwUSfnw1CQ3bG7KKwDV+Nx3bEZd7U=", | ||
| 772 | "owner": "numtide", | ||
| 773 | "repo": "nix-filter", | ||
| 774 | "rev": "ac030bd9ba98e318e1f4c4328d60766ade8ebe8b", | ||
| 775 | "type": "github" | ||
| 776 | }, | ||
| 777 | "original": { | ||
| 778 | "owner": "numtide", | ||
| 779 | "repo": "nix-filter", | ||
| 780 | "type": "github" | ||
| 781 | } | ||
| 782 | }, | ||
| 379 | "nix-index-database": { | 783 | "nix-index-database": { |
| 380 | "inputs": { | 784 | "inputs": { |
| 381 | "nixpkgs": [ | 785 | "nixpkgs": [ |
| ... | @@ -383,11 +787,11 @@ | ... | @@ -383,11 +787,11 @@ |
| 383 | ] | 787 | ] |
| 384 | }, | 788 | }, |
| 385 | "locked": { | 789 | "locked": { |
| 386 | "lastModified": 1755404379, | 790 | "lastModified": 1765267181, |
| 387 | "narHash": "sha256-Q6ZxZDBmD/B988Jjbx7/NchxOKIpOKBBrx9Yb0zMzpQ=", | 791 | "narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=", |
| 388 | "owner": "nix-community", | 792 | "owner": "nix-community", |
| 389 | "repo": "nix-index-database", | 793 | "repo": "nix-index-database", |
| 390 | "rev": "ebbc1c05f786ae39bb5e04e57bf2c10c44a649e3", | 794 | "rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f", |
| 391 | "type": "github" | 795 | "type": "github" |
| 392 | }, | 796 | }, |
| 393 | "original": { | 797 | "original": { |
| ... | @@ -398,16 +802,16 @@ | ... | @@ -398,16 +802,16 @@ |
| 398 | }, | 802 | }, |
| 399 | "nix-options-search": { | 803 | "nix-options-search": { |
| 400 | "inputs": { | 804 | "inputs": { |
| 401 | "flake-utils": "flake-utils_3", | 805 | "flake-utils": "flake-utils_2", |
| 402 | "gitignore": "gitignore", | 806 | "gitignore": "gitignore_2", |
| 403 | "nixpkgs": "nixpkgs" | 807 | "nixpkgs": "nixpkgs_2" |
| 404 | }, | 808 | }, |
| 405 | "locked": { | 809 | "locked": { |
| 406 | "lastModified": 1743876182, | 810 | "lastModified": 1765642879, |
| 407 | "narHash": "sha256-qfiVewr5huupheLqStX60JSbjBEm9/PDncLQXE0dsXo=", | 811 | "narHash": "sha256-LIKEZW++qgg8FSpJtAayv6yfIF3CO42GpryyeJ4pk7M=", |
| 408 | "owner": "madsbv", | 812 | "owner": "madsbv", |
| 409 | "repo": "nix-options-search", | 813 | "repo": "nix-options-search", |
| 410 | "rev": "f52dc6986161570a2ffffdf337c88b503e9a58fb", | 814 | "rev": "b91e3ad2b4f3afbf0ceadb140fb9a0d342733b2e", |
| 411 | "type": "github" | 815 | "type": "github" |
| 412 | }, | 816 | }, |
| 413 | "original": { | 817 | "original": { |
| ... | @@ -418,11 +822,27 @@ | ... | @@ -418,11 +822,27 @@ |
| 418 | }, | 822 | }, |
| 419 | "nixpkgs": { | 823 | "nixpkgs": { |
| 420 | "locked": { | 824 | "locked": { |
| 421 | "lastModified": 1736012469, | 825 | "lastModified": 1767379071, |
| 422 | "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", | 826 | "narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=", |
| 827 | "owner": "NixOS", | ||
| 828 | "repo": "nixpkgs", | ||
| 829 | "rev": "fb7944c166a3b630f177938e478f0378e64ce108", | ||
| 830 | "type": "github" | ||
| 831 | }, | ||
| 832 | "original": { | ||
| 833 | "owner": "NixOS", | ||
| 834 | "ref": "nixos-unstable", | ||
| 835 | "repo": "nixpkgs", | ||
| 836 | "type": "github" | ||
| 837 | } | ||
| 838 | }, | ||
| 839 | "nixpkgs_2": { | ||
| 840 | "locked": { | ||
| 841 | "lastModified": 1762977756, | ||
| 842 | "narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=", | ||
| 423 | "owner": "nixos", | 843 | "owner": "nixos", |
| 424 | "repo": "nixpkgs", | 844 | "repo": "nixpkgs", |
| 425 | "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", | 845 | "rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55", |
| 426 | "type": "github" | 846 | "type": "github" |
| 427 | }, | 847 | }, |
| 428 | "original": { | 848 | "original": { |
| ... | @@ -432,22 +852,54 @@ | ... | @@ -432,22 +852,54 @@ |
| 432 | "type": "github" | 852 | "type": "github" |
| 433 | } | 853 | } |
| 434 | }, | 854 | }, |
| 435 | "nixpkgs_2": { | 855 | "nixpkgs_3": { |
| 436 | "locked": { | 856 | "locked": { |
| 437 | "lastModified": 1755615617, | 857 | "lastModified": 1767966113, |
| 438 | "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", | 858 | "narHash": "sha256-mSTsvXa4WveSRJexsmCbm9dY17B1fKp7NLpJxllpQw4=", |
| 439 | "owner": "NixOS", | 859 | "owner": "NixOS", |
| 440 | "repo": "nixpkgs", | 860 | "repo": "nixpkgs", |
| 441 | "rev": "20075955deac2583bb12f07151c2df830ef346b4", | 861 | "rev": "5f02c91314c8ba4afe83b256b023756412218535", |
| 442 | "type": "github" | 862 | "type": "github" |
| 443 | }, | 863 | }, |
| 444 | "original": { | 864 | "original": { |
| 445 | "id": "nixpkgs", | 865 | "id": "nixpkgs", |
| 446 | "ref": "nixos-unstable", | 866 | "ref": "nixpkgs-unstable", |
| 447 | "type": "indirect" | 867 | "type": "indirect" |
| 448 | } | 868 | } |
| 449 | }, | 869 | }, |
| 450 | "nixpkgs_3": { | 870 | "nixpkgs_4": { |
| 871 | "locked": { | ||
| 872 | "lastModified": 1764242076, | ||
| 873 | "narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=", | ||
| 874 | "owner": "NixOS", | ||
| 875 | "repo": "nixpkgs", | ||
| 876 | "rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4", | ||
| 877 | "type": "github" | ||
| 878 | }, | ||
| 879 | "original": { | ||
| 880 | "owner": "NixOS", | ||
| 881 | "ref": "nixos-unstable", | ||
| 882 | "repo": "nixpkgs", | ||
| 883 | "type": "github" | ||
| 884 | } | ||
| 885 | }, | ||
| 886 | "nixpkgs_5": { | ||
| 887 | "locked": { | ||
| 888 | "lastModified": 1762111121, | ||
| 889 | "narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=", | ||
| 890 | "owner": "NixOS", | ||
| 891 | "repo": "nixpkgs", | ||
| 892 | "rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4", | ||
| 893 | "type": "github" | ||
| 894 | }, | ||
| 895 | "original": { | ||
| 896 | "owner": "NixOS", | ||
| 897 | "ref": "nixos-unstable", | ||
| 898 | "repo": "nixpkgs", | ||
| 899 | "type": "github" | ||
| 900 | } | ||
| 901 | }, | ||
| 902 | "nixpkgs_6": { | ||
| 451 | "locked": { | 903 | "locked": { |
| 452 | "lastModified": 1708161998, | 904 | "lastModified": 1708161998, |
| 453 | "narHash": "sha256-6KnemmUorCvlcAvGziFosAVkrlWZGIc6UNT9GUYr0jQ=", | 905 | "narHash": "sha256-6KnemmUorCvlcAvGziFosAVkrlWZGIc6UNT9GUYr0jQ=", |
| ... | @@ -463,7 +915,7 @@ | ... | @@ -463,7 +915,7 @@ |
| 463 | "type": "github" | 915 | "type": "github" |
| 464 | } | 916 | } |
| 465 | }, | 917 | }, |
| 466 | "nixpkgs_4": { | 918 | "nixpkgs_7": { |
| 467 | "locked": { | 919 | "locked": { |
| 468 | "lastModified": 1717696253, | 920 | "lastModified": 1717696253, |
| 469 | "narHash": "sha256-1+ua0ggXlYYPLTmMl3YeYYsBXDSCqT+Gw3u6l4gvMhA=", | 921 | "narHash": "sha256-1+ua0ggXlYYPLTmMl3YeYYsBXDSCqT+Gw3u6l4gvMhA=", |
| ... | @@ -481,20 +933,21 @@ | ... | @@ -481,20 +933,21 @@ |
| 481 | }, | 933 | }, |
| 482 | "nvf": { | 934 | "nvf": { |
| 483 | "inputs": { | 935 | "inputs": { |
| 484 | "flake-compat": "flake-compat", | 936 | "flake-compat": "flake-compat_2", |
| 485 | "flake-parts": "flake-parts", | 937 | "flake-parts": "flake-parts", |
| 486 | "mnw": "mnw", | 938 | "mnw": "mnw", |
| 939 | "ndg": "ndg", | ||
| 487 | "nixpkgs": [ | 940 | "nixpkgs": [ |
| 488 | "nixpkgs" | 941 | "nixpkgs" |
| 489 | ], | 942 | ], |
| 490 | "systems": "systems_4" | 943 | "systems": "systems_4" |
| 491 | }, | 944 | }, |
| 492 | "locked": { | 945 | "locked": { |
| 493 | "lastModified": 1755843058, | 946 | "lastModified": 1765537745, |
| 494 | "narHash": "sha256-oAajTGcyTzuND7AAlaRXO+wF7ytAMOnrE4sYUjRonB8=", | 947 | "narHash": "sha256-EaFYxx2aSuM2xx+l+E55YNMCJOoQBl2tJybxyF0pPqw=", |
| 495 | "owner": "notashelf", | 948 | "owner": "notashelf", |
| 496 | "repo": "nvf", | 949 | "repo": "nvf", |
| 497 | "rev": "d36996c8ba5c8d68b5def1b660e06d281ef0a3a8", | 950 | "rev": "8e031476d0d7f326b63c9c5522f840e2f8b724c0", |
| 498 | "type": "github" | 951 | "type": "github" |
| 499 | }, | 952 | }, |
| 500 | "original": { | 953 | "original": { |
| ... | @@ -516,18 +969,44 @@ | ... | @@ -516,18 +969,44 @@ |
| 516 | "url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg" | 969 | "url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg" |
| 517 | } | 970 | } |
| 518 | }, | 971 | }, |
| 972 | "pre-commit-hooks": { | ||
| 973 | "inputs": { | ||
| 974 | "flake-compat": "flake-compat", | ||
| 975 | "gitignore": "gitignore", | ||
| 976 | "nixpkgs": [ | ||
| 977 | "hyprland", | ||
| 978 | "nixpkgs" | ||
| 979 | ] | ||
| 980 | }, | ||
| 981 | "locked": { | ||
| 982 | "lastModified": 1767281941, | ||
| 983 | "narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=", | ||
| 984 | "owner": "cachix", | ||
| 985 | "repo": "git-hooks.nix", | ||
| 986 | "rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa", | ||
| 987 | "type": "github" | ||
| 988 | }, | ||
| 989 | "original": { | ||
| 990 | "owner": "cachix", | ||
| 991 | "repo": "git-hooks.nix", | ||
| 992 | "type": "github" | ||
| 993 | } | ||
| 994 | }, | ||
| 519 | "root": { | 995 | "root": { |
| 520 | "inputs": { | 996 | "inputs": { |
| 521 | "android-nixpkgs": "android-nixpkgs", | 997 | "android-nixpkgs": "android-nixpkgs", |
| 522 | "apple-fonts": "apple-fonts", | 998 | "apple-fonts": "apple-fonts", |
| 523 | "darwin": "darwin", | 999 | "darwin": "darwin", |
| 524 | "home-manager": "home-manager", | 1000 | "home-manager": "home-manager", |
| 1001 | "hyprland": "hyprland", | ||
| 525 | "moonlight": "moonlight", | 1002 | "moonlight": "moonlight", |
| 526 | "nix-index-database": "nix-index-database", | 1003 | "nix-index-database": "nix-index-database", |
| 527 | "nix-options-search": "nix-options-search", | 1004 | "nix-options-search": "nix-options-search", |
| 528 | "nixpkgs": "nixpkgs_2", | 1005 | "nixpkgs": "nixpkgs_3", |
| 529 | "nvf": "nvf", | 1006 | "nvf": "nvf", |
| 530 | "rust-overlay": "rust-overlay", | 1007 | "rust-overlay": "rust-overlay", |
| 1008 | "split-monitor-workspaces": "split-monitor-workspaces", | ||
| 1009 | "vicinae": "vicinae", | ||
| 531 | "zen-browser": "zen-browser", | 1010 | "zen-browser": "zen-browser", |
| 532 | "zig": "zig", | 1011 | "zig": "zig", |
| 533 | "zls": "zls" | 1012 | "zls": "zls" |
| ... | @@ -540,11 +1019,11 @@ | ... | @@ -540,11 +1019,11 @@ |
| 540 | ] | 1019 | ] |
| 541 | }, | 1020 | }, |
| 542 | "locked": { | 1021 | "locked": { |
| 543 | "lastModified": 1755830208, | 1022 | "lastModified": 1768012928, |
| 544 | "narHash": "sha256-fMa/Hcg+4O2h+kl3gNPjtGSWPI8NtCl3LYMsejK6qGA=", | 1023 | "narHash": "sha256-HFFVQaux1JoOjEvgBT0ASk1Je+jsipyO5c91FoLMed8=", |
| 545 | "owner": "oxalica", | 1024 | "owner": "oxalica", |
| 546 | "repo": "rust-overlay", | 1025 | "repo": "rust-overlay", |
| 547 | "rev": "802a7b97f8ff672ba2dec70c9e354f51f844e796", | 1026 | "rev": "312b4371e72f644ffcff25b23615195e3b390643", |
| 548 | "type": "github" | 1027 | "type": "github" |
| 549 | }, | 1028 | }, |
| 550 | "original": { | 1029 | "original": { |
| ... | @@ -580,7 +1059,7 @@ | ... | @@ -580,7 +1059,7 @@ |
| 580 | "sf-compact": { | 1059 | "sf-compact": { |
| 581 | "flake": false, | 1060 | "flake": false, |
| 582 | "locked": { | 1061 | "locked": { |
| 583 | "narHash": "sha256-VMCf2Mhmx/qhLRQxlTAsQWxtonS27kPW+oTYBBRWHMg=", | 1062 | "narHash": "sha256-WeqT80cdK/XzTLSaJs5DHodzxoeAzwL/xTgdq0YwQbM=", |
| 584 | "type": "file", | 1063 | "type": "file", |
| 585 | "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg" | 1064 | "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg" |
| 586 | }, | 1065 | }, |
| ... | @@ -628,7 +1107,7 @@ | ... | @@ -628,7 +1107,7 @@ |
| 628 | "sf-pro": { | 1107 | "sf-pro": { |
| 629 | "flake": false, | 1108 | "flake": false, |
| 630 | "locked": { | 1109 | "locked": { |
| 631 | "narHash": "sha256-RX6X2ltVE88Hp1g9tpSywMT3UfdLpRxgw92KRpiAues=", | 1110 | "narHash": "sha256-vprahHpCUf9O8RualBrEuLEfuLfzI/2d8AQmwlCGPPk=", |
| 632 | "type": "file", | 1111 | "type": "file", |
| 633 | "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg" | 1112 | "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg" |
| 634 | }, | 1113 | }, |
| ... | @@ -637,6 +1116,27 @@ | ... | @@ -637,6 +1116,27 @@ |
| 637 | "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg" | 1116 | "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg" |
| 638 | } | 1117 | } |
| 639 | }, | 1118 | }, |
| 1119 | "split-monitor-workspaces": { | ||
| 1120 | "inputs": { | ||
| 1121 | "hyprland": [ | ||
| 1122 | "hyprland" | ||
| 1123 | ], | ||
| 1124 | "nix-filter": "nix-filter" | ||
| 1125 | }, | ||
| 1126 | "locked": { | ||
| 1127 | "lastModified": 1767711026, | ||
| 1128 | "narHash": "sha256-yTuyde8TpBR3NhNnOcK4uOGukvMCwrH3otP8E04e9X0=", | ||
| 1129 | "owner": "Duckonaut", | ||
| 1130 | "repo": "split-monitor-workspaces", | ||
| 1131 | "rev": "764548c3aa22c9f4cb436ec7243d21795eb6ebec", | ||
| 1132 | "type": "github" | ||
| 1133 | }, | ||
| 1134 | "original": { | ||
| 1135 | "owner": "Duckonaut", | ||
| 1136 | "repo": "split-monitor-workspaces", | ||
| 1137 | "type": "github" | ||
| 1138 | } | ||
| 1139 | }, | ||
| 640 | "systems": { | 1140 | "systems": { |
| 641 | "locked": { | 1141 | "locked": { |
| 642 | "lastModified": 1681028828, | 1142 | "lastModified": 1681028828, |
| ... | @@ -654,16 +1154,16 @@ | ... | @@ -654,16 +1154,16 @@ |
| 654 | }, | 1154 | }, |
| 655 | "systems_2": { | 1155 | "systems_2": { |
| 656 | "locked": { | 1156 | "locked": { |
| 657 | "lastModified": 1681028828, | 1157 | "lastModified": 1689347949, |
| 658 | "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", | 1158 | "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", |
| 659 | "owner": "nix-systems", | 1159 | "owner": "nix-systems", |
| 660 | "repo": "default", | 1160 | "repo": "default-linux", |
| 661 | "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", | 1161 | "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", |
| 662 | "type": "github" | 1162 | "type": "github" |
| 663 | }, | 1163 | }, |
| 664 | "original": { | 1164 | "original": { |
| 665 | "owner": "nix-systems", | 1165 | "owner": "nix-systems", |
| 666 | "repo": "default", | 1166 | "repo": "default-linux", |
| 667 | "type": "github" | 1167 | "type": "github" |
| 668 | } | 1168 | } |
| 669 | }, | 1169 | }, |
| ... | @@ -742,6 +1242,81 @@ | ... | @@ -742,6 +1242,81 @@ |
| 742 | "type": "github" | 1242 | "type": "github" |
| 743 | } | 1243 | } |
| 744 | }, | 1244 | }, |
| 1245 | "systems_8": { | ||
| 1246 | "locked": { | ||
| 1247 | "lastModified": 1681028828, | ||
| 1248 | "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", | ||
| 1249 | "owner": "nix-systems", | ||
| 1250 | "repo": "default", | ||
| 1251 | "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", | ||
| 1252 | "type": "github" | ||
| 1253 | }, | ||
| 1254 | "original": { | ||
| 1255 | "owner": "nix-systems", | ||
| 1256 | "repo": "default", | ||
| 1257 | "type": "github" | ||
| 1258 | } | ||
| 1259 | }, | ||
| 1260 | "vicinae": { | ||
| 1261 | "inputs": { | ||
| 1262 | "nixpkgs": "nixpkgs_5", | ||
| 1263 | "systems": "systems_5" | ||
| 1264 | }, | ||
| 1265 | "locked": { | ||
| 1266 | "lastModified": 1767958732, | ||
| 1267 | "narHash": "sha256-Jy7Px8fWfZgRRWcv5d8XTddPDaHRJ1o4mG3yTlEkXTo=", | ||
| 1268 | "owner": "vicinaehq", | ||
| 1269 | "repo": "vicinae", | ||
| 1270 | "rev": "c80929ea3f44d540a5063ad1262799aa32a7929c", | ||
| 1271 | "type": "github" | ||
| 1272 | }, | ||
| 1273 | "original": { | ||
| 1274 | "owner": "vicinaehq", | ||
| 1275 | "repo": "vicinae", | ||
| 1276 | "type": "github" | ||
| 1277 | } | ||
| 1278 | }, | ||
| 1279 | "xdph": { | ||
| 1280 | "inputs": { | ||
| 1281 | "hyprland-protocols": [ | ||
| 1282 | "hyprland", | ||
| 1283 | "hyprland-protocols" | ||
| 1284 | ], | ||
| 1285 | "hyprlang": [ | ||
| 1286 | "hyprland", | ||
| 1287 | "hyprlang" | ||
| 1288 | ], | ||
| 1289 | "hyprutils": [ | ||
| 1290 | "hyprland", | ||
| 1291 | "hyprutils" | ||
| 1292 | ], | ||
| 1293 | "hyprwayland-scanner": [ | ||
| 1294 | "hyprland", | ||
| 1295 | "hyprwayland-scanner" | ||
| 1296 | ], | ||
| 1297 | "nixpkgs": [ | ||
| 1298 | "hyprland", | ||
| 1299 | "nixpkgs" | ||
| 1300 | ], | ||
| 1301 | "systems": [ | ||
| 1302 | "hyprland", | ||
| 1303 | "systems" | ||
| 1304 | ] | ||
| 1305 | }, | ||
| 1306 | "locked": { | ||
| 1307 | "lastModified": 1761431178, | ||
| 1308 | "narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=", | ||
| 1309 | "owner": "hyprwm", | ||
| 1310 | "repo": "xdg-desktop-portal-hyprland", | ||
| 1311 | "rev": "4b8801228ff958d028f588f0c2b911dbf32297f9", | ||
| 1312 | "type": "github" | ||
| 1313 | }, | ||
| 1314 | "original": { | ||
| 1315 | "owner": "hyprwm", | ||
| 1316 | "repo": "xdg-desktop-portal-hyprland", | ||
| 1317 | "type": "github" | ||
| 1318 | } | ||
| 1319 | }, | ||
| 745 | "zen-browser": { | 1320 | "zen-browser": { |
| 746 | "inputs": { | 1321 | "inputs": { |
| 747 | "nixpkgs": [ | 1322 | "nixpkgs": [ |
| ... | @@ -749,11 +1324,11 @@ | ... | @@ -749,11 +1324,11 @@ |
| 749 | ] | 1324 | ] |
| 750 | }, | 1325 | }, |
| 751 | "locked": { | 1326 | "locked": { |
| 752 | "lastModified": 1754886070, | 1327 | "lastModified": 1767618227, |
| 753 | "narHash": "sha256-MZDmxOkVKL1HY72bliN8Gxh0SYkHUa3W/1fTU2ke36I=", | 1328 | "narHash": "sha256-9+XVF47E9NCVs249SSsDtr7YdG/23/lCJmWAjQvOfqI=", |
| 754 | "owner": "youwen5", | 1329 | "owner": "youwen5", |
| 755 | "repo": "zen-browser-flake", | 1330 | "repo": "zen-browser-flake", |
| 756 | "rev": "e37d2b326311320c8571111b3ef89b29d26d4b64", | 1331 | "rev": "1586e49b3908b058e221f11d843eb46392dba17b", |
| 757 | "type": "github" | 1332 | "type": "github" |
| 758 | }, | 1333 | }, |
| 759 | "original": { | 1334 | "original": { |
| ... | @@ -764,16 +1339,16 @@ | ... | @@ -764,16 +1339,16 @@ |
| 764 | }, | 1339 | }, |
| 765 | "zig": { | 1340 | "zig": { |
| 766 | "inputs": { | 1341 | "inputs": { |
| 767 | "flake-compat": "flake-compat_2", | 1342 | "flake-compat": "flake-compat_3", |
| 768 | "flake-utils": "flake-utils_4", | 1343 | "flake-utils": "flake-utils_3", |
| 769 | "nixpkgs": "nixpkgs_3" | 1344 | "nixpkgs": "nixpkgs_6" |
| 770 | }, | 1345 | }, |
| 771 | "locked": { | 1346 | "locked": { |
| 772 | "lastModified": 1755605615, | 1347 | "lastModified": 1767919086, |
| 773 | "narHash": "sha256-J0Cxren2QLeI0ZvRZw4XGcMm4q3uPIZHM+eJnaZfXX8=", | 1348 | "narHash": "sha256-t9Z7r8yJDbRqoAhm7vsohHAhMGF373NCWt/XeHlZAWw=", |
| 774 | "owner": "mitchellh", | 1349 | "owner": "mitchellh", |
| 775 | "repo": "zig-overlay", | 1350 | "repo": "zig-overlay", |
| 776 | "rev": "714fae26049a263ff2e4641ce7c973f371f4b005", | 1351 | "rev": "d7671671de8bd3afcabffefc77c75ed9777b249b", |
| 777 | "type": "github" | 1352 | "type": "github" |
| 778 | }, | 1353 | }, |
| 779 | "original": { | 1354 | "original": { |
| ... | @@ -784,8 +1359,8 @@ | ... | @@ -784,8 +1359,8 @@ |
| 784 | }, | 1359 | }, |
| 785 | "zig-overlay": { | 1360 | "zig-overlay": { |
| 786 | "inputs": { | 1361 | "inputs": { |
| 787 | "flake-compat": "flake-compat_3", | 1362 | "flake-compat": "flake-compat_4", |
| 788 | "flake-utils": "flake-utils_6", | 1363 | "flake-utils": "flake-utils_5", |
| 789 | "nixpkgs": [ | 1364 | "nixpkgs": [ |
| 790 | "zls", | 1365 | "zls", |
| 791 | "nixpkgs" | 1366 | "nixpkgs" |
| ... | @@ -807,10 +1382,10 @@ | ... | @@ -807,10 +1382,10 @@ |
| 807 | }, | 1382 | }, |
| 808 | "zls": { | 1383 | "zls": { |
| 809 | "inputs": { | 1384 | "inputs": { |
| 810 | "flake-utils": "flake-utils_5", | 1385 | "flake-utils": "flake-utils_4", |
| 811 | "gitignore": "gitignore_2", | 1386 | "gitignore": "gitignore_3", |
| 812 | "langref": "langref", | 1387 | "langref": "langref", |
| 813 | "nixpkgs": "nixpkgs_4", | 1388 | "nixpkgs": "nixpkgs_7", |
| 814 | "zig-overlay": "zig-overlay" | 1389 | "zig-overlay": "zig-overlay" |
| 815 | }, | 1390 | }, |
| 816 | "locked": { | 1391 | "locked": { |
flake.nix+11-1| ... | @@ -1,7 +1,7 @@ | ... | @@ -1,7 +1,7 @@ |
| 1 | { | 1 | { |
| 2 | description = "multi device configuration flake"; | 2 | description = "multi device configuration flake"; |
| 3 | inputs = { | 3 | inputs = { |
| 4 | nixpkgs.url = "nixpkgs/nixos-unstable"; | 4 | nixpkgs.url = "nixpkgs/nixpkgs-unstable"; |
| 5 | 5 | ||
| 6 | home-manager.url = "github:nix-community/home-manager/master"; | 6 | home-manager.url = "github:nix-community/home-manager/master"; |
| 7 | home-manager.inputs.nixpkgs.follows = "nixpkgs"; | 7 | home-manager.inputs.nixpkgs.follows = "nixpkgs"; |
| ... | @@ -24,6 +24,14 @@ | ... | @@ -24,6 +24,14 @@ |
| 24 | moonlight.url = "github:moonlight-mod/moonlight"; # Add `/develop` to the flake URL to use nightly. | 24 | moonlight.url = "github:moonlight-mod/moonlight"; # Add `/develop` to the flake URL to use nightly. |
| 25 | moonlight.inputs.nixpkgs.follows = "nixpkgs"; | 25 | moonlight.inputs.nixpkgs.follows = "nixpkgs"; |
| 26 | 26 | ||
| 27 | hyprland.url = "github:hyprwm/Hyprland"; | ||
| 28 | split-monitor-workspaces = { | ||
| 29 | url = "github:Duckonaut/split-monitor-workspaces"; | ||
| 30 | inputs.hyprland.follows = "hyprland"; | ||
| 31 | }; | ||
| 32 | |||
| 33 | vicinae.url = "github:vicinaehq/vicinae"; | ||
| 34 | |||
| 27 | zen-browser = { | 35 | zen-browser = { |
| 28 | url = "github:youwen5/zen-browser-flake"; | 36 | url = "github:youwen5/zen-browser-flake"; |
| 29 | inputs.nixpkgs.follows = "nixpkgs"; | 37 | inputs.nixpkgs.follows = "nixpkgs"; |
| ... | @@ -70,6 +78,8 @@ | ... | @@ -70,6 +78,8 @@ |
| 70 | # custom packages | 78 | # custom packages |
| 71 | (_: pkgs: { | 79 | (_: pkgs: { |
| 72 | autofmt = pkgs.callPackage ./packages/autofmt { }; | 80 | autofmt = pkgs.callPackage ./packages/autofmt { }; |
| 81 | exiled_exchange_2 = pkgs.callPackage ./packages/exiled_exchange_2 { }; | ||
| 82 | awakened_poe_trade = pkgs.callPackage ./packages/awakened_poe_trade { }; | ||
| 73 | }) | 83 | }) |
| 74 | ]; | 84 | ]; |
| 75 | 85 |
lib/mkSystem.nix+1| ... | @@ -76,6 +76,7 @@ let | ... | @@ -76,6 +76,7 @@ let |
| 76 | ) | 76 | ) |
| 77 | inputs.nvf.homeManagerModules.default | 77 | inputs.nvf.homeManagerModules.default |
| 78 | inputs.android-nixpkgs.hmModule | 78 | inputs.android-nixpkgs.hmModule |
| 79 | inputs.vicinae.homeManagerModules.default | ||
| 79 | ]; | 80 | ]; |
| 80 | in | 81 | in |
| 81 | systemFunc { | 82 | systemFunc { |
modules/home/default.nix+19-15| ... | @@ -35,12 +35,12 @@ in | ... | @@ -35,12 +35,12 @@ in |
| 35 | sdk: | 35 | sdk: |
| 36 | with sdk; | 36 | with sdk; |
| 37 | [ | 37 | [ |
| 38 | build-tools-35-0-0 | 38 | build-tools-36-0-0 |
| 39 | cmdline-tools-latest | 39 | cmdline-tools-latest |
| 40 | emulator | 40 | emulator |
| 41 | platform-tools | 41 | platform-tools |
| 42 | platforms-android-35 | 42 | platforms-android-36 |
| 43 | sources-android-35 | 43 | sources-android-36 |
| 44 | ndk-27-1-12297006 | 44 | ndk-27-1-12297006 |
| 45 | cmake-3-22-1 | 45 | cmake-3-22-1 |
| 46 | ] | 46 | ] |
| ... | @@ -49,8 +49,8 @@ in | ... | @@ -49,8 +49,8 @@ in |
| 49 | system-images-android-35-google-apis-playstore-arm64-v8a | 49 | system-images-android-35-google-apis-playstore-arm64-v8a |
| 50 | ] | 50 | ] |
| 51 | ++ lib.optionals host.linux [ | 51 | ++ lib.optionals host.linux [ |
| 52 | system-images-android-35-google-apis-x86-64 | 52 | system-images-android-36-google-apis-x86-64 |
| 53 | system-images-android-35-google-apis-playstore-x86-64 | 53 | system-images-android-36-google-apis-playstore-x86-64 |
| 54 | ]; | 54 | ]; |
| 55 | }; | 55 | }; |
| 56 | xdg = { | 56 | xdg = { |
| ... | @@ -69,8 +69,10 @@ in | ... | @@ -69,8 +69,10 @@ in |
| 69 | 69 | ||
| 70 | git = { | 70 | git = { |
| 71 | enable = true; | 71 | enable = true; |
| 72 | userName = lib.mkDefault user.name; | 72 | settings.user = { |
| 73 | userEmail = lib.mkDefault user.email; | 73 | name = lib.mkDefault user.name; |
| 74 | email = lib.mkDefault user.email; | ||
| 75 | }; | ||
| 74 | ignores = [ | 76 | ignores = [ |
| 75 | (lib.mkIf host.darwin ".DS_Store") # When using Finder | 77 | (lib.mkIf host.darwin ".DS_Store") # When using Finder |
| 76 | (lib.mkIf host.darwin "._*") # When using non-APFS drives | 78 | (lib.mkIf host.darwin "._*") # When using non-APFS drives |
| ... | @@ -89,7 +91,7 @@ in | ... | @@ -89,7 +91,7 @@ in |
| 89 | extraPackages = with pkgs.bat-extras; [ | 91 | extraPackages = with pkgs.bat-extras; [ |
| 90 | batdiff | 92 | batdiff |
| 91 | batman | 93 | batman |
| 92 | batgrep | 94 | # batgrep |
| 93 | batwatch | 95 | batwatch |
| 94 | batpipe | 96 | batpipe |
| 95 | prettybat | 97 | prettybat |
| ... | @@ -138,17 +140,19 @@ in | ... | @@ -138,17 +140,19 @@ in |
| 138 | jujutsu = { | 140 | jujutsu = { |
| 139 | settings = { | 141 | settings = { |
| 140 | user = { | 142 | user = { |
| 141 | email = config.programs.git.userEmail; | 143 | inherit (config.programs.git.settings.user) name email; |
| 142 | name = config.programs.git.userName; | ||
| 143 | }; | 144 | }; |
| 144 | signing = { | 145 | signing = lib.mkIf (config.programs.git.signing.format != null) { |
| 145 | behavior = "own"; | 146 | backend = config.programs.git.signing.format; |
| 146 | backend = "ssh"; | ||
| 147 | key = "~/.ssh/id_ed25519.pub"; | 147 | key = "~/.ssh/id_ed25519.pub"; |
| 148 | # signatures are slow, compute them on push instead of on change. | ||
| 149 | behavior = "drop"; | ||
| 148 | }; | 150 | }; |
| 149 | git = { | 151 | git = { |
| 150 | sign-on-push = true; | 152 | sign-on-push = config.programs.git.signing.key != null; |
| 151 | push-new-bookmarks = true; | 153 | }; |
| 154 | remotes.origin = { | ||
| 155 | auto-track-bookmarks = "glob:*"; | ||
| 152 | }; | 156 | }; |
| 153 | ui = { | 157 | ui = { |
| 154 | default-command = "log"; | 158 | default-command = "log"; |
modules/neovim/default.nix+4-4| ... | @@ -82,7 +82,7 @@ | ... | @@ -82,7 +82,7 @@ |
| 82 | servers.nixd.init_options.autoArchive = true; | 82 | servers.nixd.init_options.autoArchive = true; |
| 83 | }; | 83 | }; |
| 84 | treesitter = { | 84 | treesitter = { |
| 85 | enable = true; | 85 | enable = false; |
| 86 | addDefaultGrammars = true; | 86 | addDefaultGrammars = true; |
| 87 | # this is buggy and keybind.nix overwrites its keymaps anyways | 87 | # this is buggy and keybind.nix overwrites its keymaps anyways |
| 88 | incrementalSelection.enable = false; | 88 | incrementalSelection.enable = false; |
| ... | @@ -99,7 +99,7 @@ | ... | @@ -99,7 +99,7 @@ |
| 99 | }; | 99 | }; |
| 100 | languages = { | 100 | languages = { |
| 101 | enableFormat = true; | 101 | enableFormat = true; |
| 102 | enableTreesitter = true; | 102 | enableTreesitter = false; |
| 103 | enableExtraDiagnostics = true; | 103 | enableExtraDiagnostics = true; |
| 104 | # enable debug adapter protocol by default | 104 | # enable debug adapter protocol by default |
| 105 | enableDAP = true; | 105 | enableDAP = true; |
| ... | @@ -111,13 +111,13 @@ | ... | @@ -111,13 +111,13 @@ |
| 111 | html.enable = true; | 111 | html.enable = true; |
| 112 | nix.enable = true; | 112 | nix.enable = true; |
| 113 | python.enable = true; | 113 | python.enable = true; |
| 114 | rust.crates.enable = true; | ||
| 115 | rust.enable = true; | 114 | rust.enable = true; |
| 116 | ts.enable = true; | 115 | ts.enable = true; |
| 117 | zig.enable = true; | 116 | zig.enable = true; |
| 118 | # sort-lines: off | 117 | # sort-lines: off |
| 119 | 118 | ||
| 120 | nix.lsp.servers = "nixd"; | 119 | nix.lsp.servers = [ "nixd" ]; |
| 120 | rust.extensions.crates-nvim.enable = true; | ||
| 121 | }; | 121 | }; |
| 122 | filetree.neo-tree = { | 122 | filetree.neo-tree = { |
| 123 | enable = true; | 123 | enable = true; |
modules/nixos/ld.nix+1| ... | @@ -6,6 +6,7 @@ | ... | @@ -6,6 +6,7 @@ |
| 6 | programs.nix-ld.libraries = with pkgs; [ | 6 | programs.nix-ld.libraries = with pkgs; [ |
| 7 | # common requirement for several games | 7 | # common requirement for several games |
| 8 | stdenv.cc.cc.lib | 8 | stdenv.cc.cc.lib |
| 9 | libxcrypt | ||
| 9 | 10 | ||
| 10 | # from https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/games/steam/fhsenv.nix#L72-L79 | 11 | # from https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/games/steam/fhsenv.nix#L72-L79 |
| 11 | xorg.libXcomposite | 12 | xorg.libXcomposite |
modules/nixos/services.nix+17| ... | @@ -22,6 +22,23 @@ | ... | @@ -22,6 +22,23 @@ |
| 22 | }; | 22 | }; |
| 23 | }; | 23 | }; |
| 24 | 24 | ||
| 25 | gvfs.enable = true; | ||
| 26 | |||
| 27 | gnome = { | ||
| 28 | tinysparql.enable = true; | ||
| 29 | gnome-keyring.enable = true; | ||
| 30 | }; | ||
| 31 | |||
| 32 | fstrim.enable = true; | ||
| 33 | |||
| 34 | dbus = { | ||
| 35 | enable = true; | ||
| 36 | packages = [ | ||
| 37 | pkgs.gcr | ||
| 38 | pkgs.gnome-settings-daemon | ||
| 39 | ]; | ||
| 40 | }; | ||
| 41 | |||
| 25 | # Auto mount devices | 42 | # Auto mount devices |
| 26 | udisks2 = { | 43 | udisks2 = { |
| 27 | enable = true; | 44 | enable = true; |
modules/shared/nix.nix+4| ... | @@ -28,11 +28,15 @@ | ... | @@ -28,11 +28,15 @@ |
| 28 | "https://nix-community.cachix.org" | 28 | "https://nix-community.cachix.org" |
| 29 | # For haskell | 29 | # For haskell |
| 30 | "https://cache.iog.io" | 30 | "https://cache.iog.io" |
| 31 | #vicinae | ||
| 32 | "https://vicinae.cachix.org" | ||
| 31 | ]; | 33 | ]; |
| 32 | trusted-public-keys = [ | 34 | trusted-public-keys = [ |
| 33 | "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" | 35 | "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" |
| 34 | # For haskell | 36 | # For haskell |
| 35 | "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" | 37 | "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" |
| 38 | #vicinae | ||
| 39 | "vicinae.cachix.org-1:1kDrfienkGHPYbkpNj1mWTr7Fm1+zcenzgTizIcI3oc=" | ||
| 36 | ]; | 40 | ]; |
| 37 | }; | 41 | }; |
| 38 | gc = { | 42 | gc = { |
packages/autofmt/default.nix+1-1| ... | @@ -6,7 +6,7 @@ pkgs.writeShellApplication { | ... | @@ -6,7 +6,7 @@ pkgs.writeShellApplication { |
| 6 | clang-tools | 6 | clang-tools |
| 7 | deno | 7 | deno |
| 8 | dprint | 8 | dprint |
| 9 | nixfmt-rfc-style | 9 | nixfmt |
| 10 | prettierd # autofmt only runs on a local build of prettier | 10 | prettierd # autofmt only runs on a local build of prettier |
| 11 | rustfmt | 11 | rustfmt |
| 12 | zig | 12 | zig |
packages/awakened_poe_trade/default.nix created+35| ... | @@ -0,0 +1,35 @@ | ||
| 1 | { pkgs, lib, ... }: | ||
| 2 | |||
| 3 | let | ||
| 4 | pname = "awakened-poe-trade"; | ||
| 5 | version = "3.26.102"; | ||
| 6 | name = "${pname}-${version}"; | ||
| 7 | |||
| 8 | src = pkgs.fetchurl { | ||
| 9 | url = "https://github.com/SnosMe/awakened-poe-trade/releases/download/v${version}/Awakened-PoE-Trade-${version}.AppImage"; | ||
| 10 | sha256 = "sha256-kWMRZvAZKzGFXX7QJJN7eIs88ZDGWU8sMuyQhLgPQCY= | ||
| 11 | "; | ||
| 12 | }; | ||
| 13 | |||
| 14 | appimageContents = pkgs.appimageTools.extract { inherit pname version src; }; | ||
| 15 | in | ||
| 16 | pkgs.appimageTools.wrapType2 rec { | ||
| 17 | inherit pname version src; | ||
| 18 | |||
| 19 | extraInstallCommands = '' | ||
| 20 | install -m 444 -D ${appimageContents}/awakened-poe-trade.desktop $out/share/applications/${pname}.desktop | ||
| 21 | |||
| 22 | install -m 444 -D ${appimageContents}/${pname}.png $out/share/icons/hicolor/512x512/apps/${pname}.png | ||
| 23 | |||
| 24 | substituteInPlace $out/share/applications/${pname}.desktop \ | ||
| 25 | 	--replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname} %U' | ||
| 26 | ''; | ||
| 27 | |||
| 28 | meta = with lib; { | ||
| 29 | description = "Awakened-PoE-Trade"; | ||
| 30 | homepage = "https://github.com/SnosMe/awakened-poe-trade"; | ||
| 31 | license = licenses.mit; | ||
| 32 | maintainers = [ ]; | ||
| 33 | platforms = [ "x86_64-linux" ]; | ||
| 34 | }; | ||
| 35 | } | ||
packages/exiled_exchange_2/default.nix created+34| ... | @@ -0,0 +1,34 @@ | ||
| 1 | { pkgs, lib, ... }: | ||
| 2 | |||
| 3 | let | ||
| 4 | pname = "exiled-exchange-2"; | ||
| 5 | version = "0.12.6"; | ||
| 6 | name = "${pname}-${version}"; | ||
| 7 | |||
| 8 | src = pkgs.fetchurl { | ||
| 9 | url = "https://github.com/Kvan7/Exiled-Exchange-2/releases/download/v${version}/Exiled-Exchange-2-${version}.AppImage"; | ||
| 10 | sha256 = "sha256-2CBdsLQ0EHTINd05ABv8NyCYt2ipYfwmkcpw0SLZRwc=="; | ||
| 11 | }; | ||
| 12 | |||
| 13 | appimageContents = pkgs.appimageTools.extract { inherit pname version src; }; | ||
| 14 | in | ||
| 15 | pkgs.appimageTools.wrapType2 rec { | ||
| 16 | inherit pname version src; | ||
| 17 | |||
| 18 | extraInstallCommands = '' | ||
| 19 | install -m 444 -D ${appimageContents}/exiled-exchange-2.desktop $out/share/applications/${pname}.desktop | ||
| 20 | |||
| 21 | install -m 444 -D ${appimageContents}/${pname}.png $out/share/icons/hicolor/512x512/apps/${pname}.png | ||
| 22 | |||
| 23 | substituteInPlace $out/share/applications/${pname}.desktop \ | ||
| 24 | 	--replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname} %U' | ||
| 25 | ''; | ||
| 26 | |||
| 27 | meta = with lib; { | ||
| 28 | description = "Exiled Exchange 2"; | ||
| 29 | homepage = "https://kvan7.github.io/Exiled-Exchange-2/"; | ||
| 30 | license = licenses.mit; | ||
| 31 | maintainers = [ ]; | ||
| 32 | platforms = [ "x86_64-linux" ]; | ||
| 33 | }; | ||
| 34 | } | ||
switch+5-4| ... | @@ -1,16 +1,17 @@ | ... | @@ -1,16 +1,17 @@ |
| 1 | #!/bin/sh | 1 | #!/bin/sh |
| 2 | set -e | ||
| 3 | cd "$(dirname "$0")" | ||
| 2 | nh_subcommand="os" | 4 | nh_subcommand="os" |
| 3 | fallback_command="nixos-rebuild" | 5 | fallback_command="nixos-rebuild" |
| 4 | hostname_file="$(dirname "$0")/.hostname" | ||
| 5 | if [ -n "$1" ]; then | 6 | if [ -n "$1" ]; then |
| 6 | hostname="$1" | 7 | hostname="$1" |
| 7 | elif [ -f "$hostname_file" ]; then | 8 | elif [ -f ".hostname" ]; then |
| 8 | hostname=$(cat "$hostname_file") | 9 | hostname=$(cat .hostname) |
| 9 | fi | 10 | fi |
| 10 | if [ -z "$hostname" ]; then | 11 | if [ -z "$hostname" ]; then |
| 11 | hostname="$(hostname)" | 12 | hostname="$(hostname)" |
| 12 | fi | 13 | fi |
| 13 | printf "%s" "$hostname" >"$hostname_file" | 14 | printf "%s" "$hostname" >.hostname |
| 14 | if [ "$(uname -o)" = "Darwin" ]; then | 15 | if [ "$(uname -o)" = "Darwin" ]; then |
| 15 | nh_subcommand="darwin" | 16 | nh_subcommand="darwin" |
| 16 | fallback_command="nix run .#darwin-rebuild" | 17 | fallback_command="nix run .#darwin-rebuild" |
users/clover/configuration.nix+8| ... | @@ -17,6 +17,14 @@ | ... | @@ -17,6 +17,14 @@ |
| 17 | ]; | 17 | ]; |
| 18 | }; | 18 | }; |
| 19 | 19 | ||
| 20 | homebrew = { | ||
| 21 | enable = true; | ||
| 22 | casks = [ | ||
| 23 | "db-browser-for-sqlite" | ||
| 24 | "alt-tab" | ||
| 25 | ]; | ||
| 26 | }; | ||
| 27 | |||
| 20 | # system preferences | 28 | # system preferences |
| 21 | system.defaults = { | 29 | system.defaults = { |
| 22 | NSGlobalDomain = { | 30 | NSGlobalDomain = { |
users/clover/home.nix+82-133| ... | @@ -1,4 +1,9 @@ | ... | @@ -1,4 +1,9 @@ |
| 1 | { pkgs, host, ... }: | 1 | { |
| 2 | config, | ||
| 3 | pkgs, | ||
| 4 | host, | ||
| 5 | ... | ||
| 6 | }: | ||
| 2 | let | 7 | let |
| 3 | hostServer = false; | 8 | hostServer = false; |
| 4 | in | 9 | in |
| ... | @@ -14,23 +19,19 @@ in | ... | @@ -14,23 +19,19 @@ in |
| 14 | ripgrep | 19 | ripgrep |
| 15 | uv | 20 | uv |
| 16 | nh | 21 | nh |
| 17 | pkgs.autofmt | 22 | autofmt |
| 23 | gnupg | ||
| 24 | nodejs_24 | ||
| 18 | ]; | 25 | ]; |
| 19 | # packages to install for desktop environments (non-server) | 26 | # packages to install for desktop environments (non-server) |
| 20 | desktop = [ | 27 | desktop = [ |
| 21 | git-town | ||
| 22 | lazygit | ||
| 23 | jjui | ||
| 24 | ]; | 28 | ]; |
| 25 | # packages to install on all servers | 29 | # packages to install on all servers |
| 26 | server = [ ]; | 30 | server = [ ]; |
| 27 | # packages to install on macOS desktops | 31 | # packages to install on macOS desktops |
| 28 | darwin = [ | 32 | darwin = [ ]; |
| 29 | raycast | ||
| 30 | ]; | ||
| 31 | # packages to install on linux desktops | 33 | # packages to install on linux desktops |
| 32 | linux = [ | 34 | linux = [ |
| 33 | reaper # TODO: why does this break on macOS | ||
| 34 | ]; | 35 | ]; |
| 35 | in | 36 | in |
| 36 | all ++ (if host.darwin then darwin else linux) ++ (if hostServer then server else desktop); | 37 | all ++ (if host.darwin then darwin else linux) ++ (if hostServer then server else desktop); |
| ... | @@ -50,23 +51,32 @@ in | ... | @@ -50,23 +51,32 @@ in |
| 50 | settings = { | 51 | settings = { |
| 51 | theme = "light:Farmhouse Light,dark:Challenger Deep"; | 52 | theme = "light:Farmhouse Light,dark:Challenger Deep"; |
| 52 | font-family = "AT Name Mono"; | 53 | font-family = "AT Name Mono"; |
| 53 | adjust-cursor-thickness = 1; | 54 | adjust-cursor-thickness = 2; |
| 54 | background-opacity = 0.9; | 55 | background-opacity = 0.95; |
| 55 | background-blur = true; | 56 | background-blur = true; |
| 57 | unfocused-split-opacity = 1; | ||
| 56 | }; | 58 | }; |
| 57 | }; | 59 | }; |
| 58 | 60 | ||
| 59 | # zsh is the shell i use | 61 | # zsh is the shell i use |
| 60 | zsh = { | 62 | zsh = { |
| 61 | enable = true; | 63 | enable = true; |
| 64 | dotDir = "${config.xdg.configHome}/zsh"; | ||
| 62 | shellAliases = { | 65 | shellAliases = { |
| 63 | switch = "~/config/switch"; | 66 | switch = "~/config/switch"; |
| 64 | gg = "lazygit"; | 67 | |
| 65 | ga = "git add"; | 68 | # move a bookmark from the previous commit |
| 66 | g = "git status"; | 69 | jf = "jj git fetch"; |
| 67 | gp = "git pull --rebase && git push"; | 70 | e = "jj edit"; |
| 71 | d = "jj desc"; | ||
| 72 | bup = "jj b m --from 'heads(::@- & bookmarks())' --to '@'"; | ||
| 73 | moveself = "jj rebase -r @ -d"; | ||
| 74 | logall = "jj log -r 'all()'"; | ||
| 75 | cherry = "jj git fetch && jj split -i -p -m 'SPLIT_CHANGES' && jj edit -r 'description(\"SPLIT_CHANGES\")' && jj desc -m '' --edit"; | ||
| 68 | }; | 76 | }; |
| 69 | profileExtra = '' | 77 | initContent = '' |
| 78 | export PS1="%{$(tput setaf 207)%}%m%{$(tput setaf 15)%}:%{$(tput setaf 87)%}%~ %{$(tput sgr0)%}$ " | ||
| 79 | |||
| 70 | function python() { | 80 | function python() { |
| 71 | dirname=$(dirname $1 2>/dev/null) | 81 | dirname=$(dirname $1 2>/dev/null) |
| 72 | if [ -z "$dirname" ]; then | 82 | if [ -z "$dirname" ]; then |
| ... | @@ -74,11 +84,44 @@ in | ... | @@ -74,11 +84,44 @@ in |
| 74 | fi | 84 | fi |
| 75 | uv run --project "$dirname" "$@" | 85 | uv run --project "$dirname" "$@" |
| 76 | } | 86 | } |
| 87 | |||
| 88 | function bun() { | ||
| 89 | if [[ "$1" = "build" ]]; then | ||
| 90 | command bun run "$@" | ||
| 91 | elif [[ "$1" = "bundle" ]]; then | ||
| 92 | shift | ||
| 93 | command bun build "$@" | ||
| 94 | else | ||
| 95 | command bun "$@" | ||
| 96 | fi | ||
| 97 | } | ||
| 98 | |||
| 99 | function jj() { | ||
| 100 | if [[ "$*" = "git push"* ]] && [[ "$*" != *"--dry-run"* ]]; then | ||
| 101 | command jj "$@" --dry-run | ||
| 102 | printf "Press any key to continue... " | ||
| 103 | read -r | ||
| 104 | command jj "$@" | ||
| 105 | else | ||
| 106 | command jj "$@" | ||
| 107 | fi | ||
| 108 | } | ||
| 77 | ''; | 109 | ''; |
| 78 | }; | 110 | }; |
| 79 | 111 | ||
| 80 | # use a git-specific email | 112 | git = { |
| 81 | git.userEmail = "git@paperclover.net"; | 113 | # use a git-specific email |
| 114 | settings.user.email = "git@paperclover.net"; | ||
| 115 | settings.gpg.ssh.allowedSignersFile = "${pkgs.writeText "allowed_signers" '' | ||
| 116 | git@paperclover.net ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAVa1aq1LEj/VXHJYlR5HJpK65lS/9jOL/dAB9ZS1chd | ||
| 117 | ''}"; | ||
| 118 | # signing | ||
| 119 | signing = { | ||
| 120 | signByDefault = true; | ||
| 121 | key = "~/.ssh/id_ed25519"; | ||
| 122 | format = "ssh"; | ||
| 123 | }; | ||
| 124 | }; | ||
| 82 | 125 | ||
| 83 | jujutsu = { | 126 | jujutsu = { |
| 84 | enable = true; | 127 | enable = true; |
| ... | @@ -148,133 +191,39 @@ in | ... | @@ -148,133 +191,39 @@ in |
| 148 | }; | 191 | }; |
| 149 | # ui.graph.style = "square"; | 192 | # ui.graph.style = "square"; |
| 150 | revsets = { | 193 | revsets = { |
| 151 | log = "ancestors(description(regex:\"^(WIP:|\\\\s*$)\"), 3) | ancestors(immutable_heads(), 2) | ancestors(visible_heads(), 2)"; | ||
| 152 | short-prefixes = "(trunk()..@)::"; | 194 | short-prefixes = "(trunk()..@)::"; |
| 153 | }; | 195 | }; |
| 154 | templates.log = "hl_wip(self)"; | 196 | aliases = { |
| 155 | 197 | "ab" = [ "abandon" ]; | |
| 156 | template-aliases = { | 198 | # "ai" = [ |
| 157 | # log template, highlighting the WIP commits by making everything else faded out | 199 | # "util" |
| 158 | "hl_wip(commit)" = '' | 200 | # "exec" |
| 159 | if(commit.root(), format_root_commit(commit), | 201 | # "--" |
| 160 | label("__commit__", | 202 | # "~/jj-ai-sync.sh" |
| 161 | format_short_commit_header(commit) ++ "\n" ++ | 203 | # ]; |
| 162 | format_commit_description(commit) | ||
| 163 | ) | ||
| 164 | ) | ||
| 165 | ''; | ||
| 166 | |||
| 167 | "format_commit_description(commit)" = '' | ||
| 168 | label("desc", format_commit_firstline(commit.description().first_line())) ++ | ||
| 169 | "\n" ++ if( | ||
| 170 | commit.description().starts_with("WIP:") || commit.current_working_copy(), | ||
| 171 | commit.description().remove_prefix(commit.description().first_line()).remove_prefix("\n").trim_end() ++ "\n ", | ||
| 172 | if(commit.description().remove_prefix(commit.description().first_line()).trim().len() > 0, | ||
| 173 | label("muted", lines_collapsed(commit.description().lines().filter(|x| x.trim().len() > 0).len() - 1)), | ||
| 174 | " " | ||
| 175 | ) | ||
| 176 | ) | ||
| 177 | ''; | ||
| 178 | "lines_collapsed(count)" = | ||
| 179 | ''("[" ++ stringify(count ++ " line" ++ if(count == 1, "", "s")) ++ " collapsed]\n")''; | ||
| 180 | "format_commit_firstline(line)" = '' | ||
| 181 | if(line.starts_with("WIP:"), | ||
| 182 | label("cc_wip", " WIP ") ++ " " ++ format_commit_firstline_a_wip(line.remove_prefix("WIP:").trim()), | ||
| 183 | format_commit_firstline_a_wip(line) | ||
| 184 | ) | ||
| 185 | ''; | ||
| 186 | "format_commit_firstline_a_wip(line)" = '' | ||
| 187 | if(line.starts_with("feat:") || line.starts_with("feat("), | ||
| 188 | label("cc_feat", "feat") ++ format_commit_firstline_a_cc_type(line.remove_prefix("feat")), | ||
| 189 | if(line.starts_with("fix:") || line.starts_with("fix("), | ||
| 190 | label("cc_fix", "fix") ++ format_commit_firstline_a_cc_type(line.remove_prefix("fix")), | ||
| 191 | if(line.starts_with("hotfix:") || line.starts_with("hotfix("), | ||
| 192 | label("cc_hotfix", "hotfix") ++ format_commit_firstline_a_cc_type(line.remove_prefix("hotfix")), | ||
| 193 | if(line.starts_with("chore:") || line.starts_with("chore("), | ||
| 194 | label("cc_chore", "chore") ++ format_commit_firstline_a_cc_type(line.remove_prefix("chore")), | ||
| 195 | if(line.starts_with("test:") || line.starts_with("test("), | ||
| 196 | label("cc_other", "test") ++ format_commit_firstline_a_cc_type(line.remove_prefix("test")), | ||
| 197 | if(line.starts_with("refactor:") || line.starts_with("refactor("), | ||
| 198 | label("cc_other", "refactor") ++ format_commit_firstline_a_cc_type(line.remove_prefix("refactor")), | ||
| 199 | if(line.starts_with("perf:") || line.starts_with("perf("), | ||
| 200 | label("cc_other", "perf") ++ format_commit_firstline_a_cc_type(line.remove_prefix("perf")), | ||
| 201 | if(line.starts_with("lib:") || line.starts_with("lib("), | ||
| 202 | label("cc_other", "lib") ++ format_commit_firstline_a_cc_type(line.remove_prefix("lib")), | ||
| 203 | label("cc_header", line) | ||
| 204 | )))))))) | ||
| 205 | ''; | ||
| 206 | "format_commit_firstline_a_cc_type(rest)" = '' | ||
| 207 | if(rest.starts_with("(") && rest.contains(")"), | ||
| 208 | format_firstline_cc_scope(rest, index_of_close_paren(rest)), | ||
| 209 | format_firstline_a_cc(rest)) | ||
| 210 | ''; | ||
| 211 | "format_firstline_cc_scope(rest, index)" = '' | ||
| 212 | label("cc_scope", rest.substr(0, index)) ++ format_firstline_a_cc(rest.substr(index, rest.len())) | ||
| 213 | ''; | ||
| 214 | "format_firstline_a_cc(rest)" = '' | ||
| 215 | if(rest.starts_with(":"), | ||
| 216 | label("muted", ":") ++ label("cc_header", rest.remove_prefix(":")), | ||
| 217 | label("cc_header", rest) | ||
| 218 | ) | ||
| 219 | ''; | ||
| 220 | # sorry! | ||
| 221 | "index_of_close_paren(line)" = '' | ||
| 222 | stringify(if(line.substr(1, 2) == ")", "A", | ||
| 223 | if(line.substr(2, 3) == ")", "AA", | ||
| 224 | if(line.substr(3, 4) == ")", "AAA", | ||
| 225 | if(line.substr(4, 5) == ")", "AAAA", | ||
| 226 | if(line.substr(5, 6) == ")", "AAAAA", | ||
| 227 | if(line.substr(6, 7) == ")", "AAAAAA", | ||
| 228 | if(line.substr(7, 8) == ")", "AAAAAAA", | ||
| 229 | if(line.substr(8, 9) == ")", "AAAAAAAA", | ||
| 230 | if(line.substr(9, 10) == ")","AAAAAAAAA", | ||
| 231 | if(line.substr(10, 11) == ")", "AAAAAAAAAA", | ||
| 232 | if(line.substr(11, 12) == ")", "AAAAAAAAAAA", | ||
| 233 | if(line.substr(12, 13) == ")", "AAAAAAAAAAAA", | ||
| 234 | if(line.substr(13, 14) == ")", "AAAAAAAAAAAAA", | ||
| 235 | if(line.substr(14, 15) == ")", "AAAAAAAAAAAAAA", | ||
| 236 | if(line.substr(15, 16) == ")", "AAAAAAAAAAAAAAA", | ||
| 237 | if(line.substr(16, 17) == ")", "AAAAAAAAAAAAAAAA", | ||
| 238 | if(line.substr(17, 18) == ")", "AAAAAAAAAAAAAAAAA", | ||
| 239 | if(line.substr(18, 19) == ")", "AAAAAAAAAAAAAAAAAA", | ||
| 240 | if(line.substr(19, 20) == ")", "AAAAAAAAAAAAAAAAAAA", | ||
| 241 | if(line.substr(20, 21) == ")", "AAAAAAAAAAAAAAAAAAAA", | ||
| 242 | "AAAAAAAAAAAAAAAAAAAAA" | ||
| 243 | ))))))))))))))))))))).len() + 1 | ||
| 244 | ''; | ||
| 245 | |||
| 246 | "format_short_signature(signature)" = "signature.name()"; | ||
| 247 | "format_timestamp(timestamp)" = "timestamp.ago()"; | ||
| 248 | "format_short_commit_header(commit)" = '' | ||
| 249 | separate(" ", | ||
| 250 | if(commit.current_working_copy(), label("active_marker", " ACTIVE ")), | ||
| 251 | if(commit.conflict(), label("conflict_marker", " CONFLICT ")), | ||
| 252 | format_short_change_id_with_hidden_and_divergent_info(commit), | ||
| 253 | format_short_signature(commit.author()), | ||
| 254 | label("muted", "|"), | ||
| 255 | if(commit.description().trim().len() > 0, label("muted", format_timestamp(commit_timestamp(commit)))), | ||
| 256 | commit.bookmarks(), | ||
| 257 | commit.tags(), | ||
| 258 | commit.working_copies(), | ||
| 259 | label("muted", "(") ++ | ||
| 260 | format_short_commit_id(commit.commit_id()) ++ | ||
| 261 | label("muted", ")"), | ||
| 262 | if(config("ui.show-cryptographic-signatures").as_boolean(), | ||
| 263 | format_short_cryptographic_signature(commit.signature())), | ||
| 264 | ) | ||
| 265 | ''; | ||
| 266 | }; | 204 | }; |
| 267 | }; | 205 | }; |
| 268 | }; | 206 | }; |
| 269 | 207 | ||
| 270 | ssh = { | 208 | ssh = { |
| 271 | enable = true; | 209 | enable = true; |
| 210 | enableDefaultConfig = false; | ||
| 211 | extraConfig = '' | ||
| 212 | Include ~/.orbstack/ssh/config* | ||
| 213 | |||
| 214 | SetEnv TERM=xterm-256color | ||
| 215 | ''; | ||
| 272 | matchBlocks = rec { | 216 | matchBlocks = rec { |
| 217 | "*" = { }; | ||
| 273 | zenith = { | 218 | zenith = { |
| 274 | user = "clo"; | 219 | user = "clo"; |
| 275 | port = 222; | 220 | port = 22; |
| 221 | }; | ||
| 222 | "git.paperclover.net" = zenith; | ||
| 223 | "paperclover.net" = { | ||
| 224 | user = "clo"; | ||
| 225 | port = 22; | ||
| 276 | }; | 226 | }; |
| 277 | "nas.paperclover.net" = zenith; | ||
| 278 | }; | 227 | }; |
| 279 | }; | 228 | }; |
| 280 | }; | 229 | }; |
users/clover/paperback/configuration.nix-6| ... | @@ -1,8 +1,2 @@ | ... | @@ -1,8 +1,2 @@ |
| 1 | _: { | 1 | _: { |
| 2 | homebrew = { | ||
| 3 | enable = true; | ||
| 4 | casks = [ | ||
| 5 | "db-browser-for-sqlite" | ||
| 6 | ]; | ||
| 7 | }; | ||
| 8 | } | 2 | } |
users/clover/paperback/home.nix-1| ... | @@ -12,7 +12,6 @@ | ... | @@ -12,7 +12,6 @@ |
| 12 | }; | 12 | }; |
| 13 | home.packages = with pkgs; [ | 13 | home.packages = with pkgs; [ |
| 14 | deno | 14 | deno |
| 15 | nodejs_22 | ||
| 16 | rustup | 15 | rustup |
| 17 | typescript | 16 | typescript |
| 18 | pm2 | 17 | pm2 |
users/clover/work/home.nix+3-3| ... | @@ -8,17 +8,17 @@ | ... | @@ -8,17 +8,17 @@ |
| 8 | } | 8 | } |
| 9 | ''; | 9 | ''; |
| 10 | }; | 10 | }; |
| 11 | programs.git.signing.key = "CE485807AE4068AF8508C8DC5CBB21841C7920AD"; | ||
| 11 | home.packages = with pkgs; [ | 12 | home.packages = with pkgs; [ |
| 12 | (bun.overrideAttrs (_: rec { | 13 | (bun.overrideAttrs (_: rec { |
| 13 | version = "1.1.17"; | 14 | version = "1.3.0"; |
| 14 | src = fetchurl { | 15 | src = fetchurl { |
| 15 | url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip"; | 16 | url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip"; |
| 16 | hash = "sha256-aULgRZ9evcGUhKJ6slLJOg3IEzUeNfIkJF8RDP3YUlo="; | 17 | hash = "sha256-hYSOP5ZIHvyr51pQD9O5S5u5VoaretCjiSl2x74VA2o="; |
| 17 | }; | 18 | }; |
| 18 | })) | 19 | })) |
| 19 | doppler | 20 | doppler |
| 20 | deno | 21 | deno |
| 21 | nodejs_24 | ||
| 22 | rustup | 22 | rustup |
| 23 | typescript | 23 | typescript |
| 24 | ssm-session-manager-plugin | 24 | ssm-session-manager-plugin |
users/natalie/desktop/configuration.nix+37-6| ... | @@ -10,7 +10,19 @@ | ... | @@ -10,7 +10,19 @@ |
| 10 | ./hardware-configuration.nix | 10 | ./hardware-configuration.nix |
| 11 | ]; | 11 | ]; |
| 12 | documentation.man.generateCaches = false; | 12 | documentation.man.generateCaches = false; |
| 13 | services.displayManager = { | ||
| 14 | enable = true; | ||
| 15 | sddm = { | ||
| 16 | enable = true; | ||
| 17 | wayland.enable = true; | ||
| 18 | }; | ||
| 19 | }; | ||
| 20 | |||
| 13 | programs = { | 21 | programs = { |
| 22 | hyprland = { | ||
| 23 | enable = true; | ||
| 24 | withUWSM = true; | ||
| 25 | }; | ||
| 14 | gamemode.enable = true; | 26 | gamemode.enable = true; |
| 15 | 27 | ||
| 16 | _1password.enable = true; | 28 | _1password.enable = true; |
| ... | @@ -35,7 +47,19 @@ | ... | @@ -35,7 +47,19 @@ |
| 35 | 47 | ||
| 36 | steam = { | 48 | steam = { |
| 37 | enable = true; | 49 | enable = true; |
| 38 | package = with pkgs; steam.override { extraPkgs = pkgs: [ attr ]; }; | 50 | remotePlay.openFirewall = true; |
| 51 | |||
| 52 | gamescopeSession.enable = true; | ||
| 53 | extraCompatPackages = [ pkgs.proton-ge-bin ]; | ||
| 54 | }; | ||
| 55 | |||
| 56 | gamescope = { | ||
| 57 | enable = true; | ||
| 58 | capSysNice = true; | ||
| 59 | args = [ | ||
| 60 | "--rt" | ||
| 61 | "--expose-wayland" | ||
| 62 | ]; | ||
| 39 | }; | 63 | }; |
| 40 | 64 | ||
| 41 | git = { | 65 | git = { |
| ... | @@ -56,12 +80,23 @@ | ... | @@ -56,12 +80,23 @@ |
| 56 | }; | 80 | }; |
| 57 | 81 | ||
| 58 | hardware.bluetooth.enable = true; | 82 | hardware.bluetooth.enable = true; |
| 83 | hardware.graphics.enable = true; | ||
| 59 | 84 | ||
| 60 | xdg.portal = { | 85 | xdg.portal = { |
| 61 | enable = true; | 86 | enable = true; |
| 87 | xdgOpenUsePortal = true; | ||
| 88 | config = { | ||
| 89 | common.default = [ "gtk" ]; | ||
| 90 | hyprland.default = [ | ||
| 91 | "gtk" | ||
| 92 | "hyprland" | ||
| 93 | ]; | ||
| 94 | }; | ||
| 95 | |||
| 62 | extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; | 96 | extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; |
| 63 | }; | 97 | }; |
| 64 | virtualisation = { | 98 | virtualisation = { |
| 99 | waydroid.enable = true; | ||
| 65 | containers.enable = true; | 100 | containers.enable = true; |
| 66 | podman = { | 101 | podman = { |
| 67 | enable = true; | 102 | enable = true; |
| ... | @@ -83,6 +118,7 @@ | ... | @@ -83,6 +118,7 @@ |
| 83 | hibernate.enable = false; | 118 | hibernate.enable = false; |
| 84 | hybrid-sleep.enable = false; | 119 | hybrid-sleep.enable = false; |
| 85 | }; | 120 | }; |
| 121 | settings.Manager.DefaultTimeoutStopSec = "10s"; | ||
| 86 | 122 | ||
| 87 | services.monitord.wantedBy = [ "multi-user.target" ]; | 123 | services.monitord.wantedBy = [ "multi-user.target" ]; |
| 88 | }; | 124 | }; |
| ... | @@ -121,11 +157,6 @@ | ... | @@ -121,11 +157,6 @@ |
| 121 | 157 | ||
| 122 | # Enable sound with pipewire. | 158 | # Enable sound with pipewire. |
| 123 | security.rtkit.enable = true; | 159 | security.rtkit.enable = true; |
| 124 | services = { | ||
| 125 | desktopManager.cosmic.enable = true; | ||
| 126 | displayManager.cosmic-greeter.enable = true; | ||
| 127 | desktopManager.cosmic.xwayland.enable = true; | ||
| 128 | }; | ||
| 129 | 160 | ||
| 130 | # Enable touchpad support (enabled default in most desktopManager). | 161 | # Enable touchpad support (enabled default in most desktopManager). |
| 131 | # services.xserver.libinput.enable = true; | 162 | # services.xserver.libinput.enable = true; |
users/natalie/desktop/home.nix+4-2| ... | @@ -15,8 +15,7 @@ | ... | @@ -15,8 +15,7 @@ |
| 15 | packages = with pkgs; [ | 15 | packages = with pkgs; [ |
| 16 | #building macos apps hard :( | 16 | #building macos apps hard :( |
| 17 | ghostty | 17 | ghostty |
| 18 | stremio | 18 | #stremio broken qtwebengine |
| 19 | julia | ||
| 20 | qbittorrent | 19 | qbittorrent |
| 21 | 20 | ||
| 22 | #gaming | 21 | #gaming |
| ... | @@ -34,6 +33,9 @@ | ... | @@ -34,6 +33,9 @@ |
| 34 | limo | 33 | limo |
| 35 | nexusmods-app-unfree | 34 | nexusmods-app-unfree |
| 36 | protontricks | 35 | protontricks |
| 36 | (pkgs.callPackage ../../../packages/exiled_exchange_2 { }) | ||
| 37 | awakened_poe_trade | ||
| 38 | fuse-overlayfs | ||
| 37 | 39 | ||
| 38 | #window manager stuff | 40 | #window manager stuff |
| 39 | wofi | 41 | wofi |
users/natalie/home.nix+7| ... | @@ -5,6 +5,9 @@ | ... | @@ -5,6 +5,9 @@ |
| 5 | ... | 5 | ... |
| 6 | }@args: | 6 | }@args: |
| 7 | { | 7 | { |
| 8 | imports = [ | ||
| 9 | ./home | ||
| 10 | ]; | ||
| 8 | programs = { | 11 | programs = { |
| 9 | # sort-lines:start | 12 | # sort-lines:start |
| 10 | atuin.enable = true; | 13 | atuin.enable = true; |
| ... | @@ -28,6 +31,10 @@ | ... | @@ -28,6 +31,10 @@ |
| 28 | }; | 31 | }; |
| 29 | }; | 32 | }; |
| 30 | # sort-lines:end | 33 | # sort-lines:end |
| 34 | ghostty = { | ||
| 35 | enable = true; | ||
| 36 | settings.theme = "Catppuccin Mocha"; | ||
| 37 | }; | ||
| 31 | 38 | ||
| 32 | fish = { | 39 | fish = { |
| 33 | shellAliases = | 40 | shellAliases = |
users/natalie/home/default.nix created+12| ... | @@ -0,0 +1,12 @@ | ||
| 1 | { ... }: | ||
| 2 | { | ||
| 3 | imports = [ | ||
| 4 | ./tmux.nix | ||
| 5 | ./hyprland | ||
| 6 | ./vicinae.nix | ||
| 7 | ./swaync.nix | ||
| 8 | ./gtk.nix | ||
| 9 | ./waybar | ||
| 10 | ./scripts | ||
| 11 | ]; | ||
| 12 | } | ||
users/natalie/home/gtk.nix created+35| ... | @@ -0,0 +1,35 @@ | ||
| 1 | { pkgs, ... }: | ||
| 2 | { | ||
| 3 | |||
| 4 | gtk = { | ||
| 5 | enable = true; | ||
| 6 | |||
| 7 | font = { | ||
| 8 | name = "Maple Mono"; | ||
| 9 | size = 12; | ||
| 10 | }; | ||
| 11 | theme = { | ||
| 12 | name = "Catppuccin-GTK-Dark"; | ||
| 13 | package = pkgs.magnetic-catppuccin-gtk.override { | ||
| 14 | tweaks = [ | ||
| 15 | "float" | ||
| 16 | ]; | ||
| 17 | }; | ||
| 18 | }; | ||
| 19 | iconTheme = { | ||
| 20 | name = "Papirus-Dark"; | ||
| 21 | package = pkgs.papirus-icon-theme; | ||
| 22 | }; | ||
| 23 | cursorTheme = { | ||
| 24 | name = "Bibata-Modern-Ice"; | ||
| 25 | package = pkgs.bibata-cursors; | ||
| 26 | size = 24; | ||
| 27 | }; | ||
| 28 | }; | ||
| 29 | |||
| 30 | home.pointerCursor = { | ||
| 31 | name = "Bibata-Modern-Ice"; | ||
| 32 | package = pkgs.bibata-cursors; | ||
| 33 | size = 24; | ||
| 34 | }; | ||
| 35 | } | ||
users/natalie/home/hyprland/binds.nix created+158| ... | @@ -0,0 +1,158 @@ | ||
| 1 | { pkgs, ... }: | ||
| 2 | { | ||
| 3 | wayland.windowManager.hyprland.settings = { | ||
| 4 | binds = { | ||
| 5 | movefocus_cycles_fullscreen = true; | ||
| 6 | }; | ||
| 7 | |||
| 8 | bind = [ | ||
| 9 | # show keybinds list | ||
| 10 | "$mainMod, F1, exec, show-keybinds" | ||
| 11 | |||
| 12 | # keybindings | ||
| 13 | "$mainMod, Return, exec, ${pkgs.ghostty}/bin/ghostty --gtk-single-instance=true" | ||
| 14 | "$mainMod, P, pseudo," | ||
| 15 | "$mainMod, C, killactive," | ||
| 16 | "$mainMod, M, exit, " | ||
| 17 | "$mainMod, E, exec, $fileManager" | ||
| 18 | "$mainMod, F, togglefloating," | ||
| 19 | "$mainMod, R, exec, $menu " | ||
| 20 | "$mainMod, J, togglesplit " | ||
| 21 | "$mainMod, Space, exec, vicinae vicinae://toggle" | ||
| 22 | # "ALT, Return, exec, [float; size 1111 700] ghostty" | ||
| 23 | # "$mainMod SHIFT, Return, exec, [fullscreen] ghostty" | ||
| 24 | # "$mainMod, B, exec, [workspace 1 silent] zen-beta" | ||
| 25 | # "$mainMod, Q, killactive," | ||
| 26 | # "$mainMod, F, fullscreen, 0" | ||
| 27 | # "$mainMod SHIFT, F, fullscreen, 1" | ||
| 28 | # "$mainMod, Space, exec, toggle-float" | ||
| 29 | # "$mainMod SHIFT, D, exec, webcord --enable-features=UseOzonePlatform --ozone-platform=wayland" | ||
| 30 | # "$mainMod SHIFT, S, exec, hyprctl dispatch exec '[workspace 5 silent] SoundWireServer'" | ||
| 31 | # "$mainMod, Escape, exec, swaylock" | ||
| 32 | # "ALT, Escape, exec, hyprlock" | ||
| 33 | # "$mainMod SHIFT, Escape, exec, power-menu" | ||
| 34 | # "$mainMod, X, togglesplit," | ||
| 35 | # "$mainMod, T, exec, toggle-oppacity" | ||
| 36 | # "$mainMod, E, exec, nemo" | ||
| 37 | # "ALT, E, exec, hyprctl dispatch exec '[float; size 1111 700] nemo'" | ||
| 38 | # "$mainMod SHIFT, B, exec, toggle-waybar" | ||
| 39 | # "$mainMod, C ,exec, hyprpicker -a" | ||
| 40 | # "$mainMod, W,exec, wallpaper-picker" | ||
| 41 | # "$mainMod SHIFT, W,exec, hyprctl dispatch exec '[float; size 925 615] waypaper'" | ||
| 42 | # "$mainMod, N, exec, swaync-client -t -sw" | ||
| 43 | # "CTRL SHIFT, Escape, exec, hyprctl dispatch exec '[workspace 9] missioncenter'" | ||
| 44 | # "$mainMod, equal, exec, woomer" | ||
| 45 | # "$mainMod SHIFT, W, exec, vm-start" | ||
| 46 | |||
| 47 | # screenshot | ||
| 48 | ",Print, exec, screenshot --copy" | ||
| 49 | "$mainMod, Print, exec, screenshot --save" | ||
| 50 | "$mainMod SHIFT, Print, exec, screenshot --swappy" | ||
| 51 | |||
| 52 | # switch focus | ||
| 53 | "$mainMod, left, movefocus, l" | ||
| 54 | "$mainMod, right, movefocus, r" | ||
| 55 | "$mainMod, up, movefocus, u" | ||
| 56 | "$mainMod, down, movefocus, d" | ||
| 57 | "$mainMod, h, movefocus, l" | ||
| 58 | "$mainMod, j, movefocus, d" | ||
| 59 | "$mainMod, k, movefocus, u" | ||
| 60 | "$mainMod, l, movefocus, r" | ||
| 61 | |||
| 62 | "$mainMod, left, alterzorder, top" | ||
| 63 | "$mainMod, right, alterzorder, top" | ||
| 64 | "$mainMod, up, alterzorder, top" | ||
| 65 | "$mainMod, down, alterzorder, top" | ||
| 66 | "$mainMod, h, alterzorder, top" | ||
| 67 | "$mainMod, j, alterzorder, top" | ||
| 68 | "$mainMod, k, alterzorder, top" | ||
| 69 | "$mainMod, l, alterzorder, top" | ||
| 70 | |||
| 71 | "CTRL ALT, up, exec, hyprctl dispatch focuswindow floating" | ||
| 72 | "CTRL ALT, down, exec, hyprctl dispatch focuswindow tiled" | ||
| 73 | |||
| 74 | # switch workspace | ||
| 75 | "$mainMod, 1, split-workspace, 1" | ||
| 76 | "$mainMod, 2, split-workspace, 2" | ||
| 77 | "$mainMod, 3, split-workspace, 3" | ||
| 78 | "$mainMod, 4, split-workspace, 4" | ||
| 79 | "$mainMod, 5, split-workspace, 5" | ||
| 80 | "$mainMod, 6, split-workspace, 6" | ||
| 81 | "$mainMod, 7, split-workspace, 7" | ||
| 82 | "$mainMod, 8, split-workspace, 8" | ||
| 83 | "$mainMod, 9, split-workspace, 9" | ||
| 84 | "$mainMod, 0, split-workspace, 10" | ||
| 85 | |||
| 86 | # same as above, but switch to the workspace | ||
| 87 | "$mainMod SHIFT, 1, split-movetoworkspacesilent, 1" # movetoworkspacesilent | ||
| 88 | "$mainMod SHIFT, 2, split-movetoworkspacesilent, 2" | ||
| 89 | "$mainMod SHIFT, 3, split-movetoworkspacesilent, 3" | ||
| 90 | "$mainMod SHIFT, 4, split-movetoworkspacesilent, 4" | ||
| 91 | "$mainMod SHIFT, 5, split-movetoworkspacesilent, 5" | ||
| 92 | "$mainMod SHIFT, 6, split-movetoworkspacesilent, 6" | ||
| 93 | "$mainMod SHIFT, 7, split-movetoworkspacesilent, 7" | ||
| 94 | "$mainMod SHIFT, 8, split-movetoworkspacesilent, 8" | ||
| 95 | "$mainMod SHIFT, 9, split-movetoworkspacesilent, 9" | ||
| 96 | "$mainMod SHIFT, 0, split-movetoworkspacesilent, 10" | ||
| 97 | "$mainMod CTRL, c, split-movetoworkspace, empty" | ||
| 98 | |||
| 99 | # window control | ||
| 100 | "$mainMod SHIFT, left, movewindow, l" | ||
| 101 | "$mainMod SHIFT, right, movewindow, r" | ||
| 102 | "$mainMod SHIFT, up, movewindow, u" | ||
| 103 | "$mainMod SHIFT, down, movewindow, d" | ||
| 104 | "$mainMod SHIFT, h, movewindow, l" | ||
| 105 | "$mainMod SHIFT, j, movewindow, d" | ||
| 106 | "$mainMod SHIFT, k, movewindow, u" | ||
| 107 | "$mainMod SHIFT, l, movewindow, r" | ||
| 108 | |||
| 109 | "$mainMod CTRL, left, resizeactive, -80 0" | ||
| 110 | "$mainMod CTRL, right, resizeactive, 80 0" | ||
| 111 | "$mainMod CTRL, up, resizeactive, 0 -80" | ||
| 112 | "$mainMod CTRL, down, resizeactive, 0 80" | ||
| 113 | "$mainMod CTRL, h, resizeactive, -80 0" | ||
| 114 | "$mainMod CTRL, j, resizeactive, 0 80" | ||
| 115 | "$mainMod CTRL, k, resizeactive, 0 -80" | ||
| 116 | "$mainMod CTRL, l, resizeactive, 80 0" | ||
| 117 | |||
| 118 | "$mainMod ALT, left, moveactive, -80 0" | ||
| 119 | "$mainMod ALT, right, moveactive, 80 0" | ||
| 120 | "$mainMod ALT, up, moveactive, 0 -80" | ||
| 121 | "$mainMod ALT, down, moveactive, 0 80" | ||
| 122 | "$mainMod ALT, h, moveactive, -80 0" | ||
| 123 | "$mainMod ALT, j, moveactive, 0 80" | ||
| 124 | "$mainMod ALT, k, moveactive, 0 -80" | ||
| 125 | "$mainMod ALT, l, moveactive, 80 0" | ||
| 126 | |||
| 127 | # media and volume controls | ||
| 128 | # ",XF86AudioMute,exec, pamixer -t" | ||
| 129 | ",XF86AudioPlay,exec, playerctl play-pause" | ||
| 130 | ",XF86AudioNext,exec, playerctl next" | ||
| 131 | ",XF86AudioPrev,exec, playerctl previous" | ||
| 132 | ",XF86AudioStop,exec, playerctl stop" | ||
| 133 | |||
| 134 | "$mainMod, mouse_down, split-workspace, e-1" | ||
| 135 | "$mainMod, mouse_up, split-workspace, e+1" | ||
| 136 | |||
| 137 | # clipboard manager | ||
| 138 | "$mainMod, V, exec, vicinae vicinae://extensions/vicinae/clipboard/history" | ||
| 139 | #awakened-poe-trade | ||
| 140 | # "SHIFT,Space,pass,class:^(awakened-poe-trade)$" | ||
| 141 | # "CTRL,D,pass,class:^(awakened-poe-trade)$" | ||
| 142 | # "CTRL ALT,D,pass,class:^(awakened-poe-trade)$" | ||
| 143 | ]; | ||
| 144 | |||
| 145 | bindel = [ | ||
| 146 | ",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+" | ||
| 147 | ",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" | ||
| 148 | ",XF86AudioMute, exec, pctl set-mute @DEFAULT_AUDIO_SINK@ toggle" | ||
| 149 | ",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" | ||
| 150 | ]; | ||
| 151 | |||
| 152 | # mouse binding | ||
| 153 | bindm = [ | ||
| 154 | "$mainMod, mouse:272, movewindow" | ||
| 155 | "$mainMod, mouse:273, resizewindow" | ||
| 156 | ]; | ||
| 157 | }; | ||
| 158 | } | ||
users/natalie/home/hyprland/default.nix created+14| ... | @@ -0,0 +1,14 @@ | ||
| 1 | { ... }: | ||
| 2 | { | ||
| 3 | imports = [ | ||
| 4 | ./hyprland.nix | ||
| 5 | ./exec-once.nix | ||
| 6 | ./monitors.nix | ||
| 7 | ./settings.nix | ||
| 8 | ./binds.nix | ||
| 9 | ./windowrules.nix | ||
| 10 | ./hyprlock.nix | ||
| 11 | ./variables.nix | ||
| 12 | ./plugins.nix | ||
| 13 | ]; | ||
| 14 | } | ||
users/natalie/home/hyprland/exec-once.nix created+31| ... | @@ -0,0 +1,31 @@ | ||
| 1 | { | ||
| 2 | pkgs, | ||
| 3 | inputs, | ||
| 4 | currentSystem, | ||
| 5 | ... | ||
| 6 | }: | ||
| 7 | { | ||
| 8 | wayland.windowManager.hyprland.settings.exec-once = [ | ||
| 9 | # "hash dbus-update-activation-environment 2>/dev/null" | ||
| 10 | "dbus-update-activation-environment --all --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" | ||
| 11 | "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" | ||
| 12 | |||
| 13 | "${pkgs.hyprlock}/bin/hyprlock" | ||
| 14 | |||
| 15 | "${pkgs.networkmanagerapplet}/bin/nm-applet &" | ||
| 16 | "${pkgs.wl-clip-persist}/bin/wl-clip-persist --clipboard both &" | ||
| 17 | "${pkgs.wl-clipboard}/bin/wl-paste --watch cliphist store &" | ||
| 18 | # "${pkgs.waybar}/bin/waybar &" | ||
| 19 | "${pkgs.swaynotificationcenter}/bin/swaync &" | ||
| 20 | "${inputs.vicinae.packages.${currentSystem}.default}/bin/vicinae server &" | ||
| 21 | "${pkgs.udiskie}/bin/udiskie --automount --notify --smart-tray &" | ||
| 22 | "${pkgs.hyprland}/bin/hyprctl setcursor Bibata-Modern-Ice 24 &" | ||
| 23 | "${pkgs.tmux}/bin/tmux setenv -g HYPRLAND_INSTANCE_SIGNATURE '$HYPRLAND_INSTANCE_SIGNATURE'" | ||
| 24 | "systemctl --user start hyprpolkitagent" | ||
| 25 | # "init-wallpaper &" | ||
| 26 | # | ||
| 27 | # "ghostty --gtk-single-instance=true --quit-after-last-window-closed=false --initial-window=false" | ||
| 28 | # "[workspace 1 silent] zen-beta" | ||
| 29 | # "[workspace 2 silent] ghostty" | ||
| 30 | ]; | ||
| 31 | } | ||
users/natalie/home/hyprland/hyprland.nix created+37| ... | @@ -0,0 +1,37 @@ | ||
| 1 | { config, pkgs, ... }: | ||
| 2 | { | ||
| 3 | home.packages = with pkgs; [ | ||
| 4 | swww | ||
| 5 | grimblast | ||
| 6 | hyprpicker | ||
| 7 | grim | ||
| 8 | slurp | ||
| 9 | wl-clip-persist | ||
| 10 | wl-clipboard | ||
| 11 | cliphist | ||
| 12 | wf-recorder | ||
| 13 | glib | ||
| 14 | wayland | ||
| 15 | playerctl | ||
| 16 | waybar | ||
| 17 | networkmanagerapplet | ||
| 18 | hyprpolkitagent | ||
| 19 | swappy | ||
| 20 | ]; | ||
| 21 | # systemd.user.targets.hyprland-session.Unit.Wants = [ | ||
| 22 | # "xdg-desktop-autostart.target" | ||
| 23 | # ]; | ||
| 24 | wayland.windowManager.hyprland = { | ||
| 25 | enable = true; | ||
| 26 | package = null; | ||
| 27 | portalPackage = null; | ||
| 28 | |||
| 29 | xwayland = { | ||
| 30 | enable = true; | ||
| 31 | }; | ||
| 32 | systemd.enable = false; | ||
| 33 | }; | ||
| 34 | # https://wiki.hypr.land/Nix/Hyprland-on-Home-Manager/#nixos-uwsm | ||
| 35 | xdg.configFile."uwsm/env".source = | ||
| 36 | "${config.home.sessionVariablesPackage}/etc/profile.d/hm-session-vars.sh"; | ||
| 37 | } | ||
users/natalie/home/hyprland/hyprlock.nix created+112| ... | @@ -0,0 +1,112 @@ | ||
| 1 | { ... }: | ||
| 2 | { | ||
| 3 | programs.hyprlock = { | ||
| 4 | enable = false; | ||
| 5 | |||
| 6 | settings = { | ||
| 7 | general = { | ||
| 8 | hide_cursor = true; | ||
| 9 | ignore_empty_input = true; | ||
| 10 | fractional_scaling = 0; | ||
| 11 | }; | ||
| 12 | |||
| 13 | background = [ | ||
| 14 | { | ||
| 15 | color = "rgba(29, 32, 33, 255)"; | ||
| 16 | blur_passes = 2; | ||
| 17 | vibrancy_darkness = 0.0; | ||
| 18 | } | ||
| 19 | ]; | ||
| 20 | # | ||
| 21 | # shape = [ | ||
| 22 | # # User box | ||
| 23 | # { | ||
| 24 | # size = "300, 50"; | ||
| 25 | # | ||
| 26 | # rounding = 0; | ||
| 27 | # border_size = 2; | ||
| 28 | # color = "rgba(102, 92, 84, 0.33)"; | ||
| 29 | # border_color = "rgba(168, 153, 132, 0.95)"; | ||
| 30 | # | ||
| 31 | # position = "0, ${if host == "laptop" then "120" else "270"}"; | ||
| 32 | # halign = "center"; | ||
| 33 | # valign = "bottom"; | ||
| 34 | # } | ||
| 35 | # ]; | ||
| 36 | # | ||
| 37 | # label = [ | ||
| 38 | # # Time | ||
| 39 | # { | ||
| 40 | # text = ''cmd[update:1000] echo "$(date +'%k:%M')"''; | ||
| 41 | # | ||
| 42 | # font_size = 115; | ||
| 43 | # font_family = "Maple Mono Bold"; | ||
| 44 | # | ||
| 45 | # shadow_passes = 3; | ||
| 46 | # color = "rgba(235, 219, 178, 0.9)"; | ||
| 47 | # | ||
| 48 | # position = "0, ${if host == "laptop" then "-25" else "-150"}"; | ||
| 49 | # halign = "center"; | ||
| 50 | # valign = "top"; | ||
| 51 | # } | ||
| 52 | # # Date | ||
| 53 | # { | ||
| 54 | # text = ''cmd[update:1000] echo "- $(date +'%A, %B %d') -" ''; | ||
| 55 | # | ||
| 56 | # font_size = 18; | ||
| 57 | # font_family = "Maple Mono"; | ||
| 58 | # | ||
| 59 | # shadow_passes = 3; | ||
| 60 | # color = "rgba(235, 219, 178, 0.9)"; | ||
| 61 | # | ||
| 62 | # position = "0, ${if host == "laptop" then "-225" else "-350"}"; | ||
| 63 | # halign = "center"; | ||
| 64 | # valign = "top"; | ||
| 65 | # } | ||
| 66 | # # Username | ||
| 67 | # { | ||
| 68 | # text = " $USER"; | ||
| 69 | # | ||
| 70 | # font_size = 15; | ||
| 71 | # font_family = "Maple Mono Bold"; | ||
| 72 | # | ||
| 73 | # color = "rgba(235, 219, 178, 1)"; | ||
| 74 | # | ||
| 75 | # position = "0, ${if host == "laptop" then "134" else "284"}"; | ||
| 76 | # halign = "center"; | ||
| 77 | # valign = "bottom"; | ||
| 78 | # } | ||
| 79 | # ]; | ||
| 80 | # | ||
| 81 | # input-field = [ | ||
| 82 | # { | ||
| 83 | # size = "300, 50"; | ||
| 84 | # rounding = 0; | ||
| 85 | # outline_thickness = 2; | ||
| 86 | # | ||
| 87 | # dots_spacing = 0.4; | ||
| 88 | # | ||
| 89 | # font_color = "rgba(235, 219, 178, 0.9)"; | ||
| 90 | # font_family = "Maple Mono Bold"; | ||
| 91 | # | ||
| 92 | # outer_color = "rgba(168, 153, 132, 0.95)"; | ||
| 93 | # inner_color = "rgba(102, 92, 84, 0.33)"; | ||
| 94 | # check_color = "rgba(152, 151, 26, 0.95)"; | ||
| 95 | # fail_color = "rgba(204, 36, 29, 0.95)"; | ||
| 96 | # capslock_color = "rgba(215, 153, 33, 0.95)"; | ||
| 97 | # bothlock_color = "rgba(215, 153, 33, 0.95)"; | ||
| 98 | # | ||
| 99 | # hide_input = false; | ||
| 100 | # fade_on_empty = false; | ||
| 101 | # placeholder_text = ''<i><span foreground="##fbf1c7">Enter Password</span></i>''; | ||
| 102 | # | ||
| 103 | # position = "0, ${if host == "laptop" then "50" else "200"}"; | ||
| 104 | # halign = "center"; | ||
| 105 | # valign = "bottom"; | ||
| 106 | # } | ||
| 107 | # ]; | ||
| 108 | # | ||
| 109 | # animation = [ "inputFieldColors, 0" ]; | ||
| 110 | }; | ||
| 111 | }; | ||
| 112 | } | ||
users/natalie/home/hyprland/monitors.nix created+18| ... | @@ -0,0 +1,18 @@ | ||
| 1 | { pkgs, ... }: | ||
| 2 | { | ||
| 3 | wayland.windowManager.hyprland = { | ||
| 4 | settings.monitor = [ | ||
| 5 | "desc:Dell Inc. S2719DGF 1LCYBY2,2560x1440@154.85,1920x0,1.0" | ||
| 6 | "desc:Ancor Communications Inc VN279 HALMQS156672,1920x1080@60.0,0x0,1.0" | ||
| 7 | ]; | ||
| 8 | |||
| 9 | # extraConfig = '' | ||
| 10 | # # hyprlang noerror true | ||
| 11 | # source = ~/.config/hypr/monitors.conf | ||
| 12 | # source = ~/.config/hypr/workspaces.conf | ||
| 13 | # # hyprlang noerror false | ||
| 14 | # ''; | ||
| 15 | }; | ||
| 16 | |||
| 17 | home.packages = with pkgs; [ nwg-displays ]; | ||
| 18 | } | ||
users/natalie/home/hyprland/plugins.nix created+16| ... | @@ -0,0 +1,16 @@ | ||
| 1 | { pkgs, inputs, ... }: | ||
| 2 | { | ||
| 3 | wayland.windowManager.hyprland = { | ||
| 4 | plugins = [ | ||
| 5 | inputs.split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces | ||
| 6 | ]; | ||
| 7 | settings = { | ||
| 8 | plugin = { | ||
| 9 | split-monitor-workspaces = { | ||
| 10 | count = 5; | ||
| 11 | keep_focused = 0; | ||
| 12 | }; | ||
| 13 | }; | ||
| 14 | }; | ||
| 15 | }; | ||
| 16 | } | ||
users/natalie/home/hyprland/settings.nix created+123| ... | @@ -0,0 +1,123 @@ | ||
| 1 | { ... }: | ||
| 2 | { | ||
| 3 | wayland.windowManager.hyprland.settings = { | ||
| 4 | # see: https://wiki.hypr.land/Configuring/Variables/#input | ||
| 5 | input = { | ||
| 6 | kb_layout = "us"; | ||
| 7 | repeat_delay = 300; | ||
| 8 | follow_mouse = 1; | ||
| 9 | }; | ||
| 10 | # https://wiki.hypr.land/Configuring/Variables/#general | ||
| 11 | general = { | ||
| 12 | "$mainMod" = "SUPER"; | ||
| 13 | layout = "dwindle"; | ||
| 14 | no_border_on_floating = false; | ||
| 15 | |||
| 16 | }; | ||
| 17 | # https://wiki.hypr.land/Configuring/Variables/#misc | ||
| 18 | misc = { | ||
| 19 | disable_hyprland_logo = true; | ||
| 20 | always_follow_on_dnd = true; | ||
| 21 | layers_hog_keyboard_focus = true; | ||
| 22 | animate_manual_resizes = false; | ||
| 23 | enable_swallow = true; | ||
| 24 | swallow_regex = "^(ghostty)$"; | ||
| 25 | focus_on_activate = true; | ||
| 26 | new_window_takes_over_fullscreen = 2; | ||
| 27 | middle_click_paste = false; | ||
| 28 | }; | ||
| 29 | |||
| 30 | # https://wiki.hypr.land/Configuring/Dwindle-Layout/ | ||
| 31 | dwindle = { | ||
| 32 | pseudotile = false; | ||
| 33 | force_split = 2; | ||
| 34 | preserve_split = true; | ||
| 35 | }; | ||
| 36 | # https://wiki.hypr.land/Configuring/Variables/#decoration | ||
| 37 | decoration = { | ||
| 38 | rounding = 0; | ||
| 39 | rounding_power = 2.0; | ||
| 40 | active_opacity = 1.0; | ||
| 41 | inactive_opacity = 1.0; | ||
| 42 | fullscreen_opacity = 1.0; | ||
| 43 | dim_modal = true; | ||
| 44 | dim_inactive = false; | ||
| 45 | dim_strength = 0.5; | ||
| 46 | dim_special = 0.2; | ||
| 47 | dim_around = 0.4; | ||
| 48 | screen_shader = ""; | ||
| 49 | border_part_of_window = true; | ||
| 50 | blur = { | ||
| 51 | enabled = true; | ||
| 52 | size = 8; | ||
| 53 | passes = 1; | ||
| 54 | brightness = 0.8172; | ||
| 55 | contrast = 0.8916; | ||
| 56 | ignore_opacity = true; | ||
| 57 | noise = 0.0117; | ||
| 58 | new_optimizations = true; | ||
| 59 | xray = true; | ||
| 60 | vibrancy = 0.1696; | ||
| 61 | vibrancy_darkness = 0.0; | ||
| 62 | special = false; | ||
| 63 | popups = false; | ||
| 64 | popups_ignorealpha = 0.2; | ||
| 65 | input_methods = false; | ||
| 66 | input_methods_ignorealpha = 0.2; | ||
| 67 | }; | ||
| 68 | |||
| 69 | shadow = { | ||
| 70 | enabled = true; | ||
| 71 | range = 4; | ||
| 72 | render_power = 3; | ||
| 73 | sharp = false; | ||
| 74 | ignore_window = true; | ||
| 75 | color = "0xee1a1a1a"; | ||
| 76 | offset = "0 2"; | ||
| 77 | scale = 1.0; | ||
| 78 | }; | ||
| 79 | |||
| 80 | }; | ||
| 81 | # https://wiki.hypr.land/Configuring/Animations/ | ||
| 82 | animations = { | ||
| 83 | enabled = true; | ||
| 84 | |||
| 85 | bezier = [ | ||
| 86 | "easeOutQuint, 0.23, 1, 0.32, 1" | ||
| 87 | "easeInOutCubic, 0.65, 0.05, 0.36, 1" | ||
| 88 | "linear, 0, 0, 1, 1" | ||
| 89 | "almostLinear, 0.5, 0.5, 0.75, 1" | ||
| 90 | "quick, 0.15, 0, 0.1, 1" | ||
| 91 | ]; | ||
| 92 | |||
| 93 | animation = [ | ||
| 94 | "global, 1, 10, default" | ||
| 95 | "border, 1, 5.39, easeOutQuint" | ||
| 96 | "windows, 1, 4.79, easeOutQuint" | ||
| 97 | "windowsIn, 1, 4.1, easeOutQuint, popin 87%" | ||
| 98 | "windowsOut, 1, 1.49, linear, popin 87%" | ||
| 99 | "fadeIn, 1, 1.73, almostLinear" | ||
| 100 | "fadeOut, 1, 1.46, almostLinear" | ||
| 101 | "fade, 1, 3.03, quick" | ||
| 102 | "layers, 1, 3.81, easeOutQuint" | ||
| 103 | "layersIn, 1, 4, easeOutQuint, fade" | ||
| 104 | "layersOut, 1, 1.5, linear, fade" | ||
| 105 | "fadeLayersIn, 1, 1.79, almostLinear" | ||
| 106 | "fadeLayersOut, 1, 1.39, almostLinear" | ||
| 107 | "workspaces, 1, 1.94, almostLinear, fade" | ||
| 108 | "workspacesIn, 1, 1.21, almostLinear, fade" | ||
| 109 | "workspacesOut, 1, 1.94, almostLinear, fade" | ||
| 110 | "zoomFactor, 1, 7, quick" | ||
| 111 | ]; | ||
| 112 | |||
| 113 | }; | ||
| 114 | # https://wiki.hypr.land/Configuring/XWayland/ | ||
| 115 | xwayland = { | ||
| 116 | force_zero_scaling = true; | ||
| 117 | }; | ||
| 118 | debug = { | ||
| 119 | disable_logs = false; | ||
| 120 | }; | ||
| 121 | }; | ||
| 122 | |||
| 123 | } | ||
users/natalie/home/hyprland/variables.nix created+29| ... | @@ -0,0 +1,29 @@ | ||
| 1 | { ... }: | ||
| 2 | { | ||
| 3 | home.sessionVariables = { | ||
| 4 | NIXOS_OZONE_WL = 1; | ||
| 5 | __GL_GSYNC_ALLOWED = 0; | ||
| 6 | __GL_VRR_ALLOWED = 0; | ||
| 7 | # SSH_AUTH_SOCK = "/run/user/1000/ssh-agent"; | ||
| 8 | DISABLE_QT5_COMPAT = 0; | ||
| 9 | GDK_BACKEND = "wayland"; | ||
| 10 | # ANKI_WAYLAND = 1; | ||
| 11 | WLR_DRM_NO_ATOMIC = 1; | ||
| 12 | # QT_AUTO_SCREEN_SCALE_FACTOR = 1; | ||
| 13 | # QT_WAYLAND_DISABLE_WINDOWDECORATION = 1; | ||
| 14 | QT_QPA_PLATFORM = "wayland"; | ||
| 15 | QT_QPA_PLATFORMTHEME = "qt5ct"; | ||
| 16 | # QT_STYLE_OVERRIDE = "kvantum"; | ||
| 17 | MOZ_ENABLE_WAYLAND = 1; | ||
| 18 | WLR_BACKEND = "vulkan"; | ||
| 19 | WLR_RENDERER = "vulkan"; | ||
| 20 | WLR_NO_HARDWARE_CURSORS = 1; | ||
| 21 | XDG_CURRENT_DESKTOP = "Hyprland"; | ||
| 22 | XDG_SESSION_TYPE = "wayland"; | ||
| 23 | XDG_SESSION_DESKTOP = "Hyprland"; | ||
| 24 | SDL_VIDEODRIVER = "wayland"; | ||
| 25 | CLUTTER_BACKEND = "wayland"; | ||
| 26 | # GTK_THEME = "Colloid-Green-Dark-Gruvbox"; | ||
| 27 | # GRIMBLAST_HIDE_CURSOR = 0; | ||
| 28 | }; | ||
| 29 | } | ||
users/natalie/home/hyprland/windowrules.nix created+115| ... | @@ -0,0 +1,115 @@ | ||
| 1 | { ... }: | ||
| 2 | { | ||
| 3 | wayland.windowManager.hyprland.settings = { | ||
| 4 | # https://wiki.hypr.land/Configuring/Window-Rules/#layer-rules | ||
| 5 | windowrule = [ | ||
| 6 | "float,class:^(mpv)$" | ||
| 7 | "pin,class:^(rofi)$" | ||
| 8 | "pin,class:^(waypaper)$" | ||
| 9 | "float,title:^(Volume Control)$" | ||
| 10 | |||
| 11 | #awakened-poe-trade | ||
| 12 | # https://github.com/SnosMe/awakened-poe-trade/issues/1137#issuecomment-2992606569 | ||
| 13 | "tag +apt, class:^(awakened-poe-trade)$" | ||
| 14 | "tag +apt, title:(Awakened PoE Trade)" | ||
| 15 | "float, tag:apt" | ||
| 16 | "noblur, tag:apt" | ||
| 17 | "nofocus, tag:apt" | ||
| 18 | "noshadow, tag:apt" | ||
| 19 | "noborder, tag:apt" | ||
| 20 | "pin, tag:apt" | ||
| 21 | "renderunfocused, tag:apt" | ||
| 22 | "size 100% 100%, tag:apt" | ||
| 23 | "center, tag:apt" | ||
| 24 | |||
| 25 | #POE | ||
| 26 | "tag +poe, title:(Path of Exile)" | ||
| 27 | "tag +poe class:(steam_app_238960)" | ||
| 28 | "fullscreen, tag:poe$" | ||
| 29 | # https://github.com/SnosMe/awakened-poe-trade/issues/1137#issuecomment-3037816727 | ||
| 30 | # "tag +fakefullscreen, title:(Path of Exile),class:(steam_app_238960)" | ||
| 31 | # "tile, tag:fakefullscreen" | ||
| 32 | # "noborder, tag:fakefullscreen" | ||
| 33 | # "float,title:^(Firefox — Sharing Indicator)$" | ||
| 34 | # "move 0 0,title:^(Firefox — Sharing Indicator)$" | ||
| 35 | # "size 700 450,title:^(Volume Control)$" | ||
| 36 | # "move 40 55%,title:^(Volume Control)$" | ||
| 37 | #"float, title:^(Picture-in-Picture)$" | ||
| 38 | # "opacity 1.0 override 1.0 override, title:^(Picture-in-Picture)$" | ||
| 39 | # "pin, title:^(Picture-in-Picture)$" | ||
| 40 | # "opacity 1.0 override 1.0 override, title:^(.*imv.*)$" | ||
| 41 | # "opacity 1.0 override 1.0 override, title:^(.*mpv.*)$" | ||
| 42 | # "opacity 1.0 override 1.0 override, class:(Aseprite)" | ||
| 43 | # "opacity 1.0 override 1.0 override, class:(Unity)" | ||
| 44 | # "opacity 1.0 override 1.0 override, class:(zen)" | ||
| 45 | # "opacity 1.0 override 1.0 override, class:(evince)" | ||
| 46 | # "workspace 1, class:^(zen-beta)$" | ||
| 47 | # "workspace 3, class:^(evince)$" | ||
| 48 | # "workspace 4, class:^(Gimp-2.10)$" | ||
| 49 | # "workspace 4, class:^(Aseprite)$" | ||
| 50 | # "workspace 5, class:^(Audacious)$" | ||
| 51 | # "workspace 5, class:^(Spotify)$" | ||
| 52 | # "workspace 8, class:^(com.obsproject.Studio)$" | ||
| 53 | # "workspace 10, class:^(discord)$" | ||
| 54 | # "workspace 10, class:^(WebCord)$" | ||
| 55 | # "idleinhibit focus, class:^(mpv)$" | ||
| 56 | # "idleinhibit fullscreen, class:^(firefox)$" | ||
| 57 | # "float,class:^(org.gnome.Calculator)$" | ||
| 58 | # "float,class:^(waypaper)$" | ||
| 59 | # "float,class:^(zenity)$" | ||
| 60 | # "size 850 500,class:^(zenity)$" | ||
| 61 | # "size 725 330,class:^(SoundWireServer)$" | ||
| 62 | # "float,class:^(org.gnome.FileRoller)$" | ||
| 63 | # "float,class:^(org.pulseaudio.pavucontrol)$" | ||
| 64 | # "float,class:^(SoundWireServer)$" | ||
| 65 | # "float,class:^(.sameboy-wrapped)$" | ||
| 66 | # "float,class:^(file_progress)$" | ||
| 67 | # "float,class:^(confirm)$" | ||
| 68 | # "float,class:^(dialog)$" | ||
| 69 | # "float,class:^(download)$" | ||
| 70 | # "float,class:^(notification)$" | ||
| 71 | # "float,class:^(error)$" | ||
| 72 | # "float,class:^(confirmreset)$" | ||
| 73 | # "float,title:^(Open File)$" | ||
| 74 | # "float,title:^(File Upload)$" | ||
| 75 | # "float,title:^(branchdialog)$" | ||
| 76 | # "float,title:^(Confirm to replace files)$" | ||
| 77 | # "float,title:^(File Operation Progress)$" | ||
| 78 | # | ||
| 79 | # "opacity 0.0 override,class:^(xwaylandvideobridge)$" | ||
| 80 | # "noanim,class:^(xwaylandvideobridge)$" | ||
| 81 | # "noinitialfocus,class:^(xwaylandvideobridge)$" | ||
| 82 | # "maxsize 1 1,class:^(xwaylandvideobridge)$" | ||
| 83 | # "noblur,class:^(xwaylandvideobridge)$" | ||
| 84 | # | ||
| 85 | # # No gaps when only | ||
| 86 | # "bordersize 0, floating:0, onworkspace:w[t1]" | ||
| 87 | # "rounding 0, floating:0, onworkspace:w[t1]" | ||
| 88 | # "bordersize 0, floating:0, onworkspace:w[tg1]" | ||
| 89 | # "rounding 0, floating:0, onworkspace:w[tg1]" | ||
| 90 | # "bordersize 0, floating:0, onworkspace:f[1]" | ||
| 91 | # "rounding 0, floating:0, onworkspace:f[1]" | ||
| 92 | # Remove context menu transparency in chromium based apps | ||
| 93 | # "opaque,class:^()$,title:^()$" | ||
| 94 | # "noshadow,class:^()$,title:^()$" | ||
| 95 | # "noblur,class:^()$,title:^()$" | ||
| 96 | ]; | ||
| 97 | |||
| 98 | # https://wiki.hypr.land/Configuring/Window-Rules/#layer-rules | ||
| 99 | layerrule = [ | ||
| 100 | "blur, vicinae" | ||
| 101 | "ignorealpha 0, vicinae" | ||
| 102 | "noanim, vicinae" | ||
| 103 | # "dimaround, rofi" | ||
| 104 | # "dimaround, swaync-control-center" | ||
| 105 | ]; | ||
| 106 | |||
| 107 | # https://wiki.hypr.land/Configuring/Workspace-Rules/ | ||
| 108 | # No gaps when only | ||
| 109 | workspace = [ | ||
| 110 | "w[t1], gapsout:0, gapsin:0" | ||
| 111 | "w[tg1], gapsout:0, gapsin:0" | ||
| 112 | "f[1], gapsout:0, gapsin:0" | ||
| 113 | ]; | ||
| 114 | }; | ||
| 115 | } | ||
users/natalie/home/scripts/default.nix created+26| ... | @@ -0,0 +1,26 @@ | ||
| 1 | { pkgs, ... }: | ||
| 2 | let | ||
| 3 | scriptDir = ./scripts; | ||
| 4 | |||
| 5 | mkScript = name: { | ||
| 6 | inherit name; | ||
| 7 | value = pkgs.writeScriptBin (builtins.replaceStrings [ ".sh" ] [ "" ] name) ( | ||
| 8 | builtins.readFile (scriptDir + "/${name}") | ||
| 9 | ); | ||
| 10 | }; | ||
| 11 | |||
| 12 | scriptsSet = builtins.listToAttrs ( | ||
| 13 | map mkScript ( | ||
| 14 | builtins.attrNames ( | ||
| 15 | pkgs.lib.filterAttrs (n: v: v == "regular" && (pkgs.lib.hasSuffix ".sh" n)) ( | ||
| 16 | builtins.readDir ./scripts | ||
| 17 | ) | ||
| 18 | ) | ||
| 19 | ) | ||
| 20 | ); | ||
| 21 | scripts = builtins.attrValues scriptsSet; | ||
| 22 | |||
| 23 | in | ||
| 24 | { | ||
| 25 | home.packages = scripts; | ||
| 26 | } | ||
users/natalie/home/scripts/scripts/fakefullscreen.sh created+44| ... | @@ -0,0 +1,44 @@ | ||
| 1 | #!/usr/bin/env nix-shell | ||
| 2 | #! nix-shell -i bash -p bash socat jq killall | ||
| 3 | # shellcheck disable=all | ||
| 4 | |||
| 5 | RUNDIR=/run/user/$EUID/hypr | ||
| 6 | WAYBAR_FILE=$RUNDIR/.waybar_is_hidden | ||
| 7 | |||
| 8 | function hide { | ||
| 9 | if [ ! -f $WAYBAR_FILE ]; then | ||
| 10 | hyprctl keyword workspace , gapsout:0 >/dev/null 2>&1 | ||
| 11 | killall -SIGUSR1 .waybar-wrapped && touch $WAYBAR_FILE | ||
| 12 | fi | ||
| 13 | } | ||
| 14 | |||
| 15 | function show { | ||
| 16 | if [ -f $WAYBAR_FILE ]; then | ||
| 17 | hyprctl keyword workspace , gapsout:$(hyprctl getoption general:gaps_out -j | jq -r .custom | tr \ ,) >/dev/null 2>&1 | ||
| 18 | killall -SIGUSR1 .waybar-wrapped && rm $WAYBAR_FILE >/dev/null 2>&1 | ||
| 19 | fi | ||
| 20 | } | ||
| 21 | |||
| 22 | function fakefullscreen() { | ||
| 23 | local fullscreenclients=$(hyprctl clients -j | jq -r '.[] | select(.tags | contains(["fakefullscreen"])).workspace.id') | ||
| 24 | [ -z "$fullscreenclients" -a ! -f $WAYBAR_FILE ] && return | ||
| 25 | local active=$(hyprctl activeworkspace -j | jq -r .id) | ||
| 26 | for id in $fullscreenclients; do | ||
| 27 | if [ $active -eq $id -a $(hyprctl clients -j | jq -r "[.[] | select(.workspace.id == $id) | select(.floating | not)] | length") -eq 1 ]; then | ||
| 28 | hide | ||
| 29 | return | ||
| 30 | fi | ||
| 31 | done | ||
| 32 | show | ||
| 33 | } | ||
| 34 | |||
| 35 | sleep 1 | ||
| 36 | fakefullscreen | ||
| 37 | |||
| 38 | socat -u "UNIX-CONNECT:$RUNDIR/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock" STDOUT | while read -r event; do | ||
| 39 | case $event in | ||
| 40 | workspace\>\>* | openwindow\>\>* | closewindow\>\>*) fakefullscreen ;; | ||
| 41 | esac | ||
| 42 | done | ||
| 43 | |||
| 44 | show | ||
users/natalie/home/scripts/scripts/screenshot.sh created+34| ... | @@ -0,0 +1,34 @@ | ||
| 1 | #!/usr/bin/env bash | ||
| 2 | |||
| 3 | dir="$HOME/Pictures/Screenshots" | ||
| 4 | time=$(date +'%Y_%m_%d_at_%Hh%Mm%Ss') | ||
| 5 | file="${dir}/Screenshot_${time}.png" | ||
| 6 | |||
| 7 | copy() { | ||
| 8 | GRIMBLAST_HIDE_CURSOR=0 grimblast --notify --freeze copy area | ||
| 9 | } | ||
| 10 | |||
| 11 | save() { | ||
| 12 | GRIMBLAST_HIDE_CURSOR=0 grimblast --notify --freeze save area "$file" | ||
| 13 | } | ||
| 14 | |||
| 15 | swappy_() { | ||
| 16 | GRIMBLAST_HIDE_CURSOR=0 grimblast --notify --freeze save area "$file" | ||
| 17 | swappy -f "$file" | ||
| 18 | } | ||
| 19 | |||
| 20 | if [[ ! -d "$dir" ]]; then | ||
| 21 | mkdir -p "$dir" | ||
| 22 | fi | ||
| 23 | |||
| 24 | if [[ "$1" == "--copy" ]]; then | ||
| 25 | copy | ||
| 26 | elif [[ "$1" == "--save" ]]; then | ||
| 27 | save | ||
| 28 | elif [[ "$1" == "--swappy" ]]; then | ||
| 29 | swappy_ | ||
| 30 | else | ||
| 31 | echo -e "Available Options: --copy --save --swappy" | ||
| 32 | fi | ||
| 33 | |||
| 34 | exit 0 | ||
users/natalie/home/swaync.nix created+595| ... | @@ -0,0 +1,595 @@ | ||
| 1 | { pkgs, ... }: | ||
| 2 | { | ||
| 3 | services.swaync = { | ||
| 4 | enable = true; | ||
| 5 | settings = { | ||
| 6 | ignore-gtk-theme = true; | ||
| 7 | positionX = "right"; | ||
| 8 | positionY = "top"; | ||
| 9 | layer = "overlay"; | ||
| 10 | control-center-layer = "top"; | ||
| 11 | layer-shell = true; | ||
| 12 | layer-shell-cover-screen = true; | ||
| 13 | cssPriority = "user"; | ||
| 14 | control-center-margin-top = 15; | ||
| 15 | control-center-margin-bottom = 15; | ||
| 16 | control-center-margin-right = 15; | ||
| 17 | control-center-margin-left = 0; | ||
| 18 | notification-2fa-action = true; | ||
| 19 | notification-inline-replies = false; | ||
| 20 | notification-body-image-height = 100; | ||
| 21 | notification-body-image-width = 200; | ||
| 22 | notification-icon-size = 48; | ||
| 23 | timeout = 8; | ||
| 24 | timeout-low = 6; | ||
| 25 | timeout-critical = 0; | ||
| 26 | fit-to-screen = true; | ||
| 27 | relative-timestamps = true; | ||
| 28 | control-center-width = 400; | ||
| 29 | control-center-height = 600; | ||
| 30 | notification-window-width = 350; | ||
| 31 | keyboard-shortcuts = true; | ||
| 32 | notification-grouping = true; | ||
| 33 | image-visibility = "when-available"; | ||
| 34 | transition-time = 200; | ||
| 35 | hide-on-clear = false; | ||
| 36 | hide-on-action = true; | ||
| 37 | text-empty = "No Notifications"; | ||
| 38 | script-fail-notify = true; | ||
| 39 | widgets = [ | ||
| 40 | "dnd" | ||
| 41 | "mpris" | ||
| 42 | "notifications" | ||
| 43 | "volume" | ||
| 44 | "backlight" | ||
| 45 | ]; | ||
| 46 | widget-config = { | ||
| 47 | inhibitors = { | ||
| 48 | text = "Inhibitors"; | ||
| 49 | button-text = "Clear All"; | ||
| 50 | clear-all-button = true; | ||
| 51 | }; | ||
| 52 | title = { | ||
| 53 | text = "Notifications"; | ||
| 54 | clear-all-button = true; | ||
| 55 | button-text = "Clear All"; | ||
| 56 | }; | ||
| 57 | dnd = { | ||
| 58 | text = "Do Not Disturb"; | ||
| 59 | }; | ||
| 60 | label = { | ||
| 61 | max-lines = 5; | ||
| 62 | text = "Label Text"; | ||
| 63 | }; | ||
| 64 | mpris = { | ||
| 65 | show-album-art = "always"; | ||
| 66 | loop-carousel = false; | ||
| 67 | }; | ||
| 68 | volume = { | ||
| 69 | label = " "; | ||
| 70 | expand-button-label = ""; | ||
| 71 | collapse-button-label = ""; | ||
| 72 | show-per-app = true; | ||
| 73 | show-per-app-icon = true; | ||
| 74 | show-per-app-label = false; | ||
| 75 | }; | ||
| 76 | backlight = { | ||
| 77 | label = " "; | ||
| 78 | }; | ||
| 79 | }; | ||
| 80 | }; | ||
| 81 | style = '' | ||
| 82 | :root { | ||
| 83 | --bg-primary: #1d2021; | ||
| 84 | --bg-secondary: #282828; | ||
| 85 | --bg-button: #4E4E4E; | ||
| 86 | --bg-button-hover: #5E5E5E; | ||
| 87 | --text-primary: #EBDBB2; | ||
| 88 | --text-disabled: #5C554A; | ||
| 89 | --border-color: #928374; | ||
| 90 | --priority-low: #EBDBB2; | ||
| 91 | --priority-normal: #83A598; | ||
| 92 | --priority-critical: #FB4934; | ||
| 93 | --transition-standard: 0.15s ease-in-out; | ||
| 94 | } | ||
| 95 | |||
| 96 | /* Base styles */ | ||
| 97 | * { | ||
| 98 | outline: none; | ||
| 99 | } | ||
| 100 | |||
| 101 | *:focus { | ||
| 102 | outline: none; | ||
| 103 | box-shadow: none; | ||
| 104 | } | ||
| 105 | |||
| 106 | /* Scrollbar */ | ||
| 107 | scrollbar, | ||
| 108 | scrollbar slider { | ||
| 109 | opacity: 0; | ||
| 110 | min-width: 0px; | ||
| 111 | min-height: 0px; | ||
| 112 | background: transparent; | ||
| 113 | } | ||
| 114 | |||
| 115 | /* Common button styles */ | ||
| 116 | .close-button, | ||
| 117 | .widget-title>button, | ||
| 118 | .widget-dnd switch, | ||
| 119 | .widget-menubar>.menu-button-bar>.widget-menubar-container button, | ||
| 120 | .widget-menubar>revealer button, | ||
| 121 | .widget-inhibitors>button { | ||
| 122 | border-radius: 0px; | ||
| 123 | border: none; | ||
| 124 | box-shadow: none; | ||
| 125 | transition: background var(--transition-standard); | ||
| 126 | } | ||
| 127 | |||
| 128 | /* Close button */ | ||
| 129 | .close-button { | ||
| 130 | background: var(--bg-button); | ||
| 131 | color: var(--text-primary); | ||
| 132 | text-shadow: none; | ||
| 133 | padding: 0; | ||
| 134 | border-radius: 50%; | ||
| 135 | margin-top: 8px; | ||
| 136 | margin-right: 8px; | ||
| 137 | min-width: 20px; | ||
| 138 | min-height: 20px; | ||
| 139 | } | ||
| 140 | |||
| 141 | .close-button:hover { | ||
| 142 | background: var(--bg-button-hover); | ||
| 143 | } | ||
| 144 | |||
| 145 | /* Notification rows */ | ||
| 146 | .notification-row { | ||
| 147 | background: none; | ||
| 148 | } | ||
| 149 | |||
| 150 | .notification-row:focus, | ||
| 151 | .notification-group:focus { | ||
| 152 | background: var(--bg-primary); | ||
| 153 | } | ||
| 154 | |||
| 155 | .notification-row .notification-background { | ||
| 156 | margin: 0px 0px 0px 0px; | ||
| 157 | } | ||
| 158 | |||
| 159 | /* Base notification styles */ | ||
| 160 | .notification-row .notification-background .notification { | ||
| 161 | border-radius: 0px; | ||
| 162 | border: 1px solid var(--border-color); | ||
| 163 | transition: background var(--transition-standard); | ||
| 164 | background: var(--bg-primary); | ||
| 165 | padding: 2px 4px; | ||
| 166 | } | ||
| 167 | |||
| 168 | /* Priority-based notification styles */ | ||
| 169 | .notification-row .notification-background .notification.low { | ||
| 170 | border-left: 3px solid var(--priority-low); | ||
| 171 | } | ||
| 172 | |||
| 173 | .notification-row .notification-background .notification.normal { | ||
| 174 | border-left: 3px solid var(--priority-normal); | ||
| 175 | } | ||
| 176 | |||
| 177 | .notification-row .notification-background .notification.critical { | ||
| 178 | border-left: 3px solid var(--priority-critical); | ||
| 179 | } | ||
| 180 | |||
| 181 | /* Notification default action */ | ||
| 182 | .notification-default-action { | ||
| 183 | padding: 4px; | ||
| 184 | margin: 0; | ||
| 185 | box-shadow: none; | ||
| 186 | background: transparent; | ||
| 187 | border: none; | ||
| 188 | color: var(--text-primary); | ||
| 189 | transition: background var(--transition-standard); | ||
| 190 | border-radius: 0px; | ||
| 191 | } | ||
| 192 | |||
| 193 | .notification-default-action:hover { | ||
| 194 | -gtk-icon-filter: none; | ||
| 195 | background: var(--bg-primary); | ||
| 196 | } | ||
| 197 | |||
| 198 | .notification-default-action:not(:only-child) { | ||
| 199 | border-bottom-left-radius: 0px; | ||
| 200 | border-bottom-right-radius: 0px; | ||
| 201 | } | ||
| 202 | |||
| 203 | /* Notification content */ | ||
| 204 | .notification-content { | ||
| 205 | background: transparent; | ||
| 206 | border-radius: 0px; | ||
| 207 | padding: 0; | ||
| 208 | } | ||
| 209 | |||
| 210 | .notification-content .image { | ||
| 211 | -gtk-icon-filter: none; | ||
| 212 | -gtk-icon-size: 30px; | ||
| 213 | border-radius: 50px; | ||
| 214 | margin: 0px 7px 0px 0px; | ||
| 215 | } | ||
| 216 | |||
| 217 | .notification-content .app-icon { | ||
| 218 | -gtk-icon-filter: none; | ||
| 219 | -gtk-icon-size: calc(25px / 3); | ||
| 220 | -gtk-icon-shadow: 0 1px 4px black; | ||
| 221 | margin: 6px; | ||
| 222 | } | ||
| 223 | |||
| 224 | .notification-content .text-box label { | ||
| 225 | filter: none; | ||
| 226 | } | ||
| 227 | |||
| 228 | /* Text elements */ | ||
| 229 | .notification-content .text-box .summary, | ||
| 230 | .notification-content .text-box .time, | ||
| 231 | .notification-content .text-box .body { | ||
| 232 | font-size: 16px; | ||
| 233 | background: transparent; | ||
| 234 | color: var(--text-primary); | ||
| 235 | text-shadow: none; | ||
| 236 | } | ||
| 237 | |||
| 238 | .notification-content .text-box .summary, | ||
| 239 | .notification-content .text-box .time { | ||
| 240 | font-weight: bold; | ||
| 241 | } | ||
| 242 | |||
| 243 | .notification-content .text-box .time { | ||
| 244 | margin-right: 30px; | ||
| 245 | } | ||
| 246 | |||
| 247 | .notification-content .text-box .body { | ||
| 248 | font-weight: normal; | ||
| 249 | } | ||
| 250 | |||
| 251 | /* Progress and images */ | ||
| 252 | .notification-content progressbar { | ||
| 253 | margin-top: 4px; | ||
| 254 | } | ||
| 255 | |||
| 256 | .notification-content .body-image { | ||
| 257 | margin-top: 4px; | ||
| 258 | background-color: white; | ||
| 259 | -gtk-icon-filter: none; | ||
| 260 | } | ||
| 261 | |||
| 262 | /* Inline reply */ | ||
| 263 | .notification-content .inline-reply { | ||
| 264 | margin-top: 4px; | ||
| 265 | } | ||
| 266 | |||
| 267 | .notification-content .inline-reply .inline-reply-entry { | ||
| 268 | background: var(--bg-secondary); | ||
| 269 | color: var(--text-primary); | ||
| 270 | caret-color: var(--text-primary); | ||
| 271 | border: 1px solid var(--border-color); | ||
| 272 | border-radius: 0px; | ||
| 273 | } | ||
| 274 | |||
| 275 | .notification-content .inline-reply .inline-reply-button { | ||
| 276 | margin-left: 4px; | ||
| 277 | background: rgb(48, 48, 48); | ||
| 278 | border: 1px solid var(--border-color); | ||
| 279 | border-radius: 0px; | ||
| 280 | color: var(--text-primary); | ||
| 281 | } | ||
| 282 | |||
| 283 | .notification-content .inline-reply .inline-reply-button:disabled { | ||
| 284 | background: initial; | ||
| 285 | color: rgb(150, 150, 150); | ||
| 286 | border: 1px solid var(--border-color); | ||
| 287 | border-color: transparent; | ||
| 288 | } | ||
| 289 | |||
| 290 | .notification-content .inline-reply .inline-reply-button:hover { | ||
| 291 | background: var(--bg-primary); | ||
| 292 | } | ||
| 293 | |||
| 294 | /* Alternative actions */ | ||
| 295 | .notification-alt-actions { | ||
| 296 | background: none; | ||
| 297 | border-bottom-left-radius: 12px; | ||
| 298 | border-bottom-right-radius: 12px; | ||
| 299 | padding: 4px; | ||
| 300 | } | ||
| 301 | |||
| 302 | .notification-action { | ||
| 303 | margin: 4px; | ||
| 304 | padding: 0; | ||
| 305 | font-size: 16px; | ||
| 306 | } | ||
| 307 | |||
| 308 | .notification-action>button { | ||
| 309 | border-radius: 0px; | ||
| 310 | font-size: 16px; | ||
| 311 | padding: 1px; | ||
| 312 | } | ||
| 313 | |||
| 314 | /* Notification groups */ | ||
| 315 | .notification-group { | ||
| 316 | transition: opacity 200ms ease-in-out; | ||
| 317 | } | ||
| 318 | |||
| 319 | .notification-group .notification-group-close-button .close-button { | ||
| 320 | margin: 12px 20px; | ||
| 321 | } | ||
| 322 | |||
| 323 | .notification-group .notification-group-buttons, | ||
| 324 | .notification-group .notification-group-headers { | ||
| 325 | margin: 0 16px; | ||
| 326 | color: var(--text-primary); | ||
| 327 | } | ||
| 328 | |||
| 329 | .notification-group .notification-group-headers { | ||
| 330 | font-size: 16px; | ||
| 331 | } | ||
| 332 | |||
| 333 | .notification-group .notification-group-headers .notification-group-icon { | ||
| 334 | color: var(--text-primary); | ||
| 335 | -gtk-icon-size: 20px; | ||
| 336 | font-size: 16px; | ||
| 337 | font-weight: 700; | ||
| 338 | margin: 5px 5px 5px 0px; | ||
| 339 | } | ||
| 340 | |||
| 341 | .notification-group .notification-group-headers .notification-group-header { | ||
| 342 | font-size: 16px; | ||
| 343 | font-weight: 700; | ||
| 344 | color: var(--text-primary); | ||
| 345 | } | ||
| 346 | |||
| 347 | .notification-group .notification-group-buttons { | ||
| 348 | margin: 5px; | ||
| 349 | } | ||
| 350 | |||
| 351 | .notification-group.collapsed.not-expanded { | ||
| 352 | opacity: 1.0; | ||
| 353 | } | ||
| 354 | |||
| 355 | .notification-group.collapsed .notification-row .notification { | ||
| 356 | background-color: var(--bg-primary); | ||
| 357 | } | ||
| 358 | |||
| 359 | .notification-group.collapsed .notification-row:not(:last-child) .notification-action, | ||
| 360 | .notification-group.collapsed .notification-row:not(:last-child) .notification-default-action { | ||
| 361 | opacity: 1.0; | ||
| 362 | } | ||
| 363 | |||
| 364 | .notification-group.collapsed:hover .notification-row:not(:only-child) .notification { | ||
| 365 | background-color: var(--bg-primary); | ||
| 366 | } | ||
| 367 | |||
| 368 | /* Control center */ | ||
| 369 | .control-center { | ||
| 370 | background: var(--bg-primary); | ||
| 371 | color: var(--text-primary); | ||
| 372 | border-radius: 0px; | ||
| 373 | border: 2px solid var(--border-color); | ||
| 374 | box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5); | ||
| 375 | } | ||
| 376 | |||
| 377 | .control-center .control-center-list-placeholder { | ||
| 378 | opacity: 1.0; | ||
| 379 | } | ||
| 380 | |||
| 381 | .control-center .control-center-list { | ||
| 382 | background: transparent; | ||
| 383 | } | ||
| 384 | |||
| 385 | .control-center .control-center-list .notification .notification-default-action, | ||
| 386 | .control-center .control-center-list .notification .notification-action { | ||
| 387 | transition: opacity 400ms ease-in-out, background var(--transition-standard); | ||
| 388 | } | ||
| 389 | |||
| 390 | .control-center .control-center-list .notification .notification-default-action:hover, | ||
| 391 | .control-center .control-center-list .notification .notification-action:hover { | ||
| 392 | background-color: var(--bg-primary); | ||
| 393 | } | ||
| 394 | |||
| 395 | /* Floating notifications */ | ||
| 396 | .blank-window, | ||
| 397 | .floating-notifications { | ||
| 398 | background: transparent; | ||
| 399 | } | ||
| 400 | |||
| 401 | .floating-notifications .notification { | ||
| 402 | box-shadow: none; | ||
| 403 | } | ||
| 404 | |||
| 405 | /* Widgets */ | ||
| 406 | .widget-title>label { | ||
| 407 | margin: 8px; | ||
| 408 | font-weight: 700; | ||
| 409 | font-size: 16px; | ||
| 410 | } | ||
| 411 | |||
| 412 | .widget-title>button { | ||
| 413 | margin: 8px; | ||
| 414 | font-size: 16px; | ||
| 415 | background: var(--bg-primary); | ||
| 416 | border: 2px solid var(--text-disabled); | ||
| 417 | padding: 3px 10px; | ||
| 418 | color: var(--text-primary); | ||
| 419 | font-weight: 700; | ||
| 420 | } | ||
| 421 | |||
| 422 | /* Common widget styles */ | ||
| 423 | .widget-dnd, | ||
| 424 | .widget-label, | ||
| 425 | .widget-volume, | ||
| 426 | .widget-slider, | ||
| 427 | .widget-backlight { | ||
| 428 | margin-left: 8px; | ||
| 429 | margin-right: 8px; | ||
| 430 | margin-top: 0px; | ||
| 431 | margin-bottom: 0px; | ||
| 432 | } | ||
| 433 | |||
| 434 | .widget-dnd label, | ||
| 435 | .widget-label>label { | ||
| 436 | color: var(--text-primary); | ||
| 437 | font-size: 18px; | ||
| 438 | } | ||
| 439 | |||
| 440 | .widget-dnd label { | ||
| 441 | margin: 8px; | ||
| 442 | margin-top: 16px; | ||
| 443 | } | ||
| 444 | |||
| 445 | .widget-dnd switch { | ||
| 446 | margin: 8px; | ||
| 447 | margin-top: 16px; | ||
| 448 | } | ||
| 449 | |||
| 450 | .widget-dnd switch slider { | ||
| 451 | border-radius: 0px; | ||
| 452 | } | ||
| 453 | |||
| 454 | .widget-label { | ||
| 455 | margin: 8px; | ||
| 456 | } | ||
| 457 | |||
| 458 | /* Mpris widget */ | ||
| 459 | .widget-mpris { | ||
| 460 | margin: 5px; | ||
| 461 | } | ||
| 462 | |||
| 463 | .widget-mpris .widget-mpris-player { | ||
| 464 | margin: 10px 10px; | ||
| 465 | border-radius: 0px; | ||
| 466 | box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75); | ||
| 467 | border: 1px solid var(--border-color); | ||
| 468 | } | ||
| 469 | |||
| 470 | .widget-mpris .widget-mpris-player .mpris-background { | ||
| 471 | filter: blur(2px); | ||
| 472 | } | ||
| 473 | |||
| 474 | .widget-mpris .widget-mpris-player .mpris-overlay { | ||
| 475 | padding: 16px; | ||
| 476 | background-color: rgba(0, 0, 0, 0.55); | ||
| 477 | } | ||
| 478 | |||
| 479 | .widget-mpris .widget-mpris-player .mpris-overlay button:hover { | ||
| 480 | background: var(--bg-primary); | ||
| 481 | } | ||
| 482 | |||
| 483 | .widget-mpris .widget-mpris-player .mpris-overlay .widget-mpris-album-art { | ||
| 484 | border-radius: 0px; | ||
| 485 | box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75); | ||
| 486 | -gtk-icon-size: 50px; | ||
| 487 | } | ||
| 488 | |||
| 489 | .widget-mpris .widget-mpris-player .mpris-overlay .widget-mpris-title { | ||
| 490 | font-weight: bold; | ||
| 491 | font-size: 16px; | ||
| 492 | } | ||
| 493 | |||
| 494 | .widget-mpris .widget-mpris-player .mpris-overlay .widget-mpris-subtitle { | ||
| 495 | font-size: 16px; | ||
| 496 | } | ||
| 497 | |||
| 498 | .widget-mpris .widget-mpris-player .mpris-overlay>box>button { | ||
| 499 | margin: 2px; | ||
| 500 | color: var(--text-primary); | ||
| 501 | } | ||
| 502 | |||
| 503 | .widget-mpris .widget-mpris-player .mpris-overlay>box>button:hover { | ||
| 504 | background-color: rgba(0, 0, 0, 0.5); | ||
| 505 | } | ||
| 506 | |||
| 507 | .widget-mpris>box>button { | ||
| 508 | color: var(--text-primary); | ||
| 509 | } | ||
| 510 | |||
| 511 | .widget-mpris>box>button:disabled { | ||
| 512 | color: var(--text-disabled); | ||
| 513 | } | ||
| 514 | |||
| 515 | /* Buttons widget */ | ||
| 516 | .widget-buttons-grid { | ||
| 517 | padding: 8px; | ||
| 518 | margin: 8px; | ||
| 519 | border-radius: 0px; | ||
| 520 | } | ||
| 521 | |||
| 522 | .widget-buttons-grid flowboxchild>button { | ||
| 523 | border-radius: 0px; | ||
| 524 | } | ||
| 525 | |||
| 526 | /* Menubar widget */ | ||
| 527 | .widget-menubar>.menu-button-bar>.start { | ||
| 528 | margin-left: 8px; | ||
| 529 | } | ||
| 530 | |||
| 531 | .widget-menubar>.menu-button-bar>.end { | ||
| 532 | margin-right: 8px; | ||
| 533 | } | ||
| 534 | |||
| 535 | .widget-menubar>.menu-button-bar>.widget-menubar-container button { | ||
| 536 | margin: 0 4px; | ||
| 537 | } | ||
| 538 | |||
| 539 | .widget-menubar>revealer { | ||
| 540 | margin-top: 8px; | ||
| 541 | } | ||
| 542 | |||
| 543 | .widget-menubar>revealer button { | ||
| 544 | margin: 8px; | ||
| 545 | margin-top: 0; | ||
| 546 | } | ||
| 547 | |||
| 548 | /* Volume widget */ | ||
| 549 | .widget-volume { | ||
| 550 | padding: 8px; | ||
| 551 | margin-bottom: 8px; | ||
| 552 | border-radius: 0px; | ||
| 553 | } | ||
| 554 | |||
| 555 | .widget-volume row image { | ||
| 556 | -gtk-icon-size: 24px; | ||
| 557 | } | ||
| 558 | |||
| 559 | .per-app-volume { | ||
| 560 | background-color: var(--bg-secondary); | ||
| 561 | padding: 8px 8px 8px 8px; | ||
| 562 | margin: 8px 8px 8px 8px; | ||
| 563 | border-radius: 0px; | ||
| 564 | } | ||
| 565 | |||
| 566 | /* Slider widget */ | ||
| 567 | .widget-slider { | ||
| 568 | padding: 8px; | ||
| 569 | border-radius: 0px; | ||
| 570 | } | ||
| 571 | |||
| 572 | .widget-slider label { | ||
| 573 | font-size: inherit; | ||
| 574 | } | ||
| 575 | |||
| 576 | /* Backlight widget */ | ||
| 577 | .widget-backlight { | ||
| 578 | padding: 8px; | ||
| 579 | border-radius: 0px; | ||
| 580 | margin-top: -8px; | ||
| 581 | margin-bottom: 8px; | ||
| 582 | } | ||
| 583 | |||
| 584 | /* Inhibitors widget */ | ||
| 585 | .widget-inhibitors>label { | ||
| 586 | margin: 8px; | ||
| 587 | font-size: 16px; | ||
| 588 | } | ||
| 589 | |||
| 590 | .widget-inhibitors>button { | ||
| 591 | margin: 8px; | ||
| 592 | } | ||
| 593 | ''; | ||
| 594 | }; | ||
| 595 | } | ||
users/natalie/home/tmux.nix created+107| ... | @@ -0,0 +1,107 @@ | ||
| 1 | { pkgs, config, ... }: | ||
| 2 | let | ||
| 3 | tmux-nvim = pkgs.tmuxPlugins.mkTmuxPlugin { | ||
| 4 | pluginName = "tmux.nvim"; | ||
| 5 | version = "unstable-2025-05-19"; | ||
| 6 | src = pkgs.fetchFromGitHub { | ||
| 7 | owner = "aserowy"; | ||
| 8 | repo = "tmux.nvim/"; | ||
| 9 | rev = "2c1c3be0ef287073cef963f2aefa31a15c8b9cd8"; | ||
| 10 | sha256 = "sha256-/XIjqQr9loWVTXZDaZx2bSQgco46z7yam50dCnM5p1U="; | ||
| 11 | }; | ||
| 12 | }; | ||
| 13 | |||
| 14 | in | ||
| 15 | { | ||
| 16 | programs.tmux = { | ||
| 17 | enable = true; | ||
| 18 | mouse = true; | ||
| 19 | |||
| 20 | shell = "${pkgs.fish}/bin/fish"; | ||
| 21 | |||
| 22 | shortcut = "a"; | ||
| 23 | keyMode = "vi"; | ||
| 24 | |||
| 25 | plugins = with pkgs.tmuxPlugins; [ | ||
| 26 | better-mouse-mode | ||
| 27 | tmux-nvim | ||
| 28 | tmux-thumbs | ||
| 29 | cpu | ||
| 30 | tmux-floax | ||
| 31 | yank | ||
| 32 | # must be before continuum edits right status bar | ||
| 33 | { | ||
| 34 | plugin = catppuccin; | ||
| 35 | extraConfig = '' | ||
| 36 | set -g @catppuccin_flavour "mocha" | ||
| 37 | set -g @catppuccin_window_status_style "rounded" | ||
| 38 | |||
| 39 | set -g status-right-length 100 | ||
| 40 | set -g status-left-length 100 | ||
| 41 | set -g status-left "" | ||
| 42 | set -g status-right "#{E:@catppuccin_status_application}" | ||
| 43 | set -ag status-right "#{E:@catppuccin_status_session}" | ||
| 44 | set -ag status-right "#{E:@catppuccin_status_uptime}" | ||
| 45 | |||
| 46 | ''; | ||
| 47 | } | ||
| 48 | { | ||
| 49 | plugin = resurrect; | ||
| 50 | extraConfig = '' | ||
| 51 | set -g @resurrect-strategy-vim 'session' | ||
| 52 | set -g @resurrect-strategy-nvim 'session' | ||
| 53 | set -g @resurrect-capture-pane-contents 'on' | ||
| 54 | '' | ||
| 55 | + '' | ||
| 56 | # Taken from: https://github.com/p3t33/nixos_flake/blob/5a989e5af403b4efe296be6f39ffe6d5d440d6d6/home/modules/tmux.nix | ||
| 57 | resurrect_dir="$XDG_CACHE_HOME/.tmux/resurrect" | ||
| 58 | set -g @resurrect-dir $resurrect_dir | ||
| 59 | |||
| 60 | set -g @resurrect-hook-post-save-all 'target=$(readlink -f $resurrect_dir/last); sed "s| --cmd .*-vim-pack-dir||g; s|/etc/profiles/per-user/$USER/bin/||g; s|/home/$USER/.nix-profile/bin/||g" $target | sponge $target' | ||
| 61 | ''; | ||
| 62 | |||
| 63 | } | ||
| 64 | { | ||
| 65 | plugin = continuum; | ||
| 66 | extraConfig = '' | ||
| 67 | set -g @continuum-restore 'on' | ||
| 68 | set -g @continuum-boot 'on' | ||
| 69 | set -g @continuum-save-interval '10' | ||
| 70 | set -g @continuum-systemd-start-cmd 'start-server' | ||
| 71 | ''; | ||
| 72 | } | ||
| 73 | |||
| 74 | ]; | ||
| 75 | extraConfig = '' | ||
| 76 | set -g default-terminal "tmux-256color" | ||
| 77 | set-environment -g TMUX_PLUGIN_MANAGER_PATH '~/.local/share/tmux/plugins' | ||
| 78 | # Easier reload of config | ||
| 79 | bind r source-file ~/.config/tmux/tmux.conf | ||
| 80 | # Quicker escape in neovim | ||
| 81 | set -sg escape-time 0 | ||
| 82 | set-option -g set-titles on | ||
| 83 | set-option -g set-titles-string "#S / #W" | ||
| 84 | |||
| 85 | set -g allow-passthrough on | ||
| 86 | |||
| 87 | # '@pane-is-vim' is a pane-local option that is set by the plugin on load, | ||
| 88 | # and unset when Neovim exits or suspends; note that this means you'll probably | ||
| 89 | # not want to lazy-load smart-splits.nvim, as the variable won't be set until | ||
| 90 | # the plugin is loaded | ||
| 91 | |||
| 92 | # Smart pane switching with awareness of Neovim splits. | ||
| 93 | bind-key -n C-h if -F "#{@pane-is-vim}" 'send-keys C-h' 'select-pane -L' | ||
| 94 | bind-key -n C-j if -F "#{@pane-is-vim}" 'send-keys C-j' 'select-pane -D' | ||
| 95 | bind-key -n C-k if -F "#{@pane-is-vim}" 'send-keys C-k' 'select-pane -U' | ||
| 96 | bind-key -n C-l if -F "#{@pane-is-vim}" 'send-keys C-l' 'select-pane -R' | ||
| 97 | |||
| 98 | # Smart pane resizing with awareness of Neovim splits. | ||
| 99 | bind-key -n M-h if -F "#{@pane-is-vim}" 'send-keys M-h' 'resize-pane -L 3' | ||
| 100 | bind-key -n M-j if -F "#{@pane-is-vim}" 'send-keys M-j' 'resize-pane -D 3' | ||
| 101 | bind-key -n M-k if -F "#{@pane-is-vim}" 'send-keys M-k' 'resize-pane -U 3' | ||
| 102 | bind-key -n M-l if -F "#{@pane-is-vim}" 'send-keys M-l' 'resize-pane -R 3' | ||
| 103 | |||
| 104 | ''; | ||
| 105 | }; | ||
| 106 | |||
| 107 | } | ||
users/natalie/home/vicinae.nix created+30| ... | @@ -0,0 +1,30 @@ | ||
| 1 | { inputs, pkgs, ... }: | ||
| 2 | { | ||
| 3 | services.vicinae = { | ||
| 4 | enable = true; | ||
| 5 | autoStart = false; | ||
| 6 | settings = { | ||
| 7 | faviconService = "twenty"; # twenty | google | none | ||
| 8 | font.size = 11; | ||
| 9 | popToRootOnClose = false; | ||
| 10 | rootSearch.searchFiles = true; | ||
| 11 | theme.name = "catpuccin-mocha"; | ||
| 12 | window = { | ||
| 13 | csd = true; | ||
| 14 | opacity = 0.95; | ||
| 15 | rounding = 10; | ||
| 16 | }; | ||
| 17 | |||
| 18 | }; | ||
| 19 | |||
| 20 | # extensions = [ | ||
| 21 | # (inputs.vicinae.mkVicinaeExtension.${pkgs.system} { | ||
| 22 | # inherit pkgs; | ||
| 23 | # name = "nixpkgs search"; | ||
| 24 | # src = pkgs.fetchFromGithub { | ||
| 25 | # | ||
| 26 | # }; | ||
| 27 | # }) | ||
| 28 | # ]; | ||
| 29 | }; | ||
| 30 | } | ||
users/natalie/home/waybar/default.nix created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | { ... }: | ||
| 2 | { | ||
| 3 | imports = [ | ||
| 4 | ./waybar.nix | ||
| 5 | ./settings.nix | ||
| 6 | ./style.nix | ||
| 7 | ]; | ||
| 8 | } | ||
users/natalie/home/waybar/settings.nix created+181| ... | @@ -0,0 +1,181 @@ | ||
| 1 | { | ||
| 2 | pkgs, | ||
| 3 | inputs, | ||
| 4 | currentSystem, | ||
| 5 | ... | ||
| 6 | }: | ||
| 7 | let | ||
| 8 | custom = { | ||
| 9 | font = "Maple Mono"; | ||
| 10 | font_size = "18px"; | ||
| 11 | font_weight = "bold"; | ||
| 12 | text_color = "#FBF1C7"; | ||
| 13 | background_0 = "#1D2021"; | ||
| 14 | background_1 = "#282828"; | ||
| 15 | border_color = "#928374"; | ||
| 16 | red = "#CC241D"; | ||
| 17 | green = "#98971A"; | ||
| 18 | yellow = "#FABD2F"; | ||
| 19 | blue = "#458588"; | ||
| 20 | magenta = "#B16286"; | ||
| 21 | cyan = "#689D6A"; | ||
| 22 | orange = "#D65D0E"; | ||
| 23 | opacity = "1"; | ||
| 24 | indicator_height = "2px"; | ||
| 25 | }; | ||
| 26 | in | ||
| 27 | { | ||
| 28 | programs.waybar.settings.mainBar = with custom; { | ||
| 29 | position = "top"; | ||
| 30 | layer = "bottom"; | ||
| 31 | height = 28; | ||
| 32 | margin-top = 0; | ||
| 33 | margin-bottom = 0; | ||
| 34 | margin-left = 0; | ||
| 35 | margin-right = 0; | ||
| 36 | modules-left = [ | ||
| 37 | "custom/launcher" | ||
| 38 | "hyprland/workspaces" | ||
| 39 | ]; | ||
| 40 | modules-center = [ "clock" ]; | ||
| 41 | modules-right = [ | ||
| 42 | "cpu" | ||
| 43 | "memory" | ||
| 44 | "pulseaudio" | ||
| 45 | "network" | ||
| 46 | "hyprland/language" | ||
| 47 | "tray" | ||
| 48 | "custom/notification" | ||
| 49 | "custom/power-menu" | ||
| 50 | ]; | ||
| 51 | clock = { | ||
| 52 | calendar = { | ||
| 53 | format = { | ||
| 54 | today = "<span color='#98971A'><b>{}</b></span>"; | ||
| 55 | }; | ||
| 56 | }; | ||
| 57 | format = " {:%H:%M}"; | ||
| 58 | tooltip = "true"; | ||
| 59 | tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"; | ||
| 60 | format-alt = " {:%d/%m}"; | ||
| 61 | }; | ||
| 62 | "hyprland/workspaces" = { | ||
| 63 | active-only = false; | ||
| 64 | disable-scroll = true; | ||
| 65 | format = "{icon}"; | ||
| 66 | on-click = "activate"; | ||
| 67 | format-icons = { | ||
| 68 | sort-by-number = true; | ||
| 69 | }; | ||
| 70 | persistent-workspaces = { | ||
| 71 | "1" = [ ]; | ||
| 72 | "2" = [ ]; | ||
| 73 | "3" = [ ]; | ||
| 74 | "4" = [ ]; | ||
| 75 | "5" = [ ]; | ||
| 76 | }; | ||
| 77 | }; | ||
| 78 | cpu = { | ||
| 79 | format = "<span foreground='${green}'> </span> {usage}%"; | ||
| 80 | format-alt = "<span foreground='${green}'> </span> {avg_frequency} GHz"; | ||
| 81 | interval = 2; | ||
| 82 | on-click-right = "${pkgs.hyprland}/bin/hyprctl dispatch exec '[float; center; size 950 650] ${pkgs.ghostty}/bin/ghostty --font-size=14 -e btop'"; | ||
| 83 | }; | ||
| 84 | memory = { | ||
| 85 | format = "<span foreground='${cyan}'> </span>{}%"; | ||
| 86 | format-alt = "<span foreground='${cyan}'> </span>{used} GiB"; # | ||
| 87 | interval = 2; | ||
| 88 | on-click-right = "${pkgs.hyprland}/bin/hyprctl dispatch exec '[float; center; size 950 650] ${pkgs.ghostty}/bin/ghostty --font-size=14 -e btop'"; | ||
| 89 | }; | ||
| 90 | disk = { | ||
| 91 | # path = "/"; | ||
| 92 | format = "<span foreground='${orange}'> </span>{percentage_used}%"; | ||
| 93 | interval = 60; | ||
| 94 | on-click-right = "${pkgs.hyprland}/bin/hyprctl dispatch exec '[float; center; size 950 650] ${pkgs.ghostty}/bin/ghostty --font-size=14 -e btop'"; | ||
| 95 | }; | ||
| 96 | network = { | ||
| 97 | format-wifi = "<span foreground='${magenta}'> </span> {signalStrength}%"; | ||
| 98 | format-ethernet = "<span foreground='${magenta}'> </span>"; | ||
| 99 | tooltip-format = "Connected to {essid} {ifname} via {gwaddr}"; | ||
| 100 | format-linked = "{ifname} (No IP)"; | ||
| 101 | format-disconnected = "<span foreground='${magenta}'> </span>"; | ||
| 102 | }; | ||
| 103 | tray = { | ||
| 104 | icon-size = 20; | ||
| 105 | spacing = 8; | ||
| 106 | }; | ||
| 107 | pulseaudio = { | ||
| 108 | format = "{icon} {volume}%"; | ||
| 109 | format-muted = "<span foreground='${blue}'> </span> {volume}%"; | ||
| 110 | format-icons = { | ||
| 111 | default = [ "<span foreground='${blue}'> </span>" ]; | ||
| 112 | }; | ||
| 113 | scroll-step = 2; | ||
| 114 | on-click = "${pkgs.pamixer}/bin/pamixer -t"; | ||
| 115 | on-click-right = "${pkgs.pavucontrol}/bin/pavucontrol"; | ||
| 116 | }; | ||
| 117 | # battery = { | ||
| 118 | # format = "<span foreground='${yellow}'>{icon}</span> {capacity}%"; | ||
| 119 | # format-icons = [ | ||
| 120 | # " " | ||
| 121 | # " " | ||
| 122 | # " " | ||
| 123 | # " " | ||
| 124 | # " " | ||
| 125 | # ]; | ||
| 126 | # format-charging = "<span foreground='${yellow}'> </span>{capacity}%"; | ||
| 127 | # format-full = "<span foreground='${yellow}'> </span>{capacity}%"; | ||
| 128 | # format-warning = "<span foreground='${yellow}'> </span>{capacity}%"; | ||
| 129 | # interval = 5; | ||
| 130 | # states = { | ||
| 131 | # warning = 20; | ||
| 132 | # }; | ||
| 133 | # format-time = "{H}h{M}m"; | ||
| 134 | # tooltip = true; | ||
| 135 | # tooltip-format = "{time}"; | ||
| 136 | # }; | ||
| 137 | "hyprland/language" = { | ||
| 138 | tooltip = true; | ||
| 139 | tooltip-format = "Keyboard layout"; | ||
| 140 | format = "<span foreground='#FABD2F'> </span> {}"; | ||
| 141 | format-fr = "FR"; | ||
| 142 | format-en = "US"; | ||
| 143 | on-click = "${pkgs.hyprland}/bin/hyprctl switchxkblayout at-translated-set-2-keyboard next"; | ||
| 144 | }; | ||
| 145 | "custom/launcher" = { | ||
| 146 | format = ""; | ||
| 147 | on-click = "random-wallpaper"; | ||
| 148 | on-click-right = "${inputs.vicinae.packages.${currentSystem}.default}vicinae vicinae://toggle"; | ||
| 149 | tooltip = "true"; | ||
| 150 | tooltip-format = "Random Wallpaper"; | ||
| 151 | }; | ||
| 152 | "custom/notification" = { | ||
| 153 | tooltip = true; | ||
| 154 | tooltip-format = "Notifications"; | ||
| 155 | format = "{icon}"; | ||
| 156 | format-icons = { | ||
| 157 | notification = "<span foreground='red'><sup></sup></span>"; | ||
| 158 | none = ""; | ||
| 159 | dnd-notification = "<span foreground='red'><sup></sup></span>"; | ||
| 160 | dnd-none = ""; | ||
| 161 | inhibited-notification = "<span foreground='red'><sup></sup></span>"; | ||
| 162 | inhibited-none = ""; | ||
| 163 | dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>"; | ||
| 164 | dnd-inhibited-none = ""; | ||
| 165 | }; | ||
| 166 | return-type = "json"; | ||
| 167 | exec-if = "which swaync-client"; | ||
| 168 | exec = "${pkgs.swaynotificationcenter}/bin/swaync-client -swb"; | ||
| 169 | on-click = "${pkgs.swaynotificationcenter}/bin/swaync-client -t -sw"; | ||
| 170 | on-click-right = "${pkgs.swaynotificationcenter}/bin/swaync-client -d -sw"; | ||
| 171 | escape = true; | ||
| 172 | }; | ||
| 173 | "custom/power-menu" = { | ||
| 174 | tooltip = true; | ||
| 175 | tooltip-format = "Power menu"; | ||
| 176 | format = "<span foreground='${red}'> </span>"; | ||
| 177 | on-click = "power-menu"; | ||
| 178 | }; | ||
| 179 | }; | ||
| 180 | |||
| 181 | } | ||
users/natalie/home/waybar/style.nix created+107| ... | @@ -0,0 +1,107 @@ | ||
| 1 | { ... }: | ||
| 2 | let | ||
| 3 | custom = { | ||
| 4 | font = "Maple Mono"; | ||
| 5 | font_size = "18px"; | ||
| 6 | font_weight = "bold"; | ||
| 7 | text_color = "#FBF1C7"; | ||
| 8 | background_0 = "#1D2021"; | ||
| 9 | background_1 = "#282828"; | ||
| 10 | border_color = "#A89984"; | ||
| 11 | red = "#CC241D"; | ||
| 12 | green = "#98971A"; | ||
| 13 | yellow = "#FABD2F"; | ||
| 14 | blue = "#458588"; | ||
| 15 | magenta = "#B16286"; | ||
| 16 | cyan = "#689D6A"; | ||
| 17 | orange = "#D65D0E"; | ||
| 18 | orange_bright = "#FE8019"; | ||
| 19 | opacity = "1"; | ||
| 20 | indicator_height = "2px"; | ||
| 21 | }; | ||
| 22 | in | ||
| 23 | { | ||
| 24 | programs.waybar.style = with custom; '' | ||
| 25 | * { | ||
| 26 | border: none; | ||
| 27 | border-radius: 0px; | ||
| 28 | padding: 0; | ||
| 29 | margin: 0; | ||
| 30 | font-family: ${font}; | ||
| 31 | font-weight: ${font_weight}; | ||
| 32 | opacity: ${opacity}; | ||
| 33 | font-size: ${font_size}; | ||
| 34 | } | ||
| 35 | |||
| 36 | window#waybar { | ||
| 37 | background: ${background_1}; | ||
| 38 | border-top: 1px solid ${border_color}; | ||
| 39 | } | ||
| 40 | |||
| 41 | tooltip { | ||
| 42 | background: ${background_1}; | ||
| 43 | border: 1px solid ${border_color}; | ||
| 44 | } | ||
| 45 | tooltip label { | ||
| 46 | margin: 5px; | ||
| 47 | color: ${text_color}; | ||
| 48 | } | ||
| 49 | |||
| 50 | #workspaces { | ||
| 51 | padding-left: 15px; | ||
| 52 | } | ||
| 53 | #workspaces button { | ||
| 54 | color: ${yellow}; | ||
| 55 | padding-left: 5px; | ||
| 56 | padding-right: 5px; | ||
| 57 | margin-right: 10px; | ||
| 58 | } | ||
| 59 | #workspaces button.empty { | ||
| 60 | color: ${text_color}; | ||
| 61 | } | ||
| 62 | #workspaces button.active { | ||
| 63 | color: ${orange_bright}; | ||
| 64 | } | ||
| 65 | |||
| 66 | #clock { | ||
| 67 | color: ${text_color}; | ||
| 68 | } | ||
| 69 | |||
| 70 | #tray { | ||
| 71 | margin-left: 10px; | ||
| 72 | color: ${text_color}; | ||
| 73 | } | ||
| 74 | #tray menu { | ||
| 75 | background: ${background_1}; | ||
| 76 | border: 1px solid ${border_color}; | ||
| 77 | padding: 8px; | ||
| 78 | } | ||
| 79 | #tray menuitem { | ||
| 80 | padding: 1px; | ||
| 81 | } | ||
| 82 | |||
| 83 | #pulseaudio, #network, #cpu, #memory, #disk, #battery, #language, #custom-notification, #custom-power-menu { | ||
| 84 | padding-left: 5px; | ||
| 85 | padding-right: 5px; | ||
| 86 | margin-right: 10px; | ||
| 87 | color: ${text_color}; | ||
| 88 | } | ||
| 89 | |||
| 90 | #pulseaudio, #language, #custom-notification { | ||
| 91 | margin-left: 15px; | ||
| 92 | } | ||
| 93 | |||
| 94 | #custom-power-menu { | ||
| 95 | padding-right: 2px; | ||
| 96 | margin-right: 5px; | ||
| 97 | } | ||
| 98 | |||
| 99 | #custom-launcher { | ||
| 100 | font-size: 20px; | ||
| 101 | color: ${text_color}; | ||
| 102 | font-weight: bold; | ||
| 103 | margin-left: 15px; | ||
| 104 | padding-right: 10px; | ||
| 105 | } | ||
| 106 | ''; | ||
| 107 | } | ||
users/natalie/home/waybar/waybar.nix created+7| ... | @@ -0,0 +1,7 @@ | ||
| 1 | { ... }: | ||
| 2 | { | ||
| 3 | programs.waybar = { | ||
| 4 | enable = true; | ||
| 5 | systemd.enable = true; | ||
| 6 | }; | ||
| 7 | } | ||
users/natalie/packages.nix+4-1| ... | @@ -18,6 +18,10 @@ with pkgs; | ... | @@ -18,6 +18,10 @@ with pkgs; |
| 18 | typescript-language-server | 18 | typescript-language-server |
| 19 | deno | 19 | deno |
| 20 | 20 | ||
| 21 | #desktop shit | ||
| 22 | gtk3 | ||
| 23 | gtk4 | ||
| 24 | |||
| 21 | #ides | 25 | #ides |
| 22 | 26 | ||
| 23 | #virtualization | 27 | #virtualization |
| ... | @@ -37,7 +41,6 @@ with pkgs; | ... | @@ -37,7 +41,6 @@ with pkgs; |
| 37 | 41 | ||
| 38 | #terminal stuff | 42 | #terminal stuff |
| 39 | (btop.override { cudaSupport = true; }) | 43 | (btop.override { cudaSupport = true; }) |
| 40 | tmux | ||
| 41 | zellij | 44 | zellij |
| 42 | lazygit | 45 | lazygit |
| 43 | fzf | 46 | fzf |