This commit is contained in:
DavHau
2025-07-04 10:35:30 +07:00
parent 546b963f01
commit 67a37a9d2c
4 changed files with 32 additions and 17 deletions

View File

@@ -304,14 +304,14 @@ clan {
### Excluding from Automatic Updates ### Excluding from Automatic Updates
To exclude machines from being updated when running `clan machines update` without any machines specified, To exclude machines from being updated when running `clan machines update` without any machines specified,
one can set the `clan.core.deployment.requireExplicitUpdate` option to true: one can set the `clan.deployment.requireExplicitUpdate` option to true:
```{.nix hl_lines="5" .no-copy} ```{.nix hl_lines="5" .no-copy}
clan { clan {
# ... # ...
machines = { machines = {
"jon" = { "jon" = {
clan.core.deployment.requireExplicitUpdate = true; clan.deployment.requireExplicitUpdate = true;
}; };
}; };
}; };

View File

@@ -84,16 +84,31 @@
use = lib.trace "Obsolete option `${lib.showOption from}' is used. It was renamed to `${lib.showOption to}'."; use = lib.trace "Obsolete option `${lib.showOption from}' is used. It was renamed to `${lib.showOption to}'.";
withPriority = false; withPriority = false;
}) })
(lib.mkRemovedOptionModule [ (lib.mkRenamedOptionModule
"clan" [
"deployment" "clan"
] "Use clan.core.deployment instead") "deployment"
(lib.mkRemovedOptionModule [ ]
"clan" [
"core" "clan"
"networking" "core"
"deploymentAddress" "deployment"
] "Use clan.core.network.targetHost instead") ]
)
(lib.mkRenamedOptionModule
[
"clan"
"core"
"networking"
"deploymentAddress"
]
[
"clan"
"core"
"networking"
"targetHost"
]
)
]; ];
config = lib.optionalAttrs (_class == "nixos") ( config = lib.optionalAttrs (_class == "nixos") (
lib.mkIf config.clan.core.enableRecommendedDefaults { lib.mkIf config.clan.core.enableRecommendedDefaults {

View File

@@ -54,10 +54,10 @@
deployment.nixosMobileWorkaround = lib.mkOption { deployment.nixosMobileWorkaround = lib.mkOption {
type = lib.types.bool; type = lib.types.bool;
description = '' description = ''
if true, the deployment will first do a nixos-rebuild switch if true, the deployment will first do a nixos-rebuild switch
to register the boot profile the command will fail applying it to the running system to register the boot profile the command will fail applying it to the running system
which is why afterwards we execute a nixos-rebuild test to apply which is why afterwards we execute a nixos-rebuild test to apply
the new config without having to reboot. the new config without having to reboot.
This is a nixos-mobile deployment bug and will be removed in the future This is a nixos-mobile deployment bug and will be removed in the future
''; '';
default = false; default = false;
@@ -87,8 +87,8 @@
}; };
sops.defaultGroups = config.clan.core.sops.defaultGroups; sops.defaultGroups = config.clan.core.sops.defaultGroups;
inherit (config.clan.core.networking) targetHost buildHost; inherit (config.clan.core.networking) targetHost buildHost;
inherit (config.clan.core.deployment) requireExplicitUpdate;
inherit (config.system.clan.deployment) nixosMobileWorkaround; inherit (config.system.clan.deployment) nixosMobileWorkaround;
inherit (config.clan.deployment) requireExplicitUpdate;
}; };
}; };
} }

View File

@@ -34,7 +34,7 @@ Examples:
$ clan machines update [MACHINES] $ clan machines update [MACHINES]
Will update the specified machines [MACHINES], if [MACHINES] is omitted, the command Will update the specified machines [MACHINES], if [MACHINES] is omitted, the command
will attempt to update every configured machine. will attempt to update every configured machine.
To exclude machines being updated `clan.core.deployment.requireExplicitUpdate = true;` To exclude machines being updated `clan.deployment.requireExplicitUpdate = true;`
can be set in the machine config. can be set in the machine config.
$ clan machines update --tags [TAGS..] $ clan machines update --tags [TAGS..]