1
0

lib/mkNixpkgs.nix: Add function to import nixpkgs with overlays

This commit is contained in:
2025-06-29 16:54:29 +02:00
parent 60e80ab2e9
commit 457fa2ca6f
5 changed files with 37 additions and 28 deletions

View File

@@ -70,7 +70,6 @@
}; };
outputs = { self, nixpkgs, nixos-hardware, chaosevents, fernglas, nixos-exporter, solid-xmpp-alarm, ssh-to-age, ... }@inputs: let outputs = { self, nixpkgs, nixos-hardware, chaosevents, fernglas, nixos-exporter, solid-xmpp-alarm, ssh-to-age, ... }@inputs: let
lib = import ./lib inputs; lib = import ./lib inputs;
localNixpkgs = import ./flake/nixpkgs.nix inputs;
in { in {
clerie.hosts = { clerie.hosts = {
aluminium = { aluminium = {
@@ -140,14 +139,17 @@
clerie-overrides = import ./pkgs/overrides/overlay.nix; 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: packages = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ] (system:
let
pkgs = localNixpkgs.${system};
in
nixpkgs.lib.genAttrs ( nixpkgs.lib.genAttrs (
(builtins.attrNames (self.overlays.clerie-pkgs null null)) (builtins.attrNames (self.overlays.clerie-pkgs null null))
++ (builtins.attrNames (self.overlays.clerie-overrides null null)) ++ (builtins.attrNames (self.overlays.clerie-overrides null null))
) (name: pkgs."${name}") ) (name: self.nixpkgs."${system}"."${name}")
); );
inherit lib self; inherit lib self;

View File

@@ -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; })

View File

@@ -8,6 +8,7 @@ let
lib = { lib = {
clerie-monitoring-ids = callLibs ./clerie-monitoring-ids.nix; clerie-monitoring-ids = callLibs ./clerie-monitoring-ids.nix;
mkNixpkgs = callLibs ./mkNixpkgs.nix;
nixosSystem = callLibs ./nixosSystem.nix; nixosSystem = callLibs ./nixosSystem.nix;
}; };

27
lib/mkNixpkgs.nix Normal file
View File

@@ -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;
}

View File

@@ -17,11 +17,9 @@
... ...
}@args: }@args:
let inputs.nixpkgs.lib.nixosSystem ({
localNixpkgs = import ../flake/nixpkgs.nix inputs;
in inputs.nixpkgs.lib.nixosSystem ({
system = system; system = system;
pkgs = if pkgs != null then pkgs else localNixpkgs.${system}; pkgs = if pkgs != null then pkgs else self.nixpkgs.${system};
modules = [ modules = [
self.nixosModules.nixfilesInputs self.nixosModules.nixfilesInputs
self.nixosModules.clerie self.nixosModules.clerie