summary refs log tree commit diff
path: root/nixos/lib
diff options
context:
space:
mode:
authorChristian Kögler <christian.koegler@esg.de>2019-09-29 19:57:19 +0200
committerChristian Kögler <christian.koegler@esg.de>2019-09-29 19:57:19 +0200
commite9bf955fd6d5ffda218878ba561c93c6a28dfe8e (patch)
tree7d3c20a1be0b38d899ca4f33bc42f6a36a4b4986 /nixos/lib
parent66967ec7521d065f605795d64ddbbbd4fcd448c3 (diff)
downloadnixpkgs-e9bf955fd6d5ffda218878ba561c93c6a28dfe8e.tar
nixpkgs-e9bf955fd6d5ffda218878ba561c93c6a28dfe8e.tar.gz
nixpkgs-e9bf955fd6d5ffda218878ba561c93c6a28dfe8e.tar.bz2
nixpkgs-e9bf955fd6d5ffda218878ba561c93c6a28dfe8e.tar.lz
nixpkgs-e9bf955fd6d5ffda218878ba561c93c6a28dfe8e.tar.xz
nixpkgs-e9bf955fd6d5ffda218878ba561c93c6a28dfe8e.tar.zst
nixpkgs-e9bf955fd6d5ffda218878ba561c93c6a28dfe8e.zip
make-disk-image: replace nixos-install by nix-env calls
nixos-install can only be called from a machine
Diffstat (limited to 'nixos/lib')
-rw-r--r--nixos/lib/make-disk-image.nix14
1 files changed, 11 insertions, 3 deletions
diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix
index 5e86ea479d5..de4aacf2319 100644
--- a/nixos/lib/make-disk-image.nix
+++ b/nixos/lib/make-disk-image.nix
@@ -180,9 +180,17 @@ let format' = format; in let
     export NIX_STATE_DIR=$TMPDIR/state
     nix-store --load-db < ${closureInfo}/registration
 
-    echo "running nixos-install..."
-    nixos-install --root $root --no-bootloader --no-root-passwd \
-      --system ${config.system.build.toplevel} --channel ${channelSources} --substituters ""
+    mkdir -m 0755 -p "$root/etc"
+    touch "$root/etc/NIXOS"
+
+    echo "copying system..."
+    nix-env --store "$root" --substituters "auto?trusted=1" \
+        -p "$root/nix/var/nix/profiles/system" --set "${config.system.build.toplevel}" --quiet
+
+    echo "copying channel..."
+    mkdir -p "$root/nix/var/nix/profiles/per-user/root"
+    nix-env --store "$root" --substituters "auto?trusted=1" \
+        -p "$root/nix/var/nix/profiles/per-user/root/channels" --set "${channelSources}" --quiet
 
     echo "copying staging root to image..."
     cptofs -p ${optionalString (partitionTableType != "none") "-P ${rootPartition}"} -t ${fsType} -i $diskImage $root/* /