nix-config/options.nix
2024-07-21 17:09:23 +02:00

53 lines
1.3 KiB
Nix

{ lib, ... }: {
options = let
inherit (lib) mkOption mkEnableOption;
inherit (lib.types) nullOr attrsOf str;
in {
full = mkEnableOption "Enable complete configuration for end-user machine";
withNiri = mkEnableOption "Enable niri compositor";
withVM = lib.mkEnableOption "Enable VM related configuration";
withContainers = mkEnableOption "Enable container support";
withGames = mkEnableOption "Enable games";
withImpermanence = mkEnableOption "Use impermanence module";
withSecureBoot = mkEnableOption "Enable secure boot utilities (manual key-enrolling required)";
disks = mkOption {
type = attrsOf str;
default = { };
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";
};
};
}