2023-10-08 11:42:08 +02:00
|
|
|
{ inputs, materusFlake }:
|
|
|
|
|
|
|
|
let
|
|
|
|
profiles = import ../profile;
|
|
|
|
|
2023-10-27 17:00:26 +02:00
|
|
|
makeSystem = { host, arch ? "x86_64-linux", extraModules ? [ ], stable ? true }:
|
|
|
|
let
|
|
|
|
nixosSystem = if stable then inputs.nixpkgs-stable.lib.nixosSystem else inputs.nixpkgs.lib.nixosSystem;
|
|
|
|
hm = if stable then inputs.configInputs-stable.inputs.home-manager else inputs.configInputs.inputs.home-manager;
|
|
|
|
materusCfg = {
|
|
|
|
inherit stable;
|
|
|
|
inherit materusFlake;
|
|
|
|
inherit host;
|
|
|
|
inherit hm;
|
|
|
|
nixerus = if stable then inputs.configInputs-stable.inputs.nixerus else inputs.configInputs.inputs.nixerus;
|
|
|
|
configInputs = if stable then inputs.configInputs-stable else inputs.configInputs;
|
|
|
|
path = materusFlake.selfPath;
|
|
|
|
};
|
|
|
|
in
|
|
|
|
(nixosSystem rec {
|
|
|
|
specialArgs = { inherit materusCfg; };
|
|
|
|
system = arch;
|
|
|
|
modules = [
|
|
|
|
./${host}
|
|
|
|
inputs.private.systemModule
|
|
|
|
profiles.osProfile
|
|
|
|
] ++ extraModules;
|
|
|
|
}) // { inherit materusCfg; };
|
2023-10-27 14:01:54 +02:00
|
|
|
in
|
|
|
|
{
|
2023-10-27 17:00:26 +02:00
|
|
|
materusPC = makeSystem { host = "materusPC"; stable = false; };
|
|
|
|
flamaster = makeSystem { host = "flamaster"; stable = true; };
|
|
|
|
valkyrie = makeSystem { host = "valkyrie"; stable = true; };
|
2023-10-29 01:17:48 +02:00
|
|
|
waffentrager = makeSystem { host = "waffentrager"; stable = false; arch = "aarch64-linux"; extraModules = [ ]; };
|
2023-10-08 11:42:08 +02:00
|
|
|
}
|