vm + cleanup

This commit is contained in:
Henri Dohmen 2026-02-06 20:06:09 +01:00
parent 53ecce03bd
commit 17b4945451
Signed by: hd
GPG key ID: AB79213B044674AE
5 changed files with 77 additions and 52 deletions

View file

@ -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 = [

View file

@ -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"}";
});
}