56 lines
1.3 KiB
Nix
56 lines
1.3 KiB
Nix
{ lib, ... }: {
|
|
options = let
|
|
inherit (lib) mkOption mkEnableOption;
|
|
inherit (lib.types) nullOr str attrsOf;
|
|
in {
|
|
full = mkEnableOption "Enable complete configuration for end-user machine";
|
|
|
|
withNiri = mkEnableOption "Enable niri compositor";
|
|
withGnome = mkEnableOption "Enable Gnome";
|
|
|
|
withVM = lib.mkEnableOption "Enable VM related configuration";
|
|
withContainers = mkEnableOption "Enable container support";
|
|
|
|
withGames = mkEnableOption "Enable games";
|
|
|
|
withImpermanence = mkEnableOption "Use impermanence module";
|
|
|
|
disks = mkOption {
|
|
type = attrsOf str;
|
|
default = {
|
|
boot = "";
|
|
crypt = "";
|
|
root = "";
|
|
};
|
|
example = {
|
|
boot = "4672-C1A9";
|
|
crypt = "747ae319-f189-44f5-9737-a42672e2c02d";
|
|
root = "04255623-c061-4cf0-89fa-b3d8eb239d59";
|
|
};
|
|
};
|
|
|
|
username = mkOption {
|
|
type = str;
|
|
default = "twoneis";
|
|
example = "anna";
|
|
};
|
|
|
|
hwmonPath = mkOption {
|
|
type = nullOr str;
|
|
default = null;
|
|
example = "/sys/class/hwmon/hwmon1/temp1_input";
|
|
};
|
|
|
|
stateVersion = mkOption {
|
|
type = nullOr str;
|
|
default = null;
|
|
example = "24.05";
|
|
};
|
|
|
|
hmStateVersion = mkOption {
|
|
type = nullOr str;
|
|
default = null;
|
|
example = "24.11";
|
|
};
|
|
};
|
|
}
|