diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 40 |
1 files changed, 30 insertions, 10 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 | }; |
@@ -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 = { |
@@ -172,7 +190,7 @@ | |||
172 | type = "github"; | 190 | type = "github"; |
173 | owner = "gkleen"; | 191 | owner = "gkleen"; |
174 | repo = "Waybar"; | 192 | repo = "Waybar"; |
175 | ref = "feat/niri-workspaces-hide"; | 193 | ref = "feat/niri-urgency"; |
176 | inputs = { | 194 | inputs = { |
177 | nixpkgs.follows = "nixpkgs"; | 195 | nixpkgs.follows = "nixpkgs"; |
178 | flake-compat.follows = "flake-compat"; | 196 | flake-compat.follows = "flake-compat"; |
@@ -348,7 +366,7 @@ | |||
348 | 366 | ||
349 | overlays = mapAttrs (_name: path: mkOverlay path) overlayPaths; | 367 | overlays = mapAttrs (_name: path: mkOverlay path) overlayPaths; |
350 | 368 | ||
351 | packages = forAllSystems (system: systemPkgs: nixImport rec { dir = ./tools; _import = _path: name: import "${toString dir}/${name}" ({ inherit system; } // inputs); }); | 369 | packages = forAllSystems (system: systemPkgs: nixImport rec { dir = ./tools; _import = name: _base: import (dir + "/${name}") ({ inherit system; } // inputs); }); |
352 | 370 | ||
353 | # packages = mapAttrs (_name: filterAttrs (_name: isDerivation)) packages; | 371 | # packages = mapAttrs (_name: filterAttrs (_name: isDerivation)) packages; |
354 | # packages' = mapAttrs (_name: filterAttrs (_name: value: !(isDerivation value))) packages; | 372 | # packages' = mapAttrs (_name: filterAttrs (_name: value: !(isDerivation value))) packages; |
@@ -360,6 +378,8 @@ | |||
360 | activateNixosConfigurations activateHomeManagerConfigurations | 378 | activateNixosConfigurations activateHomeManagerConfigurations |
361 | ]; | 379 | ]; |
362 | 380 | ||
381 | lib = nixImport rec { dir = ./lib; _import = name: _base: import (dir + "/${name}") inputs; }; | ||
382 | |||
363 | devShells = forAllSystems (system: systemPkgs: { default = import ./shell.nix ({ inherit system; } // inputs); } // installerShells system systemPkgs); | 383 | devShells = forAllSystems (system: systemPkgs: { default = import ./shell.nix ({ inherit system; } // inputs); } // installerShells system systemPkgs); |
364 | 384 | ||
365 | templates.default = { | 385 | templates.default = { |
@@ -383,7 +403,7 @@ | |||
383 | # path = activateHomeManager (self.nixosConfigurations.${hostname}.config.nixpkgs.system) usercfg.home; | 403 | # path = activateHomeManager (self.nixosConfigurations.${hostname}.config.nixpkgs.system) usercfg.home; |
384 | # }) self.nixosConfigurations.${hostname}.config.home-manager.users); | 404 | # }) self.nixosConfigurations.${hostname}.config.home-manager.users); |
385 | }) (nixImport { dir = ./hosts; _import = (_path: name: name); }); | 405 | }) (nixImport { dir = ./hosts; _import = (_path: name: name); }); |
386 | overrides = if pathExists ./deploy then nixImport { dir = ./deploy; _import = path: _name: import (./deploy + "/${path}") inputs; } else {}; | 406 | 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); | 407 | 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)); | 408 | in mapAttrs (_n: v: if v ? "profiles" then v // { profiles = filterEnabled v.profiles; } else v) (filterEnabled (recursiveUpdate defaults overrides)); |
389 | 409 | ||