nixcfg/userModules/options.nix
Aly Raffauf b01442f222
Some checks failed
git-mirror / gitlab-sync (push) Has been cancelled
nix-build / adjustor-build (push) Has been cancelled
nix-build / clean-install-build (push) Has been cancelled
nix-build / hhd-ui-build (push) Has been cancelled
nix-build / rofi-bluetooth-build (push) Has been cancelled
nix-build / fallarbor-build (push) Has been cancelled
nix-build / lavaridge-build (push) Has been cancelled
nix-build / mauville-build (push) Has been cancelled
nix-build / pacifidlog-build (push) Has been cancelled
nix-build / rustboro-build (push) Has been cancelled
nix-build / slateport-build (push) Has been cancelled
nix-check / fmt-check (push) Has been cancelled
nix-check / eval-check (push) Has been cancelled
syncthing: add roms folder; update pacifidlog id
2024-11-18 11:56:02 -05:00

70 lines
1.5 KiB
Nix

{
config,
lib,
...
}: {
options.ar.users = let
mkUser = user: {
enable = lib.mkEnableOption "${user}.";
password = lib.mkOption {
description = "Hashed password for ${user}.";
type = lib.types.str;
};
};
in {
defaultGroups = lib.mkOption {
description = "Default groups for desktop users.";
default = [
"dialout"
"docker"
"libvirtd"
"lp"
"networkmanager"
"scanner"
"transmission"
"video"
"wheel"
];
};
aly =
mkUser "aly"
// {
syncthing = {
enable = lib.mkEnableOption "Syncthing sync service.";
certFile = lib.mkOption {
description = "Syncthing cert file.";
type = lib.types.nonEmptyStr;
};
keyFile = lib.mkOption {
description = "Syncthing key file.";
type = lib.types.nonEmptyStr;
};
musicPath = lib.mkOption {
description = "Whether to sync music folder.";
default = "/home/aly/music";
type = lib.types.str;
};
syncMusic = lib.mkOption {
description = "Whether to sync music folder.";
default = config.ar.users.aly.syncthing.enable;
type = lib.types.bool;
};
syncROMs = lib.mkOption {
description = "Whether to sync ROMs folder.";
default = false;
type = lib.types.bool;
};
};
};
dustin = mkUser "dustin";
};
}