From cc4de1aa3ad39c480e111113aec48da2e7c24e8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20M=C3=B6ller?= Date: Fri, 13 Jan 2023 10:16:46 +0100 Subject: [PATCH] nixos-rebuild: Allow local builds when --target-host is used again This is a followup of #148921, to allow local builds when `--target-host` is used again. It also documents the change in behavior, regarding the specialty of the `localhost` value. By removing the special handling of an empty `buildHost` and non empty `targetHost`, this change also slightly alters the behavior of `nixos-rebuild`. Originally by specifying `--target-host target --build-host ""`, the now removed special case would transform those arguments to `--target-host target --build-host target`. Now the empty `--build-host` would result in a local build. --- .../doc/manual/from_md/release-notes/rl-2305.section.xml | 9 +++++++++ nixos/doc/manual/man-nixos-rebuild.xml | 6 +++--- nixos/doc/manual/release-notes/rl-2305.section.md | 2 ++ pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh | 4 ---- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml index 242841a56b6..7a8c7b10596 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml @@ -256,6 +256,15 @@ been changed to null. + + + The --target-host and + --build-host options of + nixos-rebuild no longer treat the + localhost value specially – to build + on/deploy to local machine, omit the relevant flag. + + The nix.readOnlyStore option has been diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml index cab871661a7..1b55d07c950 100644 --- a/nixos/doc/manual/man-nixos-rebuild.xml +++ b/nixos/doc/manual/man-nixos-rebuild.xml @@ -532,15 +532,15 @@ Specifies the NixOS target host. By setting this to something other than - localhost, the system activation will happen + an empty string, the system activation will happen on the remote host instead of the local machine. The remote host needs to be accessible over ssh, and for the commands , and you need root access. - If is not explicitly specified, building - will take place locally. + If is not explicitly specified or empty, + building will take place locally. diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md index b5c74836ef4..f6c71cc3da0 100644 --- a/nixos/doc/manual/release-notes/rl-2305.section.md +++ b/nixos/doc/manual/release-notes/rl-2305.section.md @@ -67,6 +67,8 @@ In addition to numerous new and upgraded packages, this release has the followin - In `mastodon` it is now necessary to specify location of file with `PostgreSQL` database password. In `services.mastodon.database.passwordFile` parameter default value `/var/lib/mastodon/secrets/db-password` has been changed to `null`. +- The `--target-host` and `--build-host` options of `nixos-rebuild` no longer treat the `localhost` value specially – to build on/deploy to local machine, omit the relevant flag. + - The `nix.readOnlyStore` option has been renamed to `boot.readOnlyNixStore` to clarify that it configures the NixOS boot process, not the Nix daemon. ## Other Notable Changes {#sec-release-23.05-notable-changes} diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh index 217e04d3572..ed7c9231905 100755 --- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh +++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh @@ -148,10 +148,6 @@ if [[ -n "$SUDO_USER" || -n $remoteSudo ]]; then maybeSudo=(sudo --preserve-env="$preservedSudoVars" --) fi -if [[ -z "$buildHost" && -n "$targetHost" ]]; then - buildHost="$targetHost" -fi - # log the given argument to stderr if verbose mode is on logVerbose() { if [ -n "$verboseScript" ]; then