summary refs log tree commit diff
path: root/nixos/modules/installer/tools/nixos-rebuild.sh
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2020-02-07 15:26:12 +0100
committerEelco Dolstra <edolstra@gmail.com>2020-02-10 15:45:03 +0100
commit4089dbf090eb3cd2a2286e496c3f7491ae27f6f7 (patch)
treeebbf580eeebf3b31a0d151e6f5555b0dbc2e0b4c /nixos/modules/installer/tools/nixos-rebuild.sh
parentc08930874a37d5dea5985498d4ff6dec7e9069cc (diff)
downloadnixpkgs-4089dbf090eb3cd2a2286e496c3f7491ae27f6f7.tar
nixpkgs-4089dbf090eb3cd2a2286e496c3f7491ae27f6f7.tar.gz
nixpkgs-4089dbf090eb3cd2a2286e496c3f7491ae27f6f7.tar.bz2
nixpkgs-4089dbf090eb3cd2a2286e496c3f7491ae27f6f7.tar.lz
nixpkgs-4089dbf090eb3cd2a2286e496c3f7491ae27f6f7.tar.xz
nixpkgs-4089dbf090eb3cd2a2286e496c3f7491ae27f6f7.tar.zst
nixpkgs-4089dbf090eb3cd2a2286e496c3f7491ae27f6f7.zip
nixos-rebuild: Make 'edit' work with with flakes
Diffstat (limited to 'nixos/modules/installer/tools/nixos-rebuild.sh')
-rw-r--r--nixos/modules/installer/tools/nixos-rebuild.sh9
1 files changed, 6 insertions, 3 deletions
diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh
index 88c5cb4a443..cc86fa25b60 100644
--- a/nixos/modules/installer/tools/nixos-rebuild.sh
+++ b/nixos/modules/installer/tools/nixos-rebuild.sh
@@ -285,10 +285,13 @@ if [[ -n $flake ]]; then
 fi
 
 # Find configuration.nix and open editor instead of building.
-# FIXME: handle flakes
 if [ "$action" = edit ]; then
-    NIXOS_CONFIG=${NIXOS_CONFIG:-$(nix-instantiate --find-file nixos-config)}
-    exec "${EDITOR:-nano}" "$NIXOS_CONFIG"
+    if [[ -z $flake ]]; then
+        NIXOS_CONFIG=${NIXOS_CONFIG:-$(nix-instantiate --find-file nixos-config)}
+        exec "${EDITOR:-nano}" "$NIXOS_CONFIG"
+    else
+        exec nix edit "${lockFlags[@]}" -- "$flake#$flakeAttr"
+    fi
     exit 1
 fi