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

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 = {
clerie-monitoring-ids = callLibs ./clerie-monitoring-ids.nix;
mkNixpkgs = callLibs ./mkNixpkgs.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:
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