summary refs log tree commit diff
path: root/pkgs/os-specific/linux/nixos-rebuild
Commit message (Collapse)AuthorAge
* nixos-rebuild: add installer test to passthru.testsProfpatsch2022-03-19
| | | | | | | | When something changes in nixos-rebuild, we must make sure the installers still work, otherwise it might break existing setups. The installer tests check whether nixos-rebuild works, so they are a good lithmus test.
* nixos-rebuild: Print commands as they are run on verbose flagProfpatsch2022-03-19
| | | | | | | | | | | | | | | | | | | | | nixos-rebuild would forward all verbose flags to nix, but not actually increase its own verbosity. Which would make it hard to see what’s going on without resorting to tools like strace or adding `set -x` to the script. We add a simple exec wrapper around the most “interesting” commands, that is nix tool invocations. If any verbosity flag is given, it will set the verbosity flag of the nixos-rebuild script all commands wrapped into `runCmd` will start logging their invocation. This is done via a `logVerbose` function, which can also be used to print logging messages when in verbose mode, to aid debugging why nixos-rebuild does what it does. A few messages are added, but potentially we could log a lot more details. Now, testing all of the changed code paths turns out to be rather hard, so I am unsure how to verify that for all changed commands behaviour stays indeed the same.
* nixos-rebuild: Don't pass `--impure` to realization when building flake ↵Charlotte Van Petegem2022-02-11
| | | | | | remotely and impurely It doesn't work and it's not required for building.
* nixos-rebuild: also forward the long version of -LK9002022-02-08
| | | Mostly for more readability in shell scripts.
* nixos-rebuild: remove jqThiago Kenji Okada2022-01-04
| | | | | Was only used in the code removed in commit c274d045ac254afe96b1f8139e974ada2c42059e.
* nixos-rebuild: do not resolve flake pathThiago Kenji Okada2022-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The removed lines converted the flake path passed by the command line from `/some/path` to `git+file:///some/path`. This technically shouldn't cause any issues, however running `nixos-rebuild switch` inside a directory `/nix/store` will cause the switch to fail and leave a partially construct generation (see issue #144811 for details). By itself this shouldn't be too much of an issue, however thanks to another issue in `systemd-boot-builder.py` this can leave the system in a broken state for those using `boot.loader.systemd-boot` (AFAIK the default), where future `nixos-rebuild switch` will fail (see issue #93694 for details). The issue can be fixed by running `nix-env -p /nix/var/nix/profiles/system --delete-generations old`, however this makes newbies very confused and it is showing in our support threads in Matrix and Discourse (see https://discourse.nixos.org/t/need-help-on-failure-of-building-my-configuration/16842). Keep in mind this is a workaround. The actual issue seems to be in nix itself (see: https://github.com/NixOS/nix/issues/5510). See also #150065 for an alternative fix that caused other issues. Kudos for @figsoda for figuring out this fix.
* Revert "nixos-rebuild: switch to tmpDir during rebuilds"Thiago Kenji Okada2021-12-16
| | | | | | This seems to break `boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages` causing it to use `linuxPackages`.
* nixos-rebuild: switch to tmpDir during rebuildsThiago Kenji Okada2021-12-10
| | | | | This is a workaround for issue #144811 until this issue is either fixed on nix itself.
* Fix some nixos-rebuild lints (#147449)Victor Engmark2021-11-29
|
* nixos-rebuild: fix --install-bootloaderAnund2021-11-17
| | | | | | | | | | | nixos-rebuild relies on setting an environment variable to change behaviour during nixos-rebuild boot/switch between calling update or install via systemd bootctl. Adding sudo -- as a prefix to various exec calls does not preserve the environment breaking this mechanism. This is a some what ugly fix that works. Closes https://github.com/NixOS/nixpkgs/pull/144429
* Merge pull request #126544 from jonringer/nixos-rebuild-use-substitutesTimothy DeHerrera2021-09-09
|\ | | | | nixos-rebuild: add --use-substitutes option
| * nixos-rebuild: add --use-substitutes optionJonathan Ringer2021-06-11
| |
* | Merge pull request #126614 from jonringer/nixos-rebuild-prefer-localhostSandro2021-08-20
|\ \ | | | | | | nixos-rebuild: default buildHost to localhost
| * | nixos-rebuild: default buildHost to localhostJonathan Ringer2021-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to #119540, the toplevel output was built locally then pushed to the remote host when using the command: nixos-rebuild --flake <flake> --target-host remote.host However, buildHost would default to targetHost when only --target-host was supplied. This caused the .drv closure to always be transferred unless --build-host=localhost is supplied. This change restores the previous build local default behavior. TargetHost can still build the outputs, if explicitly mentioned: nixos-rebuild --flake <flake> \ --target-host remote.host \ --build-host remote.host
* | | nixos-rebuild: print run-*-vm location with bootloader (#130385)brprice2021-07-31
| | | | | | | | | | | | | | | Previously when doing a nixos-rebuild build-vm we see a message saying how to run the VM, but with nixos-rebuild build-vm-with-bootloader we did not. We now show it in both cases.
* | | nixos-rebuild: Set inherit_errexitEelco Dolstra2021-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this, failure of nixBuild() and nixFlakeBuild() was ignored (since bash doesn't inherit 'set -e' in subshells by default), so the script would proceed with a bogus ./result link, e.g. ++ readlink -f /tmp/nixos-rebuild.NfHKxx/result + pathToConfig='/nix/store/m7dvk6an18cpr95qn5wnig2600qhv6w7-nix-2.4pre20210727_706777a/bin/nix /tmp/nixos-rebuild.NfHKxx/result' + '[' test = switch -o test = boot ']' + copyToTarget '/nix/store/m7dvk6an18cpr95qn5wnig2600qhv6w7-nix-2.4pre20210727_706777a/bin/nix /tmp/nixos-rebuild.NfHKxx/result' + '[' '' = '' ']' + '[' test = switch -o test = boot -o test = test -o test = dry-activate ']' + targetHostCmd /nix/store/m7dvk6an18cpr95qn5wnig2600qhv6w7-nix-2.4pre20210727_706777a/bin/nix /tmp/nixos-rebuild.NfHKxx/result/bin/switch-to-configuration test + '[' -z '' ']' + sudo -- /nix/store/m7dvk6an18cpr95qn5wnig2600qhv6w7-nix-2.4pre20210727_706777a/bin/nix /tmp/nixos-rebuild.NfHKxx/result/bin/switch-to-configuration test error: '/tmp/nixos-rebuild.NfHKxx/result/bin/switch-to-configuration' is not a recognised command Try '/nix/store/m7dvk6an18cpr95qn5wnig2600qhv6w7-nix-2.4pre20210727_706777a/bin/nix --help' for more information. + echo 'warning: error(s) occurred while switching to the new configuration' warning: error(s) occurred while switching to the new configuration
* | | nixos-rebuild: fix --use-remote-sudornhmjoj2021-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently fails with: $ nixos-rebuild test --target-host myhost --use-remote-sudo building Nix... sudo: /run/current-system/sw/bin/sudo must be owned by uid 0 and have the setuid bit set It seems setting an explicit PATH in the ssh command overrides the remote setuid wrappers.
* | | nixos-rebuild: fix creating ./result symlink for flakesSamuel Gräfenstein2021-06-15
| |/ |/|
* | nixos-rebuild: fix extraBuildFlags usage with flakesJonathan Ringer2021-06-11
| |
* | nixos-rebuild: remove unused variable: remotePATHJonathan Ringer2021-06-11
| |
* | nixos-rebuild: prevent wordsplittingJonathan Ringer2021-06-11
| |
* | nixos-rebuild: prevent masking return value with declarationJonathan Ringer2021-06-11
| |
* | nixos-rebuild: remove repair, never usedJonathan Ringer2021-06-11
|/
* nixos-rebuild: Pass flakes flags when doing local flakes buildChuck2021-06-10
|
* nixos-rebuild --fast: Don't imply --show-traceEelco Dolstra2021-06-03
| | | | | | | There is no logical reason for --fast to imply --show-trace, and this seems to be a historical accident. Using --show-trace by default is bad UX since it can give very long error messages (e.g. 550 lines for a non-existent attribute in environment.systemPackages).
* Merge pull request #122987 from alyssais/nixos-rebuild-aarch64Robert Hensing2021-05-16
|\ | | | | nixos-rebuild: support prebuilt Nix on aarch64
| * nixos-rebuild: support prebuilt Nix on aarch64Alyssa Ross2021-05-14
| | | | | | | | | | We have a fallback hashes entry for aarch64-linux, but it was unused by nixos-rebuild.
* | nixos-rebuild: Don’t reset the experimental featuresThéophane Hufschmitt2021-05-16
|/ | | | | Make sure that the Nix `experimental-features` set by a user aren’t overwritten when running `nixos-rebuild --flake` by using `--extra-experimental-features` rather than `--experimental-features`. Fix https://github.com/NixOS/nix/issues/4784
* nixos-rebuild: Use old-style nix command when building flake on a remote hostCharlotte Van Petegem2021-04-16
|
* nixos-rebuild: Allow remote building when using flakesCharlotte Van Petegem2021-04-16
|
* nixos-rebuild: nix flake info -> nix flake metadataCole Helbling2021-03-18
| | | | | | | As of https://github.com/NixOS/nix/commit/66fa1c7375e4b3073a16df4678cf1d37446ed20b, the `nix flake info` and `nix flake list-inputs` commands were merged into `nix flake metadata`.
* Merge pull request #108879 from kreisys/nixos-rebuild-no-systemctlJörg Thalheim2021-03-07
|\ | | | | nixos-rebuild: Remove ambient systemctl dependency
| * Remove unnecessary check that uses systemctlShay Bergmann2021-02-02
| | | | | | | | | | | | | | | | The use of systemctl makes this incompatible with darwin even though building/deploying a nixos closure from darwin is a perfectly valid use case. NIX_DAEMON is pretty much unnecessary nowadays as nix uses other indicators for deciding whether to use the daemon or not.
* | nixos-rebuild: use remote $PATH in buildHostCmdfricklerhandwerk2021-02-10
| | | | | | | | | | | | | | | | | | | | | | | | this fixes the issue when using nixos-rebuild switch --target-host <target> --use-remote-sudo when the local machine does not have anything in `$PATH` that would resolve to `sudo` on the remote machine. the single quotes prevent expansion of `$PATH` on the local machine, such that the remote machine's value of that variable is used.
* | --no-net is now --offlineDomen Kožar2021-02-05
|/
* nixos-rebuild: put some important dependencies in PATHDominik Xaver Hörl2021-01-16
|
* move nixos-rebuild into pkgsDomen Kožar2021-01-15