feat: module for role system
This commit is contained in:
parent
03df1ae699
commit
05db810079
@ -5,11 +5,14 @@
|
|||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (lib)
|
inherit (lib)
|
||||||
|
mkDefault
|
||||||
mkIf
|
mkIf
|
||||||
mkMerge
|
mkMerge
|
||||||
mkOption
|
mkOption
|
||||||
|
recursiveUpdate
|
||||||
types
|
types
|
||||||
;
|
;
|
||||||
|
|
||||||
role = config.ataraxia.defaults.role;
|
role = config.ataraxia.defaults.role;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
@ -25,9 +28,41 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkMerge [
|
config =
|
||||||
(mkIf (role == "base") {
|
let
|
||||||
ataraxia.defaults.nix.enable = true;
|
baseRole = {
|
||||||
})
|
ataraxia.defaults.lix.enable = mkDefault true;
|
||||||
];
|
ataraxia.defaults.nix.enable = mkDefault true;
|
||||||
|
|
||||||
|
persist.enable = mkDefault true;
|
||||||
|
|
||||||
|
boot.initrd.systemd.enable = mkDefault true;
|
||||||
|
services.userborn.enable = mkDefault true;
|
||||||
|
system.rebuild.enableNg = mkDefault true;
|
||||||
|
system.switch.enableNg = mkDefault true;
|
||||||
|
system.etc.overlay.enable = mkDefault true;
|
||||||
|
system.etc.overlay.mutable = mkDefault true;
|
||||||
|
|
||||||
|
zramSwap = {
|
||||||
|
enable = true;
|
||||||
|
algorithm = "zstd";
|
||||||
|
memoryPercent = 100;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
serverRole = recursiveUpdate baseRole {
|
||||||
|
time.timeZone = "Etc/UTC";
|
||||||
|
};
|
||||||
|
desktopRole = recursiveUpdate baseRole {
|
||||||
|
location = {
|
||||||
|
provider = "manual";
|
||||||
|
latitude = 48;
|
||||||
|
longitude = 44;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
mkMerge [
|
||||||
|
(mkIf (role == "base") baseRole)
|
||||||
|
(mkIf (role == "server") serverRole)
|
||||||
|
(mkIf (role == "desktop") desktopRole)
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user