vm + cleanup
This commit is contained in:
parent
53ecce03bd
commit
17b4945451
5 changed files with 77 additions and 52 deletions
|
|
@ -6,6 +6,15 @@
|
|||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
mkCommonOption =
|
||||
name:
|
||||
mkOption {
|
||||
type = types.bool;
|
||||
default = config.hd.common.enable;
|
||||
description = "Enables" ++ name;
|
||||
};
|
||||
in
|
||||
{
|
||||
options.hd.common.enable = mkOption {
|
||||
type = types.bool;
|
||||
|
|
@ -14,45 +23,12 @@ with lib;
|
|||
};
|
||||
|
||||
options.hd.common = {
|
||||
locale = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = config.hd.common.enable;
|
||||
description = "Enable locale settings";
|
||||
};
|
||||
};
|
||||
|
||||
nix = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = config.hd.common.enable;
|
||||
description = "Enable Nix-related configuration";
|
||||
};
|
||||
};
|
||||
|
||||
security = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = config.hd.common.enable;
|
||||
description = "Enable security-related configuration";
|
||||
};
|
||||
};
|
||||
|
||||
shell = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = config.hd.common.enable;
|
||||
description = "Enable basic shell utilities";
|
||||
};
|
||||
};
|
||||
|
||||
users = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = config.hd.common.enable;
|
||||
description = "Enable default user accounts";
|
||||
};
|
||||
};
|
||||
locale.enable = mkCommonOption "locale settings";
|
||||
nix.enable = mkCommonOption "nix settings";
|
||||
security.enable = mkCommonOption "security settings";
|
||||
shell.enable = mkCommonOption "shell utilities";
|
||||
users.enable = mkCommonOption "default users";
|
||||
secrets.enable = mkCommonOption "agenix secrets";
|
||||
};
|
||||
|
||||
imports = [
|
||||
|
|
|
|||
|
|
@ -55,16 +55,12 @@ in
|
|||
group = config.services.syncthing.group;
|
||||
};
|
||||
|
||||
services.syncthing = lib.mkIf cfg.enable (
|
||||
assert lib.assertMsg (builtins.elem this var.syncthing.device-names.all)
|
||||
"${this} is not in devices in mod/syncthing.nix";
|
||||
{
|
||||
settings = {
|
||||
inherit folders;
|
||||
devices = var.syncthing.devices;
|
||||
};
|
||||
key = lib.optionalAttrs is-managed config.age.secrets.syncthing-key.path;
|
||||
cert = lib.optionalAttrs is-managed "${../pki/syncthing + "/${this}.cert"}";
|
||||
}
|
||||
);
|
||||
services.syncthing = lib.mkIf cfg.enable ({
|
||||
settings = {
|
||||
inherit folders;
|
||||
devices = var.syncthing.devices;
|
||||
};
|
||||
key = lib.optionalAttrs is-managed config.age.secrets.syncthing-key.path;
|
||||
cert = lib.optionalAttrs is-managed "${../pki/syncthing + "/${this}.cert"}";
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue