Flake for my NixOS devices

Update, rework network module

bwc9876.dev 720bdceb fdaca612

verified
+59 -44
+25 -25
flake.lock
··· 31 31 ] 32 32 }, 33 33 "locked": { 34 - "lastModified": 1762198582, 35 - "narHash": "sha256-P9giW/1Crn7ekQt4YIbONJ/hKFaHkTwyhz82FCjh+OM=", 34 + "lastModified": 1762510976, 35 + "narHash": "sha256-KGoSj8qMOOPaNE48RTtuNBbqOvKLTeklnRHWWvE/TXo=", 36 36 "owner": "catppuccin", 37 37 "repo": "nix", 38 - "rev": "08716214674ca27914daa52e6fa809cc022b581e", 38 + "rev": "728cb0a667ce37bb0c68557dba819c7fb54ff1c8", 39 39 "type": "github" 40 40 }, 41 41 "original": { ··· 202 202 ] 203 203 }, 204 204 "locked": { 205 - "lastModified": 1760948891, 206 - "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", 205 + "lastModified": 1762040540, 206 + "narHash": "sha256-z5PlZ47j50VNF3R+IMS9LmzI5fYRGY/Z5O5tol1c9I4=", 207 207 "owner": "hercules-ci", 208 208 "repo": "flake-parts", 209 - "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", 209 + "rev": "0010412d62a25d959151790968765a70c436598b", 210 210 "type": "github" 211 211 }, 212 212 "original": { ··· 410 410 ] 411 411 }, 412 412 "locked": { 413 - "lastModified": 1762296971, 414 - "narHash": "sha256-Jyv3L5rrUYpecON+9zyFz2VqgTSTsIG35fXuCyuCQv0=", 413 + "lastModified": 1762463325, 414 + "narHash": "sha256-33YUsWpPyeBZEWrKQ2a1gkRZ7i0XCC/2MYpU6BVeQSU=", 415 415 "owner": "nix-community", 416 416 "repo": "home-manager", 417 - "rev": "34fe48801d2a5301b814eaa1efb496499d06cebc", 417 + "rev": "0562fef070a1027325dd4ea10813d64d2c967b39", 418 418 "type": "github" 419 419 }, 420 420 "original": { ··· 515 515 }, 516 516 "nixos-hardware": { 517 517 "locked": { 518 - "lastModified": 1762267440, 519 - "narHash": "sha256-WHjEJ80oYbWyNu0dxysBs5oMlBc5w7YYzL1/UPj4iGo=", 518 + "lastModified": 1762463231, 519 + "narHash": "sha256-hv1mG5j5PTbnWbtHHomzTus77pIxsc4x8VrMjc7+/YE=", 520 520 "owner": "NixOS", 521 521 "repo": "nixos-hardware", 522 - "rev": "2e85ae1b7030df39269d29118b1f74944d0c8f15", 522 + "rev": "52113c4f5cfd1e823001310e56d9c8d0699a6226", 523 523 "type": "github" 524 524 }, 525 525 "original": { ··· 530 530 }, 531 531 "nixpkgs": { 532 532 "locked": { 533 - "lastModified": 1762111121, 534 - "narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=", 533 + "lastModified": 1762363567, 534 + "narHash": "sha256-YRqMDEtSMbitIMj+JLpheSz0pwEr0Rmy5mC7myl17xs=", 535 535 "owner": "NixOS", 536 536 "repo": "nixpkgs", 537 - "rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4", 537 + "rev": "ae814fd3904b621d8ab97418f1d0f2eb0d3716f4", 538 538 "type": "github" 539 539 }, 540 540 "original": { ··· 554 554 "systems": "systems_2" 555 555 }, 556 556 "locked": { 557 - "lastModified": 1762293638, 558 - "narHash": "sha256-svsYLbxNq8EZoVtNF97wCAElZ2py5Q1p7viG6lTUixA=", 557 + "lastModified": 1762510447, 558 + "narHash": "sha256-C9zdTJKMX+mSTEXlXfyWTEZIPUKpzNgGP4v1cHd/JTs=", 559 559 "owner": "nix-community", 560 560 "repo": "nixvim", 561 - "rev": "aa3a1dfb028cd09b8061862f9dd8d859467fc7ed", 561 + "rev": "3be63f84fd08d7cb37d5f9ac7c1c46e65b79ffec", 562 562 "type": "github" 563 563 }, 564 564 "original": { ··· 748 748 ] 749 749 }, 750 750 "locked": { 751 - "lastModified": 1762223900, 752 - "narHash": "sha256-caxpESVH71mdrdihYvQZ9rTZPZqW0GyEG9un7MgpyRM=", 751 + "lastModified": 1762483116, 752 + "narHash": "sha256-Z8EVsTH10BjCdFyPxbUu5jBV+HGL39rh9+beQcnNRm0=", 753 753 "owner": "oxalica", 754 754 "repo": "rust-overlay", 755 - "rev": "cfe1598d69a42a5edb204770e71b8df77efef2c3", 755 + "rev": "9de55b59b6aaadbd9dbf223765a835239b767ee5", 756 756 "type": "github" 757 757 }, 758 758 "original": { ··· 779 779 ] 780 780 }, 781 781 "locked": { 782 - "lastModified": 1762038257, 783 - "narHash": "sha256-D1Pbr/VaEWjmidcfmqa6/usolDCcJyW7TZcuCqc3sIs=", 782 + "lastModified": 1762377373, 783 + "narHash": "sha256-oc2sIniNQQwArQyASFCMtci2T88qtVgZEjgdVN3UzCY=", 784 784 "ref": "refs/heads/main", 785 - "rev": "a6dcef445f25eb059a4a8d64abfdbbe4c3635718", 786 - "revCount": 283, 785 + "rev": "04dfe79667923fccb4cf2a361af4a99f7af10f48", 786 + "revCount": 286, 787 787 "type": "git", 788 788 "url": "https://codeberg.org/spoonbaker/mono" 789 789 },
+13 -11
homeModules/nvim.nix
··· 66 66 enabled = true; 67 67 lsp = true; 68 68 }; 69 - gitsigns = true; 70 69 neotree = true; 71 70 native_lsp = { 72 71 enabled = true; ··· 120 119 smartindent = true; 121 120 cursorline = true; 122 121 showtabline = 2; 122 + tabstop = 2; 123 + shiftwidth = 2; 123 124 breakindent = true; 124 125 fillchars.__raw = ''[[eob: ,fold: ,foldopen:,foldsep: ,foldclose:]]''; 125 126 foldcolumn = "1"; ··· 226 227 options.desc = "Previous Tab"; 227 228 } 228 229 { 229 - action = "BufferLinePick"; 230 - key = "<Tab>"; 231 - options.desc = "Pick Tab and Switch"; 232 - } 233 - { 234 230 action = "Neotree toggle"; 235 231 key = "t"; 236 232 options.desc = "Toggle Neotree"; ··· 239 235 } 240 236 { 241 237 group = "Tab Closing"; 242 - prefix = "<S-Tab>"; 238 + prefix = "<Tab><Tab>"; 243 239 keys = [ 244 240 { 245 241 action = "BufferLineCloseLeft"; ··· 421 417 422 418 alpha = { 423 419 enable = true; 424 - opts = { 420 + settings.opts = { 425 421 position = "center"; 426 422 }; 427 - layout = let 423 + settings.layout = let 428 424 o = { 429 425 position = "center"; 430 426 }; ··· 674 670 nvim-ufo = { 675 671 enable = true; 676 672 }; 677 - gitsigns.enable = true; 673 + 674 + # gitgutter = { 675 + # enable = true; 676 + # settings = { 677 + # 678 + # }; 679 + # }; 678 680 679 681 lualine = { 680 682 enable = true; ··· 744 746 }; 745 747 web-devicons.enable = true; 746 748 747 - guess-indent.enable = true; 749 + indent-o-matic.enable = true; 748 750 intellitab.enable = true; 749 751 750 752 which-key = {
+2 -2
homeModules/utils.nix
··· 52 52 }; 53 53 distro = null; 54 54 light_dark = "dark"; 55 - lightness = 0.65; 55 + lightness = 0.5; 56 56 mode = "rgb"; 57 - preset = "interprogress"; 57 + preset = "gay-men"; 58 58 pride_month_disable = false; 59 59 pride_month_shown = []; 60 60 };
+4 -1
nixosConfigurations/installer.nix
··· 88 88 }; 89 89 90 90 cow = { 91 - network.wireless = true; 91 + network = { 92 + enable = true; 93 + wireless = true; 94 + }; 92 95 hm.enable = true; 93 96 cat.enable = true; 94 97 };
+13 -5
nixosModules/network.nix
··· 1 1 {...}: { 2 2 config, 3 3 lib, 4 + pkgs, 4 5 ... 5 6 }: { 6 7 options.cow.network = { 8 + enable = lib.mkEnableOption "custom network setup using some nicer defaults"; 7 9 wireless = lib.mkEnableOption "wireless networking with IWD"; 8 10 bluetooth = lib.mkEnableOption "bluetooth networking"; 9 11 }; 10 12 11 - config = { 13 + config = lib.mkIf config.cow.network.enable { 12 14 hardware.bluetooth = lib.mkIf config.cow.network.bluetooth { 13 15 enable = true; 14 16 settings = { ··· 18 20 }; 19 21 }; 20 22 23 + environment.systemPackages = with pkgs; 24 + (lib.optionals config.cow.network.bluetooth [ 25 + bluetui 26 + ]) 27 + ++ (lib.optionals config.cow.network.wireless [impala]); 28 + 21 29 cow.imperm.keepCache = 22 30 (lib.optional config.cow.network.bluetooth "/var/lib/bluetooth") 23 31 ++ (lib.optional config.cow.network.wireless "/var/lib/iwd"); 24 32 25 - networking = lib.mkIf config.cow.network.wireless { 26 - wireless.iwd.enable = true; 33 + networking = { 34 + wireless.iwd.enable = config.cow.network.wireless; 27 35 useNetworkd = true; 28 36 useDHCP = true; 29 37 }; 30 38 31 39 systemd.network = { 32 - enable = lib.mkDefault config.cow.network.wireless; 40 + enable = lib.mkDefault true; 33 41 wait-online = { 34 42 enable = lib.mkDefault false; 35 43 }; 36 44 }; 37 45 38 - services = lib.mkIf config.cow.network.wireless { 46 + services = lib.mkDefault { 39 47 resolved = { 40 48 enable = true; 41 49 llmnr = "false";
+1
nixosModules/role-desktop.nix
··· 15 15 firewall.openForUsers = true; 16 16 hm.enable = true; 17 17 network = { 18 + enable = true; 18 19 bluetooth = lib.mkDefault true; 19 20 wireless = lib.mkDefault true; 20 21 };
+1
nixosModules/role-laptop.nix
··· 23 23 print.enable = true; 24 24 hm.enable = true; 25 25 network = { 26 + enable = true; 26 27 bluetooth = true; 27 28 wireless = true; 28 29 };