ooknet/modules/nixos/base/options.nix
2024-10-29 16:43:27 +11:00

64 lines
1.3 KiB
Nix

{
lib,
pkgs,
...
}: let
inherit (lib) mkOption;
inherit (lib.types) str enum bool package;
in {
options.ooknet.host = {
name = mkOption {
type = str;
default = "ooks-generic";
};
type = mkOption {
type = enum ["desktop" "laptop"];
};
role = mkOption {
type = enum ["workstation" "server"];
};
boot = {
loader = mkOption {
type = enum ["systemd" "grub"];
default = "systemd";
};
kernel = mkOption {
type = package;
default = pkgs.linuxPackages_latest;
};
};
exitNode = mkOption {
type = bool;
default = false;
};
admin = {
name = mkOption {
type = str;
default = "ooks";
};
shell = mkOption {
type = enum ["bash" "zsh" "fish"];
default = "fish";
};
gitName = mkOption {
type = str;
default = "ooks-io";
};
gitEmail = mkOption {
type = str;
default = "ooks@protonmail.com";
};
homeManager = mkOption {
type = bool;
default = false;
description = ''
Home-manager is enabled if ooknet.host.role == "workstation".
If host is not a workstation and you would like to enable home-manager
enable this option.
'';
};
};
};
}