diff options
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 65 |
1 files changed, 44 insertions, 21 deletions
| @@ -29,13 +29,13 @@ | |||
| 29 | type = "github"; | 29 | type = "github"; |
| 30 | owner = "NixOS"; | 30 | owner = "NixOS"; |
| 31 | repo = "nixpkgs"; | 31 | repo = "nixpkgs"; |
| 32 | ref = "24.05"; | 32 | ref = "25.05"; |
| 33 | }; | 33 | }; |
| 34 | nixpkgs-eostre = { | 34 | nixpkgs-eostre = { |
| 35 | type = "github"; | 35 | type = "github"; |
| 36 | owner = "NixOS"; | 36 | owner = "NixOS"; |
| 37 | repo = "nixpkgs"; | 37 | repo = "nixpkgs"; |
| 38 | ref = "23.11"; | 38 | ref = "25.05"; |
| 39 | }; | 39 | }; |
| 40 | home-manager = { | 40 | home-manager = { |
| 41 | type = "github"; | 41 | type = "github"; |
| @@ -53,7 +53,7 @@ | |||
| 53 | type = "github"; | 53 | type = "github"; |
| 54 | owner = "gkleen"; | 54 | owner = "gkleen"; |
| 55 | repo = "home-manager"; | 55 | repo = "home-manager"; |
| 56 | ref = "nixos-late-start-23.11"; | 56 | ref = "nixos-late-start-25.05"; |
| 57 | inputs = { | 57 | inputs = { |
| 58 | nixpkgs.follows = "nixpkgs-eostre"; | 58 | nixpkgs.follows = "nixpkgs-eostre"; |
| 59 | }; | 59 | }; |
| @@ -108,7 +108,7 @@ | |||
| 108 | }; | 108 | }; |
| 109 | nix-index-database = { | 109 | nix-index-database = { |
| 110 | type = "github"; | 110 | type = "github"; |
| 111 | owner = "Mic92"; | 111 | owner = "nix-community"; |
| 112 | repo = "nix-index-database"; | 112 | repo = "nix-index-database"; |
| 113 | ref = "main"; | 113 | ref = "main"; |
| 114 | inputs = { | 114 | inputs = { |
| @@ -125,25 +125,43 @@ | |||
| 125 | nixpkgs.follows = "nixpkgs"; | 125 | nixpkgs.follows = "nixpkgs"; |
| 126 | }; | 126 | }; |
| 127 | }; | 127 | }; |
| 128 | pyproject-nix = { | ||
| 129 | url = "github:pyproject-nix/pyproject.nix"; | ||
| 130 | inputs.nixpkgs.follows = "nixpkgs"; | ||
| 131 | }; | ||
| 132 | uv2nix = { | ||
| 133 | url = "github:pyproject-nix/uv2nix"; | ||
| 134 | inputs.pyproject-nix.follows = "pyproject-nix"; | ||
| 135 | inputs.nixpkgs.follows = "nixpkgs"; | ||
| 136 | }; | ||
| 137 | pyproject-build-systems = { | ||
| 138 | url = "github:pyproject-nix/build-system-pkgs"; | ||
| 139 | inputs.pyproject-nix.follows = "pyproject-nix"; | ||
| 140 | inputs.uv2nix.follows = "uv2nix"; | ||
| 141 | inputs.nixpkgs.follows = "nixpkgs"; | ||
| 142 | }; | ||
| 128 | 143 | ||
| 129 | ca-util = { | 144 | ca-util = { |
| 130 | type = "gitlab"; | 145 | type = "gitlab"; |
| 131 | owner = "gkleen"; | 146 | owner = "gkleen"; |
| 132 | repo = "ca"; | 147 | repo = "ca"; |
| 133 | ref = "v3.1.3"; | 148 | ref = "v3.1.5"; |
| 134 | inputs = { | 149 | inputs = { |
| 150 | pyproject-nix.follows = "pyproject-nix"; | ||
| 151 | uv2nix.follows = "uv2nix"; | ||
| 135 | nixpkgs.follows = "nixpkgs"; | 152 | nixpkgs.follows = "nixpkgs"; |
| 136 | poetry2nix.follows = "poetry2nix"; | ||
| 137 | }; | 153 | }; |
| 138 | }; | 154 | }; |
| 139 | backup-utils = { | 155 | backup-utils = { |
| 140 | type = "gitlab"; | 156 | type = "gitlab"; |
| 141 | owner = "gkleen"; | 157 | owner = "gkleen"; |
| 142 | repo = "backup-utils"; | 158 | repo = "backup-utils"; |
| 143 | ref = "v0.1.6"; | 159 | ref = "v0.1.7"; |
| 144 | inputs = { | 160 | inputs = { |
| 145 | nixpkgs.follows = "nixpkgs"; | 161 | nixpkgs.follows = "nixpkgs"; |
| 146 | poetry2nix.follows = "poetry2nix"; | 162 | pyproject-nix.follows = "pyproject-nix"; |
| 163 | uv2nix.follows = "uv2nix"; | ||
| 164 | pyproject-build-systems.follows = "pyproject-build-systems"; | ||
| 147 | }; | 165 | }; |
| 148 | }; | 166 | }; |
| 149 | prometheus-borg-exporter = { | 167 | prometheus-borg-exporter = { |
| @@ -168,16 +186,6 @@ | |||
| 168 | repo = "impermanence"; | 186 | repo = "impermanence"; |
| 169 | ref = "master"; | 187 | ref = "master"; |
| 170 | }; | 188 | }; |
| 171 | waybar = { | ||
| 172 | type = "github"; | ||
| 173 | owner = "gkleen"; | ||
| 174 | repo = "Waybar"; | ||
| 175 | ref = "feat/niri-workspaces-hide"; | ||
| 176 | inputs = { | ||
| 177 | nixpkgs.follows = "nixpkgs"; | ||
| 178 | flake-compat.follows = "flake-compat"; | ||
| 179 | }; | ||
| 180 | }; | ||
| 181 | nixVirt = { | 189 | nixVirt = { |
| 182 | type = "github"; | 190 | type = "github"; |
| 183 | owner = "AshleyYakeley"; | 191 | owner = "AshleyYakeley"; |
| @@ -191,7 +199,12 @@ | |||
| 191 | ref = "main"; | 199 | ref = "main"; |
| 192 | inputs = { | 200 | inputs = { |
| 193 | nixpkgs.follows = "nixpkgs"; | 201 | nixpkgs.follows = "nixpkgs"; |
| 194 | # niri-unstable.url = "github:gkleen/niri"; | 202 | niri-unstable = { |
| 203 | type = "github"; | ||
| 204 | owner = "gkleen"; | ||
| 205 | repo = "niri"; | ||
| 206 | ref = "fix/locked-monitor-control"; | ||
| 207 | }; | ||
| 195 | }; | 208 | }; |
| 196 | }; | 209 | }; |
| 197 | nix-monitored = { | 210 | nix-monitored = { |
| @@ -203,6 +216,14 @@ | |||
| 203 | nixpkgs.follows = "nixpkgs"; | 216 | nixpkgs.follows = "nixpkgs"; |
| 204 | }; | 217 | }; |
| 205 | }; | 218 | }; |
| 219 | lanzaboote = { | ||
| 220 | type = "github"; | ||
| 221 | owner = "nix-community"; | ||
| 222 | repo = "lanzaboote"; | ||
| 223 | ref = "v0.4.3"; | ||
| 224 | |||
| 225 | inputs.nixpkgs.follows = "nixpkgs"; | ||
| 226 | }; | ||
| 206 | }; | 227 | }; |
| 207 | 228 | ||
| 208 | outputs = { self, nixpkgs, home-manager, sops-nix, deploy-rs, nvfetcher, niri-flake, ... }@inputs: | 229 | outputs = { self, nixpkgs, home-manager, sops-nix, deploy-rs, nvfetcher, niri-flake, ... }@inputs: |
| @@ -348,7 +369,7 @@ | |||
| 348 | 369 | ||
| 349 | overlays = mapAttrs (_name: path: mkOverlay path) overlayPaths; | 370 | overlays = mapAttrs (_name: path: mkOverlay path) overlayPaths; |
| 350 | 371 | ||
| 351 | packages = forAllSystems (system: systemPkgs: nixImport rec { dir = ./tools; _import = _path: name: import "${toString dir}/${name}" ({ inherit system; } // inputs); }); | 372 | packages = forAllSystems (system: systemPkgs: nixImport rec { dir = ./tools; _import = name: _base: import (dir + "/${name}") ({ inherit system; } // inputs); }); |
| 352 | 373 | ||
| 353 | # packages = mapAttrs (_name: filterAttrs (_name: isDerivation)) packages; | 374 | # packages = mapAttrs (_name: filterAttrs (_name: isDerivation)) packages; |
| 354 | # packages' = mapAttrs (_name: filterAttrs (_name: value: !(isDerivation value))) packages; | 375 | # packages' = mapAttrs (_name: filterAttrs (_name: value: !(isDerivation value))) packages; |
| @@ -360,6 +381,8 @@ | |||
| 360 | activateNixosConfigurations activateHomeManagerConfigurations | 381 | activateNixosConfigurations activateHomeManagerConfigurations |
| 361 | ]; | 382 | ]; |
| 362 | 383 | ||
| 384 | lib = nixImport rec { dir = ./lib; _import = name: _base: import (dir + "/${name}") inputs; }; | ||
| 385 | |||
| 363 | devShells = forAllSystems (system: systemPkgs: { default = import ./shell.nix ({ inherit system; } // inputs); } // installerShells system systemPkgs); | 386 | devShells = forAllSystems (system: systemPkgs: { default = import ./shell.nix ({ inherit system; } // inputs); } // installerShells system systemPkgs); |
| 364 | 387 | ||
| 365 | templates.default = { | 388 | templates.default = { |
| @@ -383,7 +406,7 @@ | |||
| 383 | # path = activateHomeManager (self.nixosConfigurations.${hostname}.config.nixpkgs.system) usercfg.home; | 406 | # path = activateHomeManager (self.nixosConfigurations.${hostname}.config.nixpkgs.system) usercfg.home; |
| 384 | # }) self.nixosConfigurations.${hostname}.config.home-manager.users); | 407 | # }) self.nixosConfigurations.${hostname}.config.home-manager.users); |
| 385 | }) (nixImport { dir = ./hosts; _import = (_path: name: name); }); | 408 | }) (nixImport { dir = ./hosts; _import = (_path: name: name); }); |
| 386 | overrides = if pathExists ./deploy then nixImport { dir = ./deploy; _import = path: _name: import (./deploy + "/${path}") inputs; } else {}; | 409 | overrides = if pathExists ./deploy then nixImport rec { dir = ./deploy; _import = path: _name: import (dir + "/${path}") inputs; } else {}; |
| 387 | filterEnabled = attrs: mapAttrs (_n: v: filterAttrs (n: _v: n != "enabled") v) (filterAttrs (_n: v: v.enabled or true) attrs); | 410 | filterEnabled = attrs: mapAttrs (_n: v: filterAttrs (n: _v: n != "enabled") v) (filterAttrs (_n: v: v.enabled or true) attrs); |
| 388 | in mapAttrs (_n: v: if v ? "profiles" then v // { profiles = filterEnabled v.profiles; } else v) (filterEnabled (recursiveUpdate defaults overrides)); | 411 | in mapAttrs (_n: v: if v ? "profiles" then v // { profiles = filterEnabled v.profiles; } else v) (filterEnabled (recursiveUpdate defaults overrides)); |
| 389 | 412 | ||
