diff --git a/flake.nix b/flake.nix index 2a5d76c..62b2f9f 100644 --- a/flake.nix +++ b/flake.nix @@ -70,7 +70,6 @@ }; outputs = { self, nixpkgs, nixos-hardware, chaosevents, fernglas, nixos-exporter, solid-xmpp-alarm, ssh-to-age, ... }@inputs: let lib = import ./lib inputs; - localNixpkgs = import ./flake/nixpkgs.nix inputs; in { clerie.hosts = { aluminium = { @@ -140,14 +139,17 @@ clerie-overrides = import ./pkgs/overrides/overlay.nix; }; + nixpkgs = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ] (system: + lib.mkNixpkgs { + inherit system; + } + ); + packages = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ] (system: - let - pkgs = localNixpkgs.${system}; - in nixpkgs.lib.genAttrs ( (builtins.attrNames (self.overlays.clerie-pkgs null null)) ++ (builtins.attrNames (self.overlays.clerie-overrides null null)) - ) (name: pkgs."${name}") + ) (name: self.nixpkgs."${system}"."${name}") ); inherit lib self; diff --git a/flake/nixpkgs.nix b/flake/nixpkgs.nix deleted file mode 100644 index 920fddc..0000000 --- a/flake/nixpkgs.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ self -, nixpkgs -, ... -}@inputs: - -let - mkNixpkgs = { system, ... }@args: - import nixpkgs { - inherit system; - overlays = [ - self.overlays.clerie-inputs - self.overlays.clerie-pkgs - self.overlays.clerie-build-support - self.overlays.clerie-overrides - ]; - }; - -in - nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ] (system: mkNixpkgs { inherit system; }) diff --git a/lib/default.nix b/lib/default.nix index 388a1df..1f9de63 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -8,6 +8,7 @@ let lib = { clerie-monitoring-ids = callLibs ./clerie-monitoring-ids.nix; + mkNixpkgs = callLibs ./mkNixpkgs.nix; nixosSystem = callLibs ./nixosSystem.nix; }; diff --git a/lib/mkNixpkgs.nix b/lib/mkNixpkgs.nix new file mode 100644 index 0000000..a44aff9 --- /dev/null +++ b/lib/mkNixpkgs.nix @@ -0,0 +1,27 @@ +{ + inputs, + self, + ... +}: + +/* + + Loads a version of nixpkgs with nixfiles overlays loaded + +*/ +{ + system, + nixpkgs ? inputs.nixpkgs, + overlays ? [], + ... +}@args: + +import nixpkgs { + inherit system; + overlays = [ + self.overlays.clerie-inputs + self.overlays.clerie-pkgs + self.overlays.clerie-build-support + self.overlays.clerie-overrides + ] ++ overlays; +} diff --git a/lib/nixosSystem.nix b/lib/nixosSystem.nix index bac3eec..ea1e4d3 100644 --- a/lib/nixosSystem.nix +++ b/lib/nixosSystem.nix @@ -17,11 +17,9 @@ ... }@args: -let - localNixpkgs = import ../flake/nixpkgs.nix inputs; -in inputs.nixpkgs.lib.nixosSystem ({ +inputs.nixpkgs.lib.nixosSystem ({ system = system; - pkgs = if pkgs != null then pkgs else localNixpkgs.${system}; + pkgs = if pkgs != null then pkgs else self.nixpkgs.${system}; modules = [ self.nixosModules.nixfilesInputs self.nixosModules.clerie