My nix config
0

Configure Feed

Select the types of activity you want to include in your feed.

Initial config

author
Dario Oddenino
date (Jun 25, 2026, 8:28 PM +0200) commit 0f1f2074 change-id wymokoxt
+2478
+887
flake.lock
··· 1 + { 2 + "nodes": { 3 + "alejandra": { 4 + "inputs": { 5 + "fenix": "fenix", 6 + "flakeCompat": "flakeCompat", 7 + "nixpkgs": [ 8 + "ki-editor", 9 + "nixpkgs" 10 + ] 11 + }, 12 + "locked": { 13 + "lastModified": 1744324181, 14 + "narHash": "sha256-Oi1n2ncF4/AWeY6X55o2FddIRICokbciqFYK64XorYk=", 15 + "owner": "kamadorueda", 16 + "repo": "alejandra", 17 + "rev": "3e2a85506627062313e131bf8a85315f3387c8e0", 18 + "type": "github" 19 + }, 20 + "original": { 21 + "owner": "kamadorueda", 22 + "ref": "4.0.0", 23 + "repo": "alejandra", 24 + "type": "github" 25 + } 26 + }, 27 + "aquamarine": { 28 + "inputs": { 29 + "hyprutils": [ 30 + "hyprland", 31 + "hyprutils" 32 + ], 33 + "hyprwayland-scanner": [ 34 + "hyprland", 35 + "hyprwayland-scanner" 36 + ], 37 + "nixpkgs": [ 38 + "hyprland", 39 + "nixpkgs" 40 + ], 41 + "systems": [ 42 + "hyprland", 43 + "systems" 44 + ] 45 + }, 46 + "locked": { 47 + "lastModified": 1780756231, 48 + "narHash": "sha256-tXQxKdG5716uB9/LIkLQqQwHKf5mRSpHoZhz3lyI2Cg=", 49 + "owner": "hyprwm", 50 + "repo": "aquamarine", 51 + "rev": "6ecde03f47172753fe5a2f334f9d3facfb7e6784", 52 + "type": "github" 53 + }, 54 + "original": { 55 + "owner": "hyprwm", 56 + "repo": "aquamarine", 57 + "type": "github" 58 + } 59 + }, 60 + "crane": { 61 + "locked": { 62 + "lastModified": 1754269165, 63 + "narHash": "sha256-0tcS8FHd4QjbCVoxN9jI+PjHgA4vc/IjkUSp+N3zy0U=", 64 + "owner": "ipetkov", 65 + "repo": "crane", 66 + "rev": "444e81206df3f7d92780680e45858e31d2f07a08", 67 + "type": "github" 68 + }, 69 + "original": { 70 + "owner": "ipetkov", 71 + "repo": "crane", 72 + "type": "github" 73 + } 74 + }, 75 + "fenix": { 76 + "inputs": { 77 + "nixpkgs": [ 78 + "ki-editor", 79 + "alejandra", 80 + "nixpkgs" 81 + ], 82 + "rust-analyzer-src": "rust-analyzer-src" 83 + }, 84 + "locked": { 85 + "lastModified": 1730615655, 86 + "narHash": "sha256-2HBR3zLn57LXKNRtxBb+O+uDqHM4n0pz51rPayMl4cg=", 87 + "owner": "nix-community", 88 + "repo": "fenix", 89 + "rev": "efeb50e2535b17ffd4a135e6e3e5fd60a525180c", 90 + "type": "github" 91 + }, 92 + "original": { 93 + "owner": "nix-community", 94 + "repo": "fenix", 95 + "type": "github" 96 + } 97 + }, 98 + "flake-compat": { 99 + "flake": false, 100 + "locked": { 101 + "lastModified": 1767039857, 102 + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", 103 + "owner": "NixOS", 104 + "repo": "flake-compat", 105 + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", 106 + "type": "github" 107 + }, 108 + "original": { 109 + "owner": "NixOS", 110 + "repo": "flake-compat", 111 + "type": "github" 112 + } 113 + }, 114 + "flake-utils": { 115 + "inputs": { 116 + "systems": "systems_2" 117 + }, 118 + "locked": { 119 + "lastModified": 1731533236, 120 + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 121 + "owner": "numtide", 122 + "repo": "flake-utils", 123 + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 124 + "type": "github" 125 + }, 126 + "original": { 127 + "owner": "numtide", 128 + "repo": "flake-utils", 129 + "type": "github" 130 + } 131 + }, 132 + "flakeCompat": { 133 + "flake": false, 134 + "locked": { 135 + "lastModified": 1696426674, 136 + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", 137 + "owner": "edolstra", 138 + "repo": "flake-compat", 139 + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", 140 + "type": "github" 141 + }, 142 + "original": { 143 + "owner": "edolstra", 144 + "repo": "flake-compat", 145 + "type": "github" 146 + } 147 + }, 148 + "gitignore": { 149 + "inputs": { 150 + "nixpkgs": [ 151 + "hyprland", 152 + "pre-commit-hooks", 153 + "nixpkgs" 154 + ] 155 + }, 156 + "locked": { 157 + "lastModified": 1709087332, 158 + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", 159 + "owner": "hercules-ci", 160 + "repo": "gitignore.nix", 161 + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", 162 + "type": "github" 163 + }, 164 + "original": { 165 + "owner": "hercules-ci", 166 + "repo": "gitignore.nix", 167 + "type": "github" 168 + } 169 + }, 170 + "helix-master": { 171 + "inputs": { 172 + "nixpkgs": "nixpkgs", 173 + "rust-overlay": "rust-overlay" 174 + }, 175 + "locked": { 176 + "lastModified": 1782281189, 177 + "narHash": "sha256-pr0uoMp72SkUkh6VQtQd+OVTqxAaat+3FN+o5yMJvQE=", 178 + "owner": "helix-editor", 179 + "repo": "helix", 180 + "rev": "6b7c7c6e0784d7c34295c24064deb36418c0b4b5", 181 + "type": "github" 182 + }, 183 + "original": { 184 + "owner": "helix-editor", 185 + "repo": "helix", 186 + "type": "github" 187 + } 188 + }, 189 + "home-manager": { 190 + "inputs": { 191 + "nixpkgs": [ 192 + "nixpkgs" 193 + ] 194 + }, 195 + "locked": { 196 + "lastModified": 1782233665, 197 + "narHash": "sha256-h/xOtrByoA/Ak1lWHn0O1lVZz4qWYbwOSLQ8YSwQO0I=", 198 + "owner": "nix-community", 199 + "repo": "home-manager", 200 + "rev": "062581938b4a378a82dfbb294b494808157153a1", 201 + "type": "github" 202 + }, 203 + "original": { 204 + "owner": "nix-community", 205 + "repo": "home-manager", 206 + "type": "github" 207 + } 208 + }, 209 + "hy3": { 210 + "inputs": { 211 + "hyprland": [ 212 + "hyprland" 213 + ] 214 + }, 215 + "locked": { 216 + "lastModified": 1781851358, 217 + "narHash": "sha256-6mLY3Y9ar0owm1KtFBh4YYfzdlnsXelzp7Llh79EzRs=", 218 + "owner": "outfoxxed", 219 + "repo": "hy3", 220 + "rev": "ded5e168f3a8d1290b34d696930098e8c141404d", 221 + "type": "github" 222 + }, 223 + "original": { 224 + "owner": "outfoxxed", 225 + "repo": "hy3", 226 + "type": "github" 227 + } 228 + }, 229 + "hyprcursor": { 230 + "inputs": { 231 + "hyprlang": [ 232 + "hyprland", 233 + "hyprlang" 234 + ], 235 + "nixpkgs": [ 236 + "hyprland", 237 + "nixpkgs" 238 + ], 239 + "systems": [ 240 + "hyprland", 241 + "systems" 242 + ] 243 + }, 244 + "locked": { 245 + "lastModified": 1776511930, 246 + "narHash": "sha256-fCpwFiTW0rT7oKJqr3cqHMnkwypSwQKpbtUEtxdkgrM=", 247 + "owner": "hyprwm", 248 + "repo": "hyprcursor", 249 + "rev": "39435900785d0c560c6ae8777d29f28617d031ef", 250 + "type": "github" 251 + }, 252 + "original": { 253 + "owner": "hyprwm", 254 + "repo": "hyprcursor", 255 + "type": "github" 256 + } 257 + }, 258 + "hyprgraphics": { 259 + "inputs": { 260 + "hyprutils": [ 261 + "hyprland", 262 + "hyprutils" 263 + ], 264 + "nixpkgs": [ 265 + "hyprland", 266 + "nixpkgs" 267 + ], 268 + "systems": [ 269 + "hyprland", 270 + "systems" 271 + ] 272 + }, 273 + "locked": { 274 + "lastModified": 1776426399, 275 + "narHash": "sha256-RUESLKNikIeEq9ymGJ6nmcDXiSFQpUW1IhJ245nL3xM=", 276 + "owner": "hyprwm", 277 + "repo": "hyprgraphics", 278 + "rev": "68d064434787cf1ed4a2fe257c03c5f52f33cf84", 279 + "type": "github" 280 + }, 281 + "original": { 282 + "owner": "hyprwm", 283 + "repo": "hyprgraphics", 284 + "type": "github" 285 + } 286 + }, 287 + "hyprland": { 288 + "inputs": { 289 + "aquamarine": "aquamarine", 290 + "hyprcursor": "hyprcursor", 291 + "hyprgraphics": "hyprgraphics", 292 + "hyprland-guiutils": "hyprland-guiutils", 293 + "hyprland-protocols": "hyprland-protocols", 294 + "hyprlang": "hyprlang", 295 + "hyprutils": "hyprutils", 296 + "hyprwayland-scanner": "hyprwayland-scanner", 297 + "hyprwire": "hyprwire", 298 + "nixpkgs": "nixpkgs_2", 299 + "pre-commit-hooks": "pre-commit-hooks", 300 + "systems": "systems", 301 + "xdph": "xdph" 302 + }, 303 + "locked": { 304 + "lastModified": 1782226626, 305 + "narHash": "sha256-aFkQmqXUPXzV117P853JKe6s/pzohzxZSjzCs9Pw9fc=", 306 + "owner": "hyprwm", 307 + "repo": "Hyprland", 308 + "rev": "049595e196db4a4ab162ce58aadd016e929327c8", 309 + "type": "github" 310 + }, 311 + "original": { 312 + "owner": "hyprwm", 313 + "repo": "Hyprland", 314 + "type": "github" 315 + } 316 + }, 317 + "hyprland-guiutils": { 318 + "inputs": { 319 + "aquamarine": [ 320 + "hyprland", 321 + "aquamarine" 322 + ], 323 + "hyprgraphics": [ 324 + "hyprland", 325 + "hyprgraphics" 326 + ], 327 + "hyprlang": [ 328 + "hyprland", 329 + "hyprlang" 330 + ], 331 + "hyprtoolkit": "hyprtoolkit", 332 + "hyprutils": [ 333 + "hyprland", 334 + "hyprutils" 335 + ], 336 + "hyprwayland-scanner": [ 337 + "hyprland", 338 + "hyprwayland-scanner" 339 + ], 340 + "nixpkgs": [ 341 + "hyprland", 342 + "nixpkgs" 343 + ], 344 + "systems": [ 345 + "hyprland", 346 + "systems" 347 + ] 348 + }, 349 + "locked": { 350 + "lastModified": 1776426575, 351 + "narHash": "sha256-KI6nIfVihn/DPaeB5Et46Xg3dkNHrrEtUd5LBBVomB0=", 352 + "owner": "hyprwm", 353 + "repo": "hyprland-guiutils", 354 + "rev": "a968d211048e3ed538e47b84cb3649299578f19d", 355 + "type": "github" 356 + }, 357 + "original": { 358 + "owner": "hyprwm", 359 + "repo": "hyprland-guiutils", 360 + "type": "github" 361 + } 362 + }, 363 + "hyprland-plugins": { 364 + "inputs": { 365 + "hyprland": [ 366 + "hyprland" 367 + ], 368 + "nixpkgs": [ 369 + "hyprland-plugins", 370 + "hyprland", 371 + "nixpkgs" 372 + ], 373 + "systems": [ 374 + "hyprland-plugins", 375 + "hyprland", 376 + "systems" 377 + ] 378 + }, 379 + "locked": { 380 + "lastModified": 1781442805, 381 + "narHash": "sha256-Kt56e6Bq2sfqN8yq1RHsS6z+8QKCZelmhaeQQRtZyqU=", 382 + "owner": "hyprwm", 383 + "repo": "hyprland-plugins", 384 + "rev": "1f90c674d51a1ef83c725cd6d02280b4c969fdf7", 385 + "type": "github" 386 + }, 387 + "original": { 388 + "owner": "hyprwm", 389 + "repo": "hyprland-plugins", 390 + "type": "github" 391 + } 392 + }, 393 + "hyprland-protocols": { 394 + "inputs": { 395 + "nixpkgs": [ 396 + "hyprland", 397 + "nixpkgs" 398 + ], 399 + "systems": [ 400 + "hyprland", 401 + "systems" 402 + ] 403 + }, 404 + "locked": { 405 + "lastModified": 1772460177, 406 + "narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=", 407 + "owner": "hyprwm", 408 + "repo": "hyprland-protocols", 409 + "rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917", 410 + "type": "github" 411 + }, 412 + "original": { 413 + "owner": "hyprwm", 414 + "repo": "hyprland-protocols", 415 + "type": "github" 416 + } 417 + }, 418 + "hyprlang": { 419 + "inputs": { 420 + "hyprutils": [ 421 + "hyprland", 422 + "hyprutils" 423 + ], 424 + "nixpkgs": [ 425 + "hyprland", 426 + "nixpkgs" 427 + ], 428 + "systems": [ 429 + "hyprland", 430 + "systems" 431 + ] 432 + }, 433 + "locked": { 434 + "lastModified": 1777320127, 435 + "narHash": "sha256-Qu+Wf2Bp5qUjyn2YpZNq8a7JyzTGowhT1knrwE38a9U=", 436 + "owner": "hyprwm", 437 + "repo": "hyprlang", 438 + "rev": "090117506ddc3d7f26e650ff344d378c2ec329cc", 439 + "type": "github" 440 + }, 441 + "original": { 442 + "owner": "hyprwm", 443 + "repo": "hyprlang", 444 + "type": "github" 445 + } 446 + }, 447 + "hyprtoolkit": { 448 + "inputs": { 449 + "aquamarine": [ 450 + "hyprland", 451 + "hyprland-guiutils", 452 + "aquamarine" 453 + ], 454 + "hyprgraphics": [ 455 + "hyprland", 456 + "hyprland-guiutils", 457 + "hyprgraphics" 458 + ], 459 + "hyprlang": [ 460 + "hyprland", 461 + "hyprland-guiutils", 462 + "hyprlang" 463 + ], 464 + "hyprutils": [ 465 + "hyprland", 466 + "hyprland-guiutils", 467 + "hyprutils" 468 + ], 469 + "hyprwayland-scanner": [ 470 + "hyprland", 471 + "hyprland-guiutils", 472 + "hyprwayland-scanner" 473 + ], 474 + "nixpkgs": [ 475 + "hyprland", 476 + "hyprland-guiutils", 477 + "nixpkgs" 478 + ], 479 + "systems": [ 480 + "hyprland", 481 + "hyprland-guiutils", 482 + "systems" 483 + ] 484 + }, 485 + "locked": { 486 + "lastModified": 1772462885, 487 + "narHash": "sha256-5pHXrQK9zasMnIo6yME6EOXmWGFMSnCITcfKshhKJ9I=", 488 + "owner": "hyprwm", 489 + "repo": "hyprtoolkit", 490 + "rev": "9af245a69fa6b286b88ddfc340afd288e00a6998", 491 + "type": "github" 492 + }, 493 + "original": { 494 + "owner": "hyprwm", 495 + "repo": "hyprtoolkit", 496 + "type": "github" 497 + } 498 + }, 499 + "hyprutils": { 500 + "inputs": { 501 + "nixpkgs": [ 502 + "hyprland", 503 + "nixpkgs" 504 + ], 505 + "systems": [ 506 + "hyprland", 507 + "systems" 508 + ] 509 + }, 510 + "locked": { 511 + "lastModified": 1780251518, 512 + "narHash": "sha256-fG9xbb1SOAAJ+2kJRakp3ch+BmA/3dEg/K3PoAZTKkw=", 513 + "owner": "hyprwm", 514 + "repo": "hyprutils", 515 + "rev": "40ede2e7bdec80ba5d4c443160d905e9f841ae5f", 516 + "type": "github" 517 + }, 518 + "original": { 519 + "owner": "hyprwm", 520 + "repo": "hyprutils", 521 + "type": "github" 522 + } 523 + }, 524 + "hyprwayland-scanner": { 525 + "inputs": { 526 + "nixpkgs": [ 527 + "hyprland", 528 + "nixpkgs" 529 + ], 530 + "systems": [ 531 + "hyprland", 532 + "systems" 533 + ] 534 + }, 535 + "locked": { 536 + "lastModified": 1777159683, 537 + "narHash": "sha256-Jxixw6wZphUp+nHYxOKUYSckL17QMBx2d5Zp0rJHr1g=", 538 + "owner": "hyprwm", 539 + "repo": "hyprwayland-scanner", 540 + "rev": "b8632713a6beaf28b56f2a7b0ab2fb7088dbb404", 541 + "type": "github" 542 + }, 543 + "original": { 544 + "owner": "hyprwm", 545 + "repo": "hyprwayland-scanner", 546 + "type": "github" 547 + } 548 + }, 549 + "hyprwire": { 550 + "inputs": { 551 + "hyprutils": [ 552 + "hyprland", 553 + "hyprutils" 554 + ], 555 + "nixpkgs": [ 556 + "hyprland", 557 + "nixpkgs" 558 + ], 559 + "systems": [ 560 + "hyprland", 561 + "systems" 562 + ] 563 + }, 564 + "locked": { 565 + "lastModified": 1778410714, 566 + "narHash": "sha256-o6RzFj4nJXaPRY7EM01siuCQeT41RfwwmcmFQqwFJJg=", 567 + "owner": "hyprwm", 568 + "repo": "hyprwire", 569 + "rev": "85148a8e612808cf5ddb25d0b3c5840f3498a7dc", 570 + "type": "github" 571 + }, 572 + "original": { 573 + "owner": "hyprwm", 574 + "repo": "hyprwire", 575 + "type": "github" 576 + } 577 + }, 578 + "ki-editor": { 579 + "inputs": { 580 + "alejandra": "alejandra", 581 + "crane": "crane", 582 + "flake-utils": "flake-utils", 583 + "nixpkgs": "nixpkgs_3", 584 + "rust-overlay": "rust-overlay_2" 585 + }, 586 + "locked": { 587 + "lastModified": 1782084082, 588 + "narHash": "sha256-RxBQdLruEoAPwZ6EI/M0q9mh7y/8meNk59agjVxNIhs=", 589 + "owner": "ki-editor", 590 + "repo": "ki-editor", 591 + "rev": "c015a8e06449a3c9ff5058171cc51abb45cacf26", 592 + "type": "github" 593 + }, 594 + "original": { 595 + "owner": "ki-editor", 596 + "repo": "ki-editor", 597 + "type": "github" 598 + } 599 + }, 600 + "nixpkgs": { 601 + "locked": { 602 + "lastModified": 1775036866, 603 + "narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=", 604 + "owner": "nixos", 605 + "repo": "nixpkgs", 606 + "rev": "6201e203d09599479a3b3450ed24fa81537ebc4e", 607 + "type": "github" 608 + }, 609 + "original": { 610 + "owner": "nixos", 611 + "ref": "nixos-unstable", 612 + "repo": "nixpkgs", 613 + "type": "github" 614 + } 615 + }, 616 + "nixpkgs_2": { 617 + "locked": { 618 + "lastModified": 1780749050, 619 + "narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=", 620 + "owner": "NixOS", 621 + "repo": "nixpkgs", 622 + "rev": "a799d3e3886da994fa307f817a6bc705ae538eeb", 623 + "type": "github" 624 + }, 625 + "original": { 626 + "owner": "NixOS", 627 + "ref": "nixos-unstable", 628 + "repo": "nixpkgs", 629 + "type": "github" 630 + } 631 + }, 632 + "nixpkgs_3": { 633 + "locked": { 634 + "lastModified": 1754800730, 635 + "narHash": "sha256-HfVZCXic9XLBgybP0318ym3cDnGwBs/+H5MgxFVYF4I=", 636 + "owner": "NixOS", 637 + "repo": "nixpkgs", 638 + "rev": "641d909c4a7538f1539da9240dedb1755c907e40", 639 + "type": "github" 640 + }, 641 + "original": { 642 + "owner": "NixOS", 643 + "ref": "nixpkgs-unstable", 644 + "repo": "nixpkgs", 645 + "type": "github" 646 + } 647 + }, 648 + "nixpkgs_4": { 649 + "locked": { 650 + "lastModified": 1781577229, 651 + "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", 652 + "owner": "NixOS", 653 + "repo": "nixpkgs", 654 + "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", 655 + "type": "github" 656 + }, 657 + "original": { 658 + "owner": "NixOS", 659 + "ref": "nixos-unstable", 660 + "repo": "nixpkgs", 661 + "type": "github" 662 + } 663 + }, 664 + "nixpkgs_5": { 665 + "locked": { 666 + "lastModified": 1781577229, 667 + "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", 668 + "owner": "NixOS", 669 + "repo": "nixpkgs", 670 + "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", 671 + "type": "github" 672 + }, 673 + "original": { 674 + "owner": "NixOS", 675 + "ref": "nixos-unstable", 676 + "repo": "nixpkgs", 677 + "type": "github" 678 + } 679 + }, 680 + "pre-commit-hooks": { 681 + "inputs": { 682 + "flake-compat": "flake-compat", 683 + "gitignore": "gitignore", 684 + "nixpkgs": [ 685 + "hyprland", 686 + "nixpkgs" 687 + ] 688 + }, 689 + "locked": { 690 + "lastModified": 1778507602, 691 + "narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=", 692 + "owner": "cachix", 693 + "repo": "git-hooks.nix", 694 + "rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a", 695 + "type": "github" 696 + }, 697 + "original": { 698 + "owner": "cachix", 699 + "repo": "git-hooks.nix", 700 + "type": "github" 701 + } 702 + }, 703 + "root": { 704 + "inputs": { 705 + "helix-master": "helix-master", 706 + "home-manager": "home-manager", 707 + "hy3": "hy3", 708 + "hyprland": "hyprland", 709 + "hyprland-plugins": "hyprland-plugins", 710 + "ki-editor": "ki-editor", 711 + "nixpkgs": "nixpkgs_4", 712 + "waterfox": "waterfox", 713 + "zen-browser": "zen-browser" 714 + } 715 + }, 716 + "rust-analyzer-src": { 717 + "flake": false, 718 + "locked": { 719 + "lastModified": 1730555913, 720 + "narHash": "sha256-KNHZUlqsEibg3YtfUyOFQSofP8hp1HKoY+laoesBxRM=", 721 + "owner": "rust-lang", 722 + "repo": "rust-analyzer", 723 + "rev": "f17a5bbfd0969ba2e63a74505a80e55ecb174ed9", 724 + "type": "github" 725 + }, 726 + "original": { 727 + "owner": "rust-lang", 728 + "ref": "nightly", 729 + "repo": "rust-analyzer", 730 + "type": "github" 731 + } 732 + }, 733 + "rust-overlay": { 734 + "inputs": { 735 + "nixpkgs": [ 736 + "helix-master", 737 + "nixpkgs" 738 + ] 739 + }, 740 + "locked": { 741 + "lastModified": 1775358767, 742 + "narHash": "sha256-f2eC+WIfhjevCPQILuV08i/kmKZzYZpUvkom/33VxCA=", 743 + "owner": "oxalica", 744 + "repo": "rust-overlay", 745 + "rev": "20fd44bc663daa53a2575e01293e24e681d62244", 746 + "type": "github" 747 + }, 748 + "original": { 749 + "owner": "oxalica", 750 + "repo": "rust-overlay", 751 + "type": "github" 752 + } 753 + }, 754 + "rust-overlay_2": { 755 + "inputs": { 756 + "nixpkgs": [ 757 + "ki-editor", 758 + "nixpkgs" 759 + ] 760 + }, 761 + "locked": { 762 + "lastModified": 1754794262, 763 + "narHash": "sha256-5SEz135CaJ0LfHILi+CzWMXQmcvD2QeIf4FKwXAxtxA=", 764 + "owner": "oxalica", 765 + "repo": "rust-overlay", 766 + "rev": "d754da7c068c6e122f84d84c3e6bcd353ee48635", 767 + "type": "github" 768 + }, 769 + "original": { 770 + "owner": "oxalica", 771 + "repo": "rust-overlay", 772 + "type": "github" 773 + } 774 + }, 775 + "systems": { 776 + "locked": { 777 + "lastModified": 1689347949, 778 + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", 779 + "owner": "nix-systems", 780 + "repo": "default-linux", 781 + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", 782 + "type": "github" 783 + }, 784 + "original": { 785 + "owner": "nix-systems", 786 + "repo": "default-linux", 787 + "type": "github" 788 + } 789 + }, 790 + "systems_2": { 791 + "locked": { 792 + "lastModified": 1681028828, 793 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 794 + "owner": "nix-systems", 795 + "repo": "default", 796 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 797 + "type": "github" 798 + }, 799 + "original": { 800 + "owner": "nix-systems", 801 + "repo": "default", 802 + "type": "github" 803 + } 804 + }, 805 + "waterfox": { 806 + "inputs": { 807 + "nixpkgs": "nixpkgs_5" 808 + }, 809 + "locked": { 810 + "lastModified": 1781707834, 811 + "narHash": "sha256-1hk586E5BR5nigKonCjqT6aug7hNoccyTKpEE/iC+00=", 812 + "owner": "Hythera", 813 + "repo": "nix-waterfox", 814 + "rev": "6acef78eb0c903b5c6485bbd8adf4c0970c994dc", 815 + "type": "github" 816 + }, 817 + "original": { 818 + "owner": "Hythera", 819 + "repo": "nix-waterfox", 820 + "type": "github" 821 + } 822 + }, 823 + "xdph": { 824 + "inputs": { 825 + "hyprland-protocols": [ 826 + "hyprland", 827 + "hyprland-protocols" 828 + ], 829 + "hyprlang": [ 830 + "hyprland", 831 + "hyprlang" 832 + ], 833 + "hyprutils": [ 834 + "hyprland", 835 + "hyprutils" 836 + ], 837 + "hyprwayland-scanner": [ 838 + "hyprland", 839 + "hyprwayland-scanner" 840 + ], 841 + "nixpkgs": [ 842 + "hyprland", 843 + "nixpkgs" 844 + ], 845 + "systems": [ 846 + "hyprland", 847 + "systems" 848 + ] 849 + }, 850 + "locked": { 851 + "lastModified": 1780133819, 852 + "narHash": "sha256-0YPKIY3dlnR7SPq7Z8ekFVvzFsfeiAtEj+QUI3KHrlI=", 853 + "owner": "hyprwm", 854 + "repo": "xdg-desktop-portal-hyprland", 855 + "rev": "4a170c0ba96fd37374f93d8f91c9ed91814828ac", 856 + "type": "github" 857 + }, 858 + "original": { 859 + "owner": "hyprwm", 860 + "repo": "xdg-desktop-portal-hyprland", 861 + "type": "github" 862 + } 863 + }, 864 + "zen-browser": { 865 + "inputs": { 866 + "nixpkgs": [ 867 + "nixpkgs" 868 + ] 869 + }, 870 + "locked": { 871 + "lastModified": 1781847955, 872 + "narHash": "sha256-1OSYOGuJp/NoODmSHjsz+6TB/kSilJ+BsFihjY7TTnc=", 873 + "owner": "youwen5", 874 + "repo": "zen-browser-flake", 875 + "rev": "4bca251cd556677f7b765ff324d1638ae215be13", 876 + "type": "github" 877 + }, 878 + "original": { 879 + "owner": "youwen5", 880 + "repo": "zen-browser-flake", 881 + "type": "github" 882 + } 883 + } 884 + }, 885 + "root": "root", 886 + "version": 7 887 + }
+111
flake.nix
··· 1 + { 2 + description = "Dario's flake config"; 3 + # Inspired by https://github.com/Misterio77/nix-starter-configs 4 + 5 + inputs = { 6 + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 7 + home-manager = { 8 + url = "github:nix-community/home-manager"; 9 + inputs.nixpkgs.follows = "nixpkgs"; 10 + }; 11 + helix-master = { 12 + url = "github:helix-editor/helix"; 13 + }; 14 + hyprland = { 15 + url = "github:hyprwm/Hyprland"; 16 + }; 17 + hyprland-plugins = { 18 + url = "github:hyprwm/hyprland-plugins"; 19 + inputs.hyprland.follows = "hyprland"; 20 + }; 21 + hy3 = { 22 + url = "github:outfoxxed/hy3"; 23 + inputs.hyprland.follows = "hyprland"; 24 + }; 25 + ki-editor.url = "github:ki-editor/ki-editor"; 26 + waterfox.url = "github:Hythera/nix-waterfox"; 27 + zen-browser = { 28 + url = "github:youwen5/zen-browser-flake"; 29 + inputs.nixpkgs.follows = "nixpkgs"; 30 + }; 31 + }; 32 + 33 + outputs = 34 + { 35 + nixpkgs, 36 + home-manager, 37 + helix-master, 38 + hy3, 39 + ki-editor, 40 + ... 41 + }@inputs: 42 + let 43 + system = "x86_64-linux"; 44 + pkgs = import nixpkgs { 45 + system = "x86_64-linux"; 46 + config.allowUnfree = true; 47 + }; 48 + in 49 + { 50 + 51 + # Custom packages 52 + packages = import ./pkgs pkgs; 53 + 54 + # Custom packages and modifications, exported as overlays 55 + overlays = import ./overlays { inherit inputs; }; 56 + 57 + # Reusable nixos modules you might want to export 58 + nixosModules = import ./modules/nixos; 59 + 60 + # Reusable home-manager modules you might want to export 61 + homeManagerModules = import ./modules/home-manager; 62 + 63 + # NixOS configuration entrypoint 64 + # Available through 'nixos-rebuild --flake .#your-hostname' 65 + nixosConfigurations = { 66 + t470p = nixpkgs.lib.nixosSystem { 67 + inherit system; 68 + specialArgs = { inherit inputs; ki-editor = ki-editor; }; 69 + modules = [ 70 + ./nixos/hosts/hardware-configuration-t470p.nix 71 + ./nixos/configuration.nix 72 + ./nixos/hosts/t470p.nix 73 + home-manager.nixosModules.home-manager 74 + { 75 + home-manager = { 76 + useGlobalPkgs = true; 77 + backupFileExtension = "backup"; 78 + users.dario = import ./home-manager/home.nix; 79 + extraSpecialArgs = { 80 + helix-master = helix-master; 81 + inherit inputs; 82 + }; 83 + }; 84 + } 85 + ]; 86 + }; 87 + home = nixpkgs.lib.nixosSystem { 88 + inherit system; 89 + specialArgs = { inherit inputs; ki-editor = ki-editor; }; 90 + modules = [ 91 + ./nixos/hosts/hardware-configuration-home.nix 92 + ./nixos/configuration.nix 93 + ./nixos/hosts/home.nix 94 + home-manager.nixosModules.home-manager 95 + { 96 + home-manager = { 97 + useGlobalPkgs = true; 98 + backupFileExtension = "backup"; 99 + users.dario = import ./home-manager/home.nix; 100 + extraSpecialArgs = { 101 + helix-master = helix-master; 102 + inherit inputs; 103 + }; 104 + }; 105 + } 106 + ]; 107 + }; 108 + }; 109 + 110 + }; 111 + }
+60
home-manager/home.nix
··· 1 + {pkgs, config, inputs, ...}: { 2 + home = { 3 + username = "dario"; 4 + homeDirectory = "/home/dario"; 5 + stateVersion = "25.05"; 6 + packages = [ 7 + pkgs.nixfmt 8 + ]; 9 + }; 10 + 11 + services.udiskie = { 12 + enable = true; 13 + settings = { 14 + # workaround for 15 + # https://github.com/nix-community/home-manager/issues/632 16 + program_options = { 17 + # replace with your favorite file manager 18 + file_manager = "${pkgs.kdePackages.dolphin}/bin/dolphin"; 19 + }; 20 + }; 21 + }; 22 + 23 + # Not entirely sure what this is for 24 + programs.bash = { 25 + enable = true; 26 + profileExtra = '' 27 + if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDGR_VTNR" = 1 ]; then 28 + exec uwsm start -S hyprland-uwsm.desktop 29 + fi 30 + ''; 31 + }; 32 + 33 + xdg.mimeApps.enable = true; 34 + xdg.mimeApps.defaultApplications = { 35 + "x-scheme-handler/https" = "zen.desktop"; 36 + "x-scheme-handler/http" = "zen.desktop"; 37 + }; 38 + 39 + 40 + imports = [ 41 + inputs.self.homeManagerModules.alacritty 42 + inputs.self.homeManagerModules.atuin 43 + inputs.self.homeManagerModules.fish 44 + inputs.self.homeManagerModules.helix 45 + inputs.self.homeManagerModules.hyprland 46 + inputs.self.homeManagerModules.jujutsu 47 + inputs.self.homeManagerModules.starship 48 + inputs.self.homeManagerModules.waybar 49 + inputs.self.homeManagerModules.zellij 50 + ]; 51 + 52 + 53 + #nixpkgs = { 54 + # overlays = [ 55 + # inputs.self.overlays.additions 56 + # inputs.self.overlays.modifications 57 + # ]; 58 + #}; 59 + 60 + }
+21
modules/home-manager/alacritty.nix
··· 1 + { pkgs, ...}: { 2 + programs.alacritty = { 3 + enable = true; 4 + # theme = "solarized_dark"; 5 + settings = { 6 + font = { 7 + size = 8; 8 + normal = { 9 + family = "Monaspace Neon"; 10 + }; 11 + italic = { 12 + family = "Monaspace Radon"; 13 + }; 14 + bold = { 15 + family = "Monaspace Xenon"; 16 + }; 17 + }; 18 + terminal.shell = "fish"; 19 + }; 20 + }; 21 + }
+6
modules/home-manager/atuin.nix
··· 1 + { pkgs, ...}: { 2 + programs.atuin = { 3 + enable = true; 4 + enableFishIntegration = true; 5 + }; 6 + }
+12
modules/home-manager/default.nix
··· 1 + { 2 + # my-module = import ./my-module.nix 3 + alacritty = import ./alacritty.nix; 4 + atuin = import ./atuin.nix; 5 + fish = import ./fish.nix; 6 + helix = import ./helix.nix; 7 + hyprland = import ./hyprland.nix; 8 + jujutsu = import ./jujutsu.nix; 9 + starship = import ./starship.nix; 10 + waybar = import ./waybar.nix; 11 + zellij = import ./zellij.nix; 12 + }
+95
modules/home-manager/fish.nix
··· 1 + { pkgs, ... }: { 2 + programs.fish = { 3 + enable = true; 4 + plugins = [ 5 + { 6 + name = "grc"; 7 + src = pkgs.fishPlugins.grc.src; 8 + } 9 + { 10 + name = "fzf-fish"; 11 + src = pkgs.fishPlugins.fzf-fish.src; 12 + } 13 + { 14 + name = "colored-man-pages"; 15 + src = pkgs.fishPlugins.colored-man-pages.src; 16 + } 17 + { 18 + name = "done"; 19 + src = pkgs.fishPlugins.done.src; 20 + } 21 + { 22 + name = "humantime-fish"; 23 + src = pkgs.fishPlugins.humantime-fish.src; 24 + } 25 + ]; 26 + interactiveShellInit = '' 27 + set -xg EDITOR hx 28 + set fish_greeting # disable greeting 29 + starship init fish | source 30 + atuin init fish | source 31 + ssh_agent 32 + ''; 33 + shellAliases = { 34 + j = "jj"; 35 + h = "jj"; 36 + }; 37 + binds = { 38 + }; 39 + functions = { 40 + fish_user_key_bindings = '' 41 + fish_vi_key_bindings 42 + ''; 43 + ssh_agent = '' 44 + if test -z "$SSH_ENV" 45 + set -xg SSH_ENV $HOME/.ssh/environment 46 + end 47 + 48 + if not __ssh_agent_is_started 49 + __ssh_agent_start 50 + end 51 + ''; 52 + 53 + __ssh_agent_is_started = '' 54 + function __ssh_agent_is_started -d "check if ssh agent is already started" 55 + if test -n "$SSH_CONNECTION" 56 + # This is an SSH session 57 + ssh-add -l > /dev/null 2>&1 58 + if test $status -eq 0 -o $status -eq 1 59 + # An SSH agent was forwarded 60 + return 0 61 + end 62 + end 63 + 64 + if begin; test -f "$SSH_ENV"; and test -z "$SSH_AGENT_PID"; end 65 + source $SSH_ENV > /dev/null 66 + end 67 + 68 + if test -z "$SSH_AGENT_PID" 69 + return 1 70 + end 71 + 72 + ssh-add -l > /dev/null 2>&1 73 + if test $status -eq 2 74 + return 1 75 + end 76 + end 77 + ''; 78 + 79 + __ssh_agent_start = '' 80 + function __ssh_agent_start -d "start a new ssh agent" 81 + ssh-agent -c | sed 's/^echo/#echo/' > $SSH_ENV 82 + chmod 600 $SSH_ENV 83 + source $SSH_ENV > /dev/null 84 + end 85 + ''; 86 + 87 + jrad = '' 88 + --wraps="git checkout" 89 + git checkout $argv 90 + git push rad 91 + j 92 + ''; 93 + }; 94 + }; 95 + }
+128
modules/home-manager/helix.nix
··· 1 + { helix-master, ...}: { 2 + programs.helix = { 3 + package = helix-master.packages."x86_64-linux".default; 4 + enable = true; 5 + settings = { 6 + theme = "kanagawa"; 7 + keys = { 8 + insert = { 9 + "A-i" = ["move_char_right" "normal_mode"]; 10 + }; 11 + normal = { 12 + ret = "goto_word"; 13 + tab = "goto_next_buffer"; 14 + "S-tab" = "goto_previous_buffer"; 15 + D = ["extend_to_line_end" "delete_selection"]; 16 + "{" = "goto_prev_paragraph"; 17 + "}" = "goto_next_paragraph"; 18 + X = "extend_line_up"; 19 + m = { 20 + M = ["select_mode" "match_brackets" "normal_mode"]; 21 + }; 22 + space = { 23 + space = "file_picker"; 24 + "." = "file_picker_in_current_buffer_directory"; 25 + x = ":buffer-close"; 26 + X = ":buffer-close!"; 27 + "C-y" = ":yank-diagnostic"; 28 + "A-/" = "@ /%p <C-r>% %n "; # Open the search picker in current buffer to local search 29 + "C-/" = "@miwy /%p <C-r>% %n <C-r>."; # Open the search picker in current buffer with word selected to local search 30 + m = { 31 + v = ":lsp-workspace-command purescript.build"; 32 + b = ":sh zellij -s ONE action write-chars ':serve'; zellij -s ONE action write 13"; 33 + q = ":sh zellij -s ONE action write-chars ':q'; zellij -s ONE action write 13"; 34 + r = ":sh zellij -s ONE action write-chars 'run-develop'; zellij -s ONE action write 13"; 35 + }; 36 + e = { 37 + b = ":sh git blame -L %{cursor_line},%{cursor_line} %{buffer_name}"; 38 + B = ":sh gh browse %{buffer_name}:%{cursor_line} -c%sh{latest_pushed_commit}"; 39 + e = [":yank-diagnostic" ":vsplit-new" "paste_clipboard_after"]; 40 + }; 41 + t = { 42 + w = ":toggle whitespace.render all none"; 43 + s = ":toggle soft-wrap.enable"; 44 + h = ":toggle lsp.display-inline-hints"; 45 + l = ":toggle lsp-enable"; 46 + }; 47 + }; 48 + }; 49 + }; 50 + editor = { 51 + cursorline = true; 52 + cursorcolumn = true; 53 + color-modes = true; 54 + indent-guides.render = true; 55 + end-of-line-diagnostics = "hint"; 56 + jump-label-alphabet = "jfkdls;aurieowpqnvmcxz"; 57 + bufferline = "multiple"; 58 + true-color = true; 59 + rulers = [110]; 60 + inline-diagnostics = { 61 + cursor-line = "error"; 62 + }; 63 + soft-wrap = { 64 + enable = true; 65 + max-wrap = 25; 66 + }; 67 + gutters = { 68 + layout = ["line-numbers" "diagnostics" "diff"]; 69 + }; 70 + statusline = { 71 + mode = { 72 + normal = "N"; 73 + insert = "I"; 74 + select = "S"; 75 + }; 76 + left = ["mode" "spinner" "diagnostics"]; 77 + center = ["file-name" "read-only-indicator" "file-modification-indicator"]; 78 + right = ["selections" "register" "position" "position-percentage"]; 79 + }; 80 + lsp = { 81 + display-progress-messages = true; 82 + display-messages = true; 83 + display-inlay-hints = true; 84 + }; 85 + cursor-shape = { 86 + insert = "bar"; 87 + normal = "block"; 88 + select = "underline"; 89 + }; 90 + whitespace = { 91 + render = { 92 + space = "all"; 93 + tab = "all"; 94 + newline = "all"; 95 + }; 96 + characters = { 97 + space = "·"; 98 + nbsp = "⍽"; 99 + tab = "→"; 100 + newline = "⏎"; 101 + }; 102 + }; 103 + }; 104 + }; 105 + languages = { 106 + language-server = { 107 + haskell-language-server = { 108 + config.haskell = { formattingProvider = "none"; }; 109 + args = ["--lsp" "-j"]; 110 + timeout = 120; 111 + }; 112 + }; 113 + language = [ 114 + { 115 + name = "haskell"; 116 + roots = ["Setup.hs" "stack.yaml" "*.cabal"]; 117 + file-types = ["hs" "hs-boot"]; 118 + auto-format = true; 119 + language-servers = ["haskell-language-server"]; 120 + formatter = { 121 + command = "fourmolu"; 122 + args = ["-d" "--stdin-input-file" "%{file_path_absolute}"]; 123 + }; 124 + } 125 + ]; 126 + }; 127 + }; 128 + }
+680
modules/home-manager/hyprland.nix
··· 1 + { 2 + pkgs, 3 + lib, 4 + inputs, 5 + ... 6 + }: 7 + let 8 + run = lib.generators.mkLuaInline; 9 + in 10 + { 11 + wayland.windowManager.hyprland = { 12 + enable = true; 13 + configType = "lua"; 14 + plugins = [ 15 + ]; 16 + 17 + settings = { 18 + terminal = { 19 + _var = "alacritty"; 20 + }; 21 + menu = { 22 + # _var = "rofi -show drun"; 23 + _var = "hyprlauncher"; 24 + }; 25 + browser = { 26 + _var = "zen"; 27 + }; 28 + lockscreen = { 29 + _var = "hyprlock"; 30 + }; 31 + 32 + # TODO: split into different configs 33 + monitor = [ 34 + { 35 + output = "desc:BNQ ZOWIE XL LCD T8H02566SL0"; 36 + mode = "preferred"; # 144hz gives me problems here 37 + position = "auto"; 38 + scale = "1"; 39 + } 40 + { 41 + output = "desc:BNQ BenQ LCD N1N01435019"; 42 + mode = "preferred"; 43 + position = "auto"; 44 + scale = "1"; 45 + transform = 1; 46 + } 47 + { 48 + output = ""; 49 + mode = "preferred"; 50 + position = "auto"; 51 + scale = "1"; 52 + } 53 + ]; 54 + 55 + curve = [ 56 + { 57 + _args = [ 58 + "easeOutQuint" 59 + { 60 + type = "bezier"; 61 + points = [ 62 + [ 63 + 0.23 64 + 1 65 + ] 66 + [ 67 + 0.32 68 + 1 69 + ] 70 + ]; 71 + } 72 + ]; 73 + } 74 + { 75 + _args = [ 76 + "easeInOutCubic" 77 + { 78 + type = "bezier"; 79 + points = [ 80 + [ 81 + 0.65 82 + 0.05 83 + ] 84 + [ 85 + 0.36 86 + 1 87 + ] 88 + ]; 89 + } 90 + ]; 91 + } 92 + { 93 + _args = [ 94 + "linear" 95 + { 96 + type = "bezier"; 97 + points = [ 98 + [ 99 + 0 100 + 0 101 + ] 102 + [ 103 + 1 104 + 1 105 + ] 106 + ]; 107 + } 108 + ]; 109 + } 110 + { 111 + _args = [ 112 + "almostLinear" 113 + { 114 + type = "bezier"; 115 + points = [ 116 + [ 117 + 0.5 118 + 0.5 119 + ] 120 + [ 121 + 0.75 122 + 1.0 123 + ] 124 + ]; 125 + } 126 + ]; 127 + } 128 + { 129 + _args = [ 130 + "quick" 131 + { 132 + type = "bezier"; 133 + points = [ 134 + [ 135 + 0.15 136 + 0 137 + ] 138 + [ 139 + 0.1 140 + 1 141 + ] 142 + ]; 143 + } 144 + ]; 145 + } 146 + ]; 147 + 148 + animation = [ 149 + { 150 + leaf = "global"; 151 + enabled = true; 152 + speed = 10; 153 + bezier = "default"; 154 + } 155 + { 156 + leaf = "border"; 157 + enabled = true; 158 + speed = 5.39; 159 + bezier = "easeOutQuint"; 160 + } 161 + { 162 + leaf = "windows"; 163 + enabled = true; 164 + speed = 4.79; 165 + bezier = "easeOutQuint"; 166 + } 167 + { 168 + leaf = "windowsIn"; 169 + enabled = true; 170 + speed = 4.1; 171 + bezier = "easeOutQuint"; 172 + style = "popin 87%"; 173 + } 174 + { 175 + leaf = "windowsOut"; 176 + enabled = true; 177 + speed = 1.49; 178 + bezier = "linear"; 179 + style = "popin 87%"; 180 + } 181 + { 182 + leaf = "fadeIn"; 183 + enabled = true; 184 + speed = 1.73; 185 + bezier = "almostLinear"; 186 + } 187 + { 188 + leaf = "fadeOut"; 189 + enabled = true; 190 + speed = 1.46; 191 + bezier = "almostLinear"; 192 + } 193 + { 194 + leaf = "fade"; 195 + enabled = true; 196 + speed = 3.03; 197 + bezier = "quick"; 198 + } 199 + { 200 + leaf = "layers"; 201 + enabled = true; 202 + speed = 3.81; 203 + bezier = "easeOutQuint"; 204 + } 205 + { 206 + leaf = "layersIn"; 207 + enabled = true; 208 + speed = 4; 209 + bezier = "easeOutQuint"; 210 + style = "fade"; 211 + } 212 + { 213 + leaf = "layersOut"; 214 + enabled = true; 215 + speed = 1.5; 216 + bezier = "linear"; 217 + style = "fade"; 218 + } 219 + { 220 + leaf = "fadeLayersIn"; 221 + enabled = true; 222 + speed = 1.79; 223 + bezier = "almostLinear"; 224 + } 225 + { 226 + leaf = "fadeLayersOut"; 227 + enabled = true; 228 + speed = 1.39; 229 + bezier = "almostLinear"; 230 + } 231 + { 232 + leaf = "workspaces"; 233 + enabled = true; 234 + speed = 1.94; 235 + bezier = "almostLinear"; 236 + style = "fade"; 237 + } 238 + { 239 + leaf = "workspacesIn"; 240 + enabled = true; 241 + speed = 1.21; 242 + bezier = "almostLinear"; 243 + style = "fade"; 244 + } 245 + { 246 + leaf = "workspacesOut"; 247 + enabled = true; 248 + speed = 1.94; 249 + bezier = "almostLinear"; 250 + style = "fade"; 251 + } 252 + ]; 253 + 254 + config = { 255 + general = { 256 + gaps_in = 2; 257 + gaps_out = 4; 258 + border_size = 2; 259 + layout = "dwindle"; 260 + resize_on_border = false; 261 + allow_tearing = false; 262 + col = { 263 + active_border = { 264 + colors = [ 265 + "rgba(33ccffee)" 266 + "rgba(00ff99ee)" 267 + ]; 268 + angle = 45; 269 + }; 270 + inactive_border = "rgba(595959aa)"; 271 + }; 272 + }; 273 + 274 + decoration = { 275 + rounding = 5; 276 + rounding_power = 2; 277 + active_opacity = 1.0; 278 + inactive_opacity = 1.0; 279 + shadow = { 280 + enabled = true; 281 + range = 4; 282 + render_power = 3; 283 + color = "rgba(1a1a1aee)"; 284 + }; 285 + blur = { 286 + enabled = true; 287 + size = 3; 288 + passes = 1; 289 + vibrancy = 0.1696; 290 + }; 291 + }; 292 + 293 + animations = { 294 + enabled = true; 295 + }; 296 + 297 + dwindle = { 298 + preserve_split = true; 299 + }; 300 + 301 + master = { 302 + new_status = "mster"; 303 + }; 304 + 305 + misc = { 306 + force_default_wallpaper = -1; 307 + disable_hyprland_logo = false; 308 + }; 309 + }; 310 + 311 + bind = [ 312 + { 313 + _args = [ 314 + "SUPER + Q" 315 + (run "hl.dsp.window.close()") 316 + ]; 317 + } 318 + { 319 + _args = [ 320 + "SUPER + SHIFT + ESCAPE" 321 + (run "hl.dsp.exec_cmd(lockscreen)") 322 + ]; 323 + } 324 + { 325 + _args = [ 326 + "SUPER + RETURN" 327 + (run "hl.dsp.exec_cmd(terminal)") 328 + ]; 329 + } 330 + { 331 + _args = [ 332 + "SUPER + SHIFT + M" 333 + (run "hl.dsp.exit()") 334 + ]; 335 + } 336 + { 337 + _args = [ 338 + "SUPER + V" 339 + (run "hl.dsp.window.float({ action = \"toggle\" })") 340 + ]; 341 + } 342 + { 343 + _args = [ 344 + "SUPER + SPACE" 345 + (run "hl.dsp.exec_cmd(menu)") 346 + ]; 347 + } 348 + { 349 + _args = [ 350 + "SUPER + P" 351 + (run "hl.dsp.window.pseudo()") 352 + ]; 353 + } 354 + { 355 + _args = [ 356 + "SUPER + T" 357 + (run "hl.dsp.layout(\"togglesplit\")") 358 + ]; 359 + } 360 + { 361 + _args = [ 362 + "SUPER + B" 363 + (run "hl.dsp.exec_cmd(browser)") 364 + ]; 365 + } 366 + { 367 + _args = [ 368 + "SUPER + F" 369 + (run "hl.dsp.window.fullscreen({ mode = \"fullscreen\", action = \"toggle\" })") 370 + ]; 371 + } 372 + { 373 + _args = [ 374 + "SUPER + l" 375 + (run "hl.dsp.focus({ direction = \"right\" })") 376 + ]; 377 + } 378 + { 379 + _args = [ 380 + "SUPER + h" 381 + (run "hl.dsp.focus({ direction = \"left\" })") 382 + ]; 383 + } 384 + { 385 + _args = [ 386 + "SUPER + k" 387 + (run "hl.dsp.focus({ direction = \"up\" })") 388 + ]; 389 + } 390 + { 391 + _args = [ 392 + "SUPER + j" 393 + (run "hl.dsp.focus({ direction = \"down\" })") 394 + ]; 395 + } 396 + { 397 + _args = [ 398 + "SUPER + SHIFT + l" 399 + (run "hl.dsp.window.move({ direction = \"r\" })") 400 + ]; 401 + } 402 + { 403 + _args = [ 404 + "SUPER + SHIFT + h" 405 + (run "hl.dsp.window.move({ direction = \"l\" })") 406 + ]; 407 + } 408 + { 409 + _args = [ 410 + "SUPER + SHIFT + k" 411 + (run "hl.dsp.window.move({ direction = \"u\" })") 412 + ]; 413 + } 414 + { 415 + _args = [ 416 + "SUPER + SHIFT + j" 417 + (run "hl.dsp.window.move({ direction = \"d\" })") 418 + ]; 419 + } 420 + { 421 + _args = [ 422 + "SUPER + 1" 423 + (run "hl.dsp.focus({ workspace = 1 })") 424 + ]; 425 + } 426 + { 427 + _args = [ 428 + "SUPER + 2" 429 + (run "hl.dsp.focus({ workspace = 2 })") 430 + ]; 431 + } 432 + { 433 + _args = [ 434 + "SUPER + 3" 435 + (run "hl.dsp.focus({ workspace = 3 })") 436 + ]; 437 + } 438 + { 439 + _args = [ 440 + "SUPER + 4" 441 + (run "hl.dsp.focus({ workspace = 4 })") 442 + ]; 443 + } 444 + { 445 + _args = [ 446 + "SUPER + 5" 447 + (run "hl.dsp.focus({ workspace = 5 })") 448 + ]; 449 + } 450 + { 451 + _args = [ 452 + "SUPER + 6" 453 + (run "hl.dsp.focus({ workspace = 6 })") 454 + ]; 455 + } 456 + { 457 + _args = [ 458 + "SUPER + 7" 459 + (run "hl.dsp.focus({ workspace = 7 })") 460 + ]; 461 + } 462 + { 463 + _args = [ 464 + "SUPER + 8" 465 + (run "hl.dsp.focus({ workspace = 8 })") 466 + ]; 467 + } 468 + { 469 + _args = [ 470 + "SUPER + 9" 471 + (run "hl.dsp.focus({ workspace = 9 })") 472 + ]; 473 + } 474 + { 475 + _args = [ 476 + "SUPER + 0" 477 + (run "hl.dsp.focus({ workspace = 10 })") 478 + ]; 479 + } 480 + { 481 + _args = [ 482 + "SUPER + SHIFT + 1" 483 + (run "hl.dsp.window.move({ workspace = 1 })") 484 + ]; 485 + } 486 + { 487 + _args = [ 488 + "SUPER + SHIFT + 2" 489 + (run "hl.dsp.window.move({ workspace = 2 })") 490 + ]; 491 + } 492 + { 493 + _args = [ 494 + "SUPER + SHIFT + 3" 495 + (run "hl.dsp.window.move({ workspace = 3 })") 496 + ]; 497 + } 498 + { 499 + _args = [ 500 + "SUPER + SHIFT + 4" 501 + (run "hl.dsp.window.move({ workspace = 4 })") 502 + ]; 503 + } 504 + { 505 + _args = [ 506 + "SUPER + SHIFT + 5" 507 + (run "hl.dsp.window.move({ workspace = 5 })") 508 + ]; 509 + } 510 + { 511 + _args = [ 512 + "SUPER + SHIFT + 6" 513 + (run "hl.dsp.window.move({ workspace = 6 })") 514 + ]; 515 + } 516 + { 517 + _args = [ 518 + "SUPER + SHIFT + 7" 519 + (run "hl.dsp.window.move({ workspace = 7 })") 520 + ]; 521 + } 522 + { 523 + _args = [ 524 + "SUPER + SHIFT + 8" 525 + (run "hl.dsp.window.move({ workspace = 8 })") 526 + ]; 527 + } 528 + { 529 + _args = [ 530 + "SUPER + SHIFT + 9" 531 + (run "hl.dsp.window.move({ workspace = 9 })") 532 + ]; 533 + } 534 + { 535 + _args = [ 536 + "SUPER + SHIFT + 0" 537 + (run "hl.dsp.window.move({ workspace = 10 })") 538 + ]; 539 + } 540 + { 541 + _args = [ 542 + "SUPER + S" 543 + (run "hl.dsp.workspace.toggle_special(\"magic\")") 544 + ]; 545 + } 546 + { 547 + _args = [ 548 + "SUPER + SHIFT + S" 549 + (run "hl.dsp.window.move({ workspace = \"special:magic\" })") 550 + ]; 551 + } 552 + { 553 + _args = [ 554 + "SUPER + R" 555 + (run "hl.dsp.submap(\"resize\")") 556 + ]; 557 + } 558 + { 559 + _args = [ 560 + "Print" 561 + (run "hl.dsp.exec_cmd('grim - | satty -f - --copy-command wl-copy -o \"~/Pictures/Screenshots/%Y%m%d_%H%M%S.png\"')") 562 + ]; 563 + } 564 + { 565 + _args = [ 566 + "XF86AudioRaiseVolume" 567 + (run "hl.dsp.exec_cmd(\"wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+\")") 568 + { 569 + locked = true; 570 + repeating = true; 571 + } 572 + ]; 573 + } 574 + { 575 + _args = [ 576 + "XF86AudioLowerVolume" 577 + (run "hl.dsp.exec_cmd(\"wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-\")") 578 + { 579 + locked = true; 580 + repeating = true; 581 + } 582 + ]; 583 + } 584 + { 585 + _args = [ 586 + "XF86AudioMute" 587 + (run "hl.dsp.exec_cmd(\"wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle\")") 588 + { 589 + locked = true; 590 + repeating = true; 591 + } 592 + ]; 593 + } 594 + { 595 + _args = [ 596 + "XF86AudioMicMute" 597 + (run "hl.dsp.exec_cmd(\"wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle\")") 598 + { 599 + locked = true; 600 + repeating = true; 601 + } 602 + ]; 603 + } 604 + { 605 + _args = [ 606 + "XF86MonBrightnessUp" 607 + (run "hl.dsp.exec_cmd(\"brightnessctl -e4 -n2 set 5%+\")") 608 + { 609 + locked = true; 610 + repeating = true; 611 + } 612 + ]; 613 + } 614 + { 615 + _args = [ 616 + "XF86MonBrightnessDown" 617 + (run "hl.dsp.exec_cmd(\"brightnessctl -e4 -n2 set 5%-\")") 618 + { 619 + locked = true; 620 + repeating = true; 621 + } 622 + ]; 623 + } 624 + { 625 + _args = [ 626 + "XF86AudioNext" 627 + (run "hl.dsp.exec_cmd(\"playerctl next\")") 628 + { locked = true; } 629 + ]; 630 + } 631 + { 632 + _args = [ 633 + "XF86AudioPause" 634 + (run "hl.dsp.exec_cmd(\"playerctl play-pause\")") 635 + { locked = true; } 636 + ]; 637 + } 638 + { 639 + _args = [ 640 + "XF86AudioPlay" 641 + (run "hl.dsp.exec_cmd(\"playerctl play-pause\")") 642 + { locked = true; } 643 + ]; 644 + } 645 + { 646 + _args = [ 647 + "XF86AudioPrev" 648 + (run "hl.dsp.exec_cmd(\"playerctl previous\")") 649 + { locked = true; } 650 + ]; 651 + } 652 + ]; 653 + 654 + define_submap = { 655 + _args = [ 656 + "resize" 657 + (run "function()\n hl.bind(\"l\", hl.dsp.window.resize({ x = 10, y = 0, relative = true }), { repeating = true })\n hl.bind(\"h\", hl.dsp.window.resize({ x = -10, y = 0, relative = true }), { repeating = true })\n hl.bind(\"k\", hl.dsp.window.resize({ x = 0, y = -10, relative = true }), { repeating = true })\n hl.bind(\"j\", hl.dsp.window.resize({ x = 0, y = 10, relative = true }), { repeating = true })\n hl.bind(\"escape\", hl.dsp.submap(\"reset\"))\nend") 658 + ]; 659 + }; 660 + window_rule = [ 661 + { 662 + match.class = "class:.*"; 663 + suppress_event = "maximize"; 664 + } 665 + { 666 + no_focus = true; 667 + } 668 + ]; 669 + 670 + on = { 671 + _args = [ 672 + "hyprland.start" 673 + (lib.generators.mkLuaInline "function()\n hl.exec_cmd(\"waybar\")\nend") 674 + ]; 675 + }; 676 + }; 677 + 678 + systemd.enable = true; 679 + }; 680 + }
+94
modules/home-manager/jujutsu.nix
··· 1 + { pkgs, ... }: { 2 + programs.jujutsu = { 3 + enable = true; 4 + settings = { 5 + user = { 6 + email = "dario@oddenino.it"; 7 + name = "Dario Oddenino"; 8 + }; 9 + ui = { 10 + default-command = [ 11 + "log" 12 + "--reversed" 13 + ]; 14 + editor = "hx"; 15 + diff-editor = ":builtin"; 16 + pager = "delta"; 17 + diff-formatter = ":git"; 18 + }; 19 + revset-aliases = { 20 + "closest_bookmark(to)" = "heads(::to &bookmarks())"; 21 + "closest_pushable(to)" = "heads(::to & ~description(exact:\"\") & (~empty() | merges()))"; 22 + }; 23 + aliases = { 24 + l = [ 25 + "log" 26 + "--reversed" 27 + "--no-pager" 28 + "-r" 29 + "(dev..@):: | (dev..@)-" 30 + ]; 31 + lm = [ 32 + "log" 33 + "--reversed" 34 + "--no-pager" 35 + "-r" 36 + "(master..@):: | (master..@)-" 37 + ]; 38 + ls = [ 39 + "log" 40 + "--reversed" 41 + "--no-pager" 42 + "-r" 43 + "(dev..@):: | (dev..@)-" 44 + "-s" 45 + ]; 46 + lms = [ 47 + "log" 48 + "--reversed" 49 + "--no-pager" 50 + "-r" 51 + "(master..@):: | (master..@)-" 52 + "-s" 53 + ]; 54 + r = [ "rebase" ]; 55 + push = [ 56 + "util" 57 + "exec" 58 + "--" 59 + "jj-pre-push" 60 + "push" 61 + ]; 62 + tug = [ 63 + "bookmark" 64 + "move" 65 + "--from" 66 + "closest_bookmark(@-)" 67 + "--to" 68 + "closest_pushable(@)" 69 + ]; 70 + # check diff with remote version of branch; 71 + diffr = [ 72 + "diff" 73 + "-f" 74 + "heads(::@ & remote_bookmarks())" 75 + "-t" 76 + "heads(::@ & bookmarks())" 77 + ]; 78 + # Adds a new change right before @; 79 + nb = [ 80 + "new" 81 + "-B" 82 + "@" 83 + "--no-edit" 84 + ]; 85 + # Create description of change right before @; 86 + db = [ 87 + "describe" 88 + "-r" 89 + "@-" 90 + ]; 91 + }; 92 + }; 93 + }; 94 + }
+6
modules/home-manager/starship.nix
··· 1 + { pkgs, ...}: { 2 + programs.starship = { 3 + enable = true; 4 + enableFishIntegration = true; 5 + }; 6 + }
+73
modules/home-manager/waybar.nix
··· 1 + { pkgs, ... }: { 2 + programs.waybar = { 3 + enable = true; 4 + settings = { 5 + mainBar = { 6 + layer = "top"; 7 + position = "top"; 8 + height = 30; 9 + spacing = 4; 10 + modules-left = [ 11 + "hyprland/workspaces" 12 + "hyprland/submap" 13 + "custom/media" 14 + ]; 15 + modules-center = [ "clock" ]; 16 + modules-right = [ 17 + "network" 18 + "battery" 19 + "cpu" 20 + "memory" 21 + "tray" 22 + ]; 23 + 24 + "hyprland/workspaces" = { 25 + disable-scroll = true; 26 + }; 27 + 28 + clock = { 29 + format-alt = "{:%Y-%m-%d}"; 30 + }; 31 + 32 + network = { 33 + format-wifi = "{essid} ({signalStrength}%) "; 34 + format-ethernet = "{ipaddr}/{cidr} 󰊗"; 35 + tooltip-format = "{ifname} via {gwaddr} 󰊗"; 36 + format-linked = "{ifname} (No IP) 󰊗"; 37 + format-disconnected = "Disconnected ⚠"; 38 + format-alt = "{ifname} = {ipaddr}/{cidr}"; 39 + }; 40 + cpu = { 41 + format = " {usage}%"; 42 + }; 43 + 44 + memory = { 45 + format = " {used}MB"; 46 + }; 47 + 48 + tray = { 49 + spacing = 10; 50 + show-passive-items = true; 51 + }; 52 + battery = { 53 + states = { 54 + warning = 30; 55 + critical = 15; 56 + }; 57 + format = "{capacity}% {icon}"; 58 + format-full = "{capacity}% {icon}"; 59 + format-charging = "{capacity}% 󰃨"; 60 + format-plugged = "{capacity}% "; 61 + format-alt = "{time} {icon}"; 62 + format-icons = [ 63 + "" 64 + "" 65 + "" 66 + "" 67 + "" 68 + ]; 69 + }; 70 + }; 71 + }; 72 + }; 73 + }
+9
modules/home-manager/zellij.nix
··· 1 + {...}: { 2 + programs.zellij = { 3 + enable = false; 4 + enableFishIntegration = true; 5 + settings = { 6 + default_shell = "fish"; 7 + }; 8 + }; 9 + }
+3
modules/nixos/default.nix
··· 1 + { 2 + # my-module = import ./my-module.nix 3 + }
+237
nixos/configuration.nix
··· 1 + # Edit this configuration file to define what should be installed on 2 + # your system. Help is available in the configuration.nix(5) man page 3 + # and in the NixOS manual (accessible by running ‘nixos-help’). 4 + 5 + { 6 + inputs, 7 + config, 8 + pkgs, 9 + ki-editor, 10 + ... 11 + }: 12 + { 13 + # imports = [ 14 + # # Include the results of the hardware scan. 15 + # ./hardware-configuration.nix 16 + # ]; 17 + 18 + nixpkgs = { 19 + overlays = [ 20 + inputs.self.overlays.additions 21 + inputs.self.overlays.modifications 22 + ]; 23 + 24 + config = { 25 + allowUnfree = true; 26 + }; 27 + }; 28 + 29 + nix.settings = { 30 + experimental-features = [ 31 + "nix-command" 32 + "flakes" 33 + ]; 34 + # Cachix for hyprland 35 + substituters = [ "https://hyprland.cachix.org" ]; 36 + trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; 37 + }; 38 + 39 + nix.gc = { 40 + automatic = true; 41 + options = "--delete-older-than 14d"; 42 + }; 43 + 44 + fonts.packages = with pkgs; [ 45 + nerd-fonts.fira-code 46 + nerd-fonts.jetbrains-mono 47 + monaspace 48 + ]; 49 + 50 + # Enable OpenGL 51 + hardware.graphics = { 52 + enable = true; 53 + }; 54 + 55 + # Load nvidia driver for Xorg and Wayland 56 + services.xserver.videoDrivers = ["nvidia"]; 57 + 58 + # todo I will need to adapt this for the laptop as well 59 + hardware.nvidia = { 60 + # Required 61 + modesetting.enable = true; 62 + 63 + powerManagement.enable = false; 64 + 65 + powerManagement.finegrained = false; 66 + 67 + open = true; 68 + 69 + nvidiaSettings = true; 70 + 71 + package = config.boot.kernelPackages.nvidiaPackages.stable; 72 + }; 73 + 74 + # Define a user account. Don't forget to set a password with ‘passwd’. 75 + users.users.dario = { 76 + isNormalUser = true; 77 + description = "Dario Oddenino"; 78 + extraGroups = [ 79 + "networkmanager" 80 + "wheel" 81 + ]; 82 + packages = with pkgs; [ ]; 83 + }; 84 + 85 + # Bootloader. 86 + boot.loader.systemd-boot.enable = true; 87 + boot.loader.efi.canTouchEfiVariables = true; 88 + 89 + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. 90 + 91 + # Configure network proxy if necessary 92 + # networking.proxy.default = "http://user:password@proxy:port/"; 93 + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; 94 + 95 + # Enable networking 96 + networking.networkmanager.enable = true; 97 + 98 + # Set your time zone. 99 + time.timeZone = "Europe/Rome"; 100 + 101 + # Select internationalisation properties. 102 + i18n.defaultLocale = "en_US.UTF-8"; 103 + 104 + i18n.extraLocaleSettings = { 105 + LC_ADDRESS = "it_IT.UTF-8"; 106 + LC_IDENTIFICATION = "it_IT.UTF-8"; 107 + LC_MEASUREMENT = "it_IT.UTF-8"; 108 + LC_MONETARY = "it_IT.UTF-8"; 109 + LC_NAME = "it_IT.UTF-8"; 110 + LC_NUMERIC = "it_IT.UTF-8"; 111 + LC_PAPER = "it_IT.UTF-8"; 112 + LC_TELEPHONE = "it_IT.UTF-8"; 113 + LC_TIME = "it_IT.UTF-8"; 114 + }; 115 + 116 + security.rtkit.enable = true; 117 + services.udisks2.enable = true; 118 + 119 + services.displayManager.ly = { 120 + enable = true; 121 + }; 122 + 123 + # Configure keymap in X11 124 + # TODO: maybe I don't need this 125 + # services.xserver.xkb = { 126 + # layout = "us"; 127 + # variant = ""; 128 + # }; 129 + 130 + # Enable CUPS to print documents. 131 + services.printing.enable = true; 132 + 133 + # Enable sound with pipewire. 134 + services.pulseaudio.enable = false; 135 + services.pipewire = { 136 + enable = true; 137 + alsa.enable = true; 138 + alsa.support32Bit = true; 139 + pulse.enable = true; 140 + # If you want to use JACK applications, uncomment this 141 + #jack.enable = true; 142 + 143 + # use the example session manager (no others are packaged yet so this is enabled by default, 144 + # no need to redefine it in your config for now) 145 + #media-session.enable = true; 146 + }; 147 + 148 + environment.sessionVariables = { 149 + NIXOS_OZONE_WL = "1"; 150 + }; 151 + 152 + programs.ssh.startAgent = true; 153 + 154 + # TODO I think the part below should go into modules/nixos? 155 + programs.fish.enable = true; 156 + 157 + programs.hyprland = { 158 + enable = true; 159 + withUWSM = true; 160 + xwayland.enable = true; 161 + }; 162 + 163 + programs._1password.enable = true; 164 + programs._1password-gui = { 165 + enable = true; 166 + polkitPolicyOwners = [ "dario" ]; 167 + }; 168 + 169 + programs.appimage.enable = true; 170 + programs.appimage.binfmt = true; 171 + 172 + # List packages installed in system profile. To search, run: 173 + # $ nix search wget 174 + environment.systemPackages = with pkgs; [ 175 + affine 176 + alacritty 177 + atuin 178 + bat 179 + broot 180 + capacities 181 + deezer-enhanced 182 + discord 183 + kdePackages.dolphin 184 + fzf 185 + gcc 186 + git 187 + grc 188 + grim 189 + htop 190 + hyprlauncher 191 + hyprlock 192 + hyprpicker 193 + hyprshutdown 194 + jiratui 195 + jujutsu 196 + ki-editor.packages.x86_64-linux.default 197 + kitty 198 + lazygit 199 + pavucontrol 200 + pciutils 201 + playerctl 202 + ripgrep 203 + rofi 204 + rustdesk 205 + satty 206 + slack 207 + starship 208 + todoist 209 + todoist-electron 210 + usbutils 211 + vim 212 + inputs.waterfox.packages.${pkgs.stdenv.hostPlatform.system}.waterfox-bin 213 + waybar 214 + wl-clipboard 215 + wget 216 + wofi 217 + zellij 218 + inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default 219 + ]; 220 + 221 + environment.etc = { 222 + "1password/custom_allowed_browsers" = { 223 + text = '' 224 + zen 225 + ''; 226 + mode = "0755"; 227 + }; 228 + }; 229 + 230 + # This value determines the NixOS release from which the default 231 + # settings for stateful data, like file locations and database versions 232 + # on your system were taken. It‘s perfectly fine and recommended to leave 233 + # this value at the release version of the first install of this system. 234 + # Before changing this value read the documentation for this option 235 + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 236 + system.stateVersion = "25.05"; # Did you read the comment? 237 + }
+31
nixos/hosts/hardware-configuration-home.nix
··· 1 + # Do not modify this file! It was generated by ‘nixos-generate-config’ 2 + # and may be overwritten by future invocations. Please make changes 3 + # to /etc/nixos/configuration.nix instead. 4 + { config, lib, pkgs, modulesPath, ... }: 5 + 6 + { 7 + imports = 8 + [ (modulesPath + "/installer/scan/not-detected.nix") 9 + ]; 10 + 11 + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; 12 + boot.initrd.kernelModules = [ ]; 13 + boot.kernelModules = [ "kvm-intel" ]; 14 + boot.extraModulePackages = [ ]; 15 + 16 + fileSystems."/" = 17 + { device = "/dev/disk/by-uuid/65689587-ef15-4fca-a2b1-44bd9a52bfc4"; 18 + fsType = "ext4"; 19 + }; 20 + 21 + fileSystems."/boot" = 22 + { device = "/dev/disk/by-uuid/6CFF-BE06"; 23 + fsType = "vfat"; 24 + options = [ "fmask=0077" "dmask=0077" ]; 25 + }; 26 + 27 + swapDevices = [ ]; 28 + 29 + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 30 + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 31 + }
+5
nixos/hosts/home.nix
··· 1 + { inputs, config, pkgs, ... }: 2 + { 3 + networking.hostName = "home"; 4 + 5 + }
+4
nixos/hosts/t470p.nix
··· 1 + { inputs, config, pkgs, ... }: 2 + { 3 + networking.hostName = "t470p"; 4 + }
+15
overlays/default.nix
··· 1 + # This file defines overlays 2 + # These are arbitrary named and just some conventions I use, you can name then whenever and/or make as many as you want 3 + {inputs, ...}: { 4 + # This one brings our custom packages from the 'pkgs' directory 5 + additions = final: _prev: import ../pkgs final.pkgs; 6 + 7 + # This one contains whatever you want to overlay 8 + # You can change versions, add patches, set compilation flags, anything really. 9 + # https://nixos.wiki/wiki/Overlays 10 + modifications = final: prev: { 11 + # example = prev.example.overrideAttrs (oldAttrs: rec { 12 + # ... 13 + # }); 14 + }; 15 + }
+1
pkgs/default.nix
··· 1 + pkgs: {}