Grant machine configs access to the pkgs
attribute
This commit is contained in:
parent
a4cedd467f
commit
bdea1aa785
1 changed files with 35 additions and 34 deletions
67
flake.nix
67
flake.nix
|
@ -44,47 +44,48 @@
|
||||||
) // {
|
) // {
|
||||||
nixosConfigurations =
|
nixosConfigurations =
|
||||||
let
|
let
|
||||||
default = {
|
default = { pkgs, ... }: {
|
||||||
dualBoot = false;
|
dualBoot = false;
|
||||||
timeZone = null;
|
timeZone = null;
|
||||||
keyMap = "us";
|
keyMap = "us";
|
||||||
keyboardLayout = "us";
|
keyboardLayout = "us";
|
||||||
localeSettings = { };
|
localeSettings = { };
|
||||||
};
|
};
|
||||||
systems = [
|
systems = {
|
||||||
{
|
nixos.config = { ... }: {
|
||||||
name = "nixos";
|
};
|
||||||
}
|
};
|
||||||
];
|
|
||||||
in
|
in
|
||||||
builtins.listToAttrs (
|
builtins.mapAttrs (
|
||||||
builtins.map (
|
name: { system ? "x86_64-linux", config }: nixpkgs.lib.nixosSystem {
|
||||||
{ name, system ? "x86_64-linux", ... }@config: {
|
inherit system;
|
||||||
inherit name;
|
|
||||||
|
|
||||||
value = nixpkgs.lib.nixosSystem {
|
modules = [
|
||||||
inherit system;
|
(
|
||||||
|
{ pkgs, ... }@args: {
|
||||||
|
config._module.args = {
|
||||||
|
machineConfig = (default args) //
|
||||||
|
(config args) // {
|
||||||
|
inherit name;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
sops-nix.nixosModules.sops
|
||||||
|
./lib/configuration.nix
|
||||||
|
(
|
||||||
|
let
|
||||||
|
configCandidate = ./lib/machines/${name}.nix;
|
||||||
|
|
||||||
modules = [
|
machineConfigPath =
|
||||||
({ ... }: { config._module.args = { machineConfig = default // config; }; })
|
if builtins.pathExists configCandidate
|
||||||
sops-nix.nixosModules.sops
|
then
|
||||||
./lib/configuration.nix
|
configCandidate
|
||||||
|
else
|
||||||
(
|
./lib/hardware/base.nix;
|
||||||
let
|
in
|
||||||
configCandidate = ./lib/machines/${name}.nix;
|
machineConfigPath)
|
||||||
|
];
|
||||||
machineConfigPath =
|
})
|
||||||
if builtins.pathExists configCandidate
|
systems;
|
||||||
then
|
|
||||||
configCandidate
|
|
||||||
else
|
|
||||||
./lib/hardware/base.nix;
|
|
||||||
in
|
|
||||||
machineConfigPath)
|
|
||||||
];
|
|
||||||
};
|
|
||||||
})
|
|
||||||
systems);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue