summary refs log tree commit diff
path: root/pkgs/os-specific/linux/nixos-rebuild
diff options
context:
space:
mode:
authorThiago Kenji Okada <thiagokokada@gmail.com>2022-01-04 18:07:46 -0300
committerThiago Kenji Okada <thiagokokada@gmail.com>2022-01-04 18:31:08 -0300
commitc274d045ac254afe96b1f8139e974ada2c42059e (patch)
tree088fcaddf83341f7935c3437db0b72ee0c323ea1 /pkgs/os-specific/linux/nixos-rebuild
parent2a4f08b00b270897a835b2091408ba5f7090604b (diff)
downloadnixpkgs-c274d045ac254afe96b1f8139e974ada2c42059e.tar
nixpkgs-c274d045ac254afe96b1f8139e974ada2c42059e.tar.gz
nixpkgs-c274d045ac254afe96b1f8139e974ada2c42059e.tar.bz2
nixpkgs-c274d045ac254afe96b1f8139e974ada2c42059e.tar.lz
nixpkgs-c274d045ac254afe96b1f8139e974ada2c42059e.tar.xz
nixpkgs-c274d045ac254afe96b1f8139e974ada2c42059e.tar.zst
nixpkgs-c274d045ac254afe96b1f8139e974ada2c42059e.zip
nixos-rebuild: do not resolve flake path
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.
Diffstat (limited to 'pkgs/os-specific/linux/nixos-rebuild')
-rwxr-xr-xpkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh5
1 files changed, 0 insertions, 5 deletions
diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
index e5e40dca086..1de783a5593 100755
--- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
+++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
@@ -343,11 +343,6 @@ if [[ -n $flake ]]; then
     fi
 fi
 
-# Resolve the flake.
-if [[ -n $flake ]]; then
-    flake=$(nix "${flakeFlags[@]}" flake metadata --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url)
-fi
-
 # Find configuration.nix and open editor instead of building.
 if [ "$action" = edit ]; then
     if [[ -z $flake ]]; then