2024-04-14 07:57:07 +02:00
|
|
|
{ inputs, lib, ... }:
|
|
|
|
let
|
|
|
|
userOpt = with lib; {
|
2023-11-04 02:28:27 +01:00
|
|
|
username = mkOption { type = types.str; };
|
2024-04-14 07:57:07 +02:00
|
|
|
wm = mkOption {
|
2024-04-14 21:40:12 +02:00
|
|
|
type = types.enum [ "Wayland" "X11" "-"];
|
2024-04-14 22:24:23 +02:00
|
|
|
default = "-";
|
2024-04-14 07:57:07 +02:00
|
|
|
};
|
|
|
|
git = {
|
|
|
|
username = mkOption { type = types.str; };
|
|
|
|
email = mkOption { type = types.str; };
|
|
|
|
key = mkOption { type = types.str; };
|
|
|
|
};
|
|
|
|
};
|
|
|
|
in with lib; {
|
|
|
|
options.usercfg = userOpt;
|
|
|
|
options.syscfg = {
|
|
|
|
hostname = mkOption { type = types.str; };
|
|
|
|
defaultUser = mkOption { type = types.str; };
|
2023-11-04 02:28:27 +01:00
|
|
|
make = {
|
|
|
|
cli = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = true;
|
|
|
|
};
|
|
|
|
gui = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
};
|
|
|
|
virt = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = true;
|
|
|
|
};
|
|
|
|
power = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
};
|
|
|
|
game = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
};
|
2024-01-19 11:58:52 +01:00
|
|
|
develop = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
};
|
2023-11-04 02:28:27 +01:00
|
|
|
};
|
|
|
|
net = {
|
|
|
|
wlp = {
|
2024-04-14 21:22:22 +02:00
|
|
|
enable = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
};
|
|
|
|
nif = mkOption {
|
|
|
|
type = types.str;
|
|
|
|
default = "";
|
|
|
|
};
|
2023-11-04 02:28:27 +01:00
|
|
|
};
|
|
|
|
wg = {
|
|
|
|
enable = mkOption {
|
|
|
|
type = types.bool;
|
2024-04-14 21:22:22 +02:00
|
|
|
default = false;
|
|
|
|
};
|
|
|
|
ip4 = mkOption {
|
|
|
|
type = types.str;
|
|
|
|
default = "";
|
|
|
|
};
|
|
|
|
ip6 = mkOption {
|
|
|
|
type = types.str;
|
|
|
|
default = "";
|
2023-11-04 02:28:27 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-04-14 07:57:07 +02:00
|
|
|
users = mkOption {
|
|
|
|
type = types.listOf (types.submodule { options = userOpt; });
|
|
|
|
default = [ ];
|
|
|
|
};
|
2023-11-04 02:28:27 +01:00
|
|
|
};
|
|
|
|
}
|