Expand tmpfs and enable zram swap before disko to fix out-of-space errors
This commit is contained in:
24
flake.nix
24
flake.nix
@@ -189,24 +189,32 @@
|
|||||||
if grep -q "tmpfs /nix/.rw-store" /proc/mounts 2>/dev/null; then
|
if grep -q "tmpfs /nix/.rw-store" /proc/mounts 2>/dev/null; then
|
||||||
echo "ISO environment detected - running full install for: $HOSTNAME"
|
echo "ISO environment detected - running full install for: $HOSTNAME"
|
||||||
|
|
||||||
# Step 1: Partition and format disk
|
# Step 1: Expand tmpfs and set up zram swap BEFORE downloading anything
|
||||||
echo "--- Step 1/4: Running disko ---"
|
echo "--- Step 1/4: Expanding tmpfs and enabling zram swap ---"
|
||||||
|
sudo mount -o remount,size=4G /nix/.rw-store
|
||||||
|
if sudo modprobe zram 2>/dev/null; then
|
||||||
|
echo 2G | sudo tee /sys/block/zram0/disksize > /dev/null
|
||||||
|
sudo mkswap /dev/zram0
|
||||||
|
sudo swapon /dev/zram0
|
||||||
|
echo "zram swap enabled"
|
||||||
|
else
|
||||||
|
echo "zram not available, continuing without it"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Step 2: Partition and format disk
|
||||||
|
echo "--- Step 2/4: Running disko ---"
|
||||||
sudo nix --extra-experimental-features "nix-command flakes" run \
|
sudo nix --extra-experimental-features "nix-command flakes" run \
|
||||||
github:nix-community/disko/latest -- \
|
github:nix-community/disko/latest -- \
|
||||||
--mode destroy,format,mount \
|
--mode destroy,format,mount \
|
||||||
--flake "$FLAKE_DIR#$HOSTNAME"
|
--flake "$FLAKE_DIR#$HOSTNAME"
|
||||||
|
|
||||||
# Step 2: Create swap file on installed root to relieve RAM pressure
|
# Step 3: Create swap file on installed root for nixos-install
|
||||||
echo "--- Step 2/4: Creating 2GB swap file ---"
|
echo "--- Step 3/4: Creating 2GB swap file on target disk ---"
|
||||||
sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=2048 status=progress
|
sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=2048 status=progress
|
||||||
sudo chmod 600 /mnt/swapfile
|
sudo chmod 600 /mnt/swapfile
|
||||||
sudo mkswap /mnt/swapfile
|
sudo mkswap /mnt/swapfile
|
||||||
sudo swapon /mnt/swapfile
|
sudo swapon /mnt/swapfile
|
||||||
|
|
||||||
# Step 3: Expand /nix/.rw-store tmpfs (default is too small for install)
|
|
||||||
echo "--- Step 3/4: Expanding /nix/.rw-store to 3G ---"
|
|
||||||
sudo mount -o remount,size=3G /nix/.rw-store
|
|
||||||
|
|
||||||
# Step 4: Install NixOS
|
# Step 4: Install NixOS
|
||||||
echo "--- Step 4/4: Running nixos-install ---"
|
echo "--- Step 4/4: Running nixos-install ---"
|
||||||
sudo nixos-install --flake "$FLAKE_DIR#$HOSTNAME"
|
sudo nixos-install --flake "$FLAKE_DIR#$HOSTNAME"
|
||||||
|
|||||||
Reference in New Issue
Block a user