# boot NixOS installer # connect wireless # start terminal passwd sudo passwd sudo systemctl restart sshd # connect remotely via SSH to IP from: ip a s DISK=/dev/disk/by-id/nvme-SAMSUNG_MZVL21T0HCLR-00BL2_S64NNX0T233166 cat /dev/urandom > ${DISK} wipefs ${DISK}; sgdisk -z ${DISK}; sgdisk -og ${DISK} sgdisk --new 1::+1G --typecode=1:EF00 --change-name=1:'boot' ${DISK} sgdisk --new 2::+32G --typecode=2:8200 --change-name=2:'swap' ${DISK} sgdisk --new 3::-0 --typecode=3:BF00 --change-name=3:'rpool' ${DISK} partprobe udevadm settle fdisk -l ${DISK} mkfs.fat -F32 -nboot ${DISK}-part1 mkswap -L swap ${DISK}-part2 swapon /dev/disk/by-label/swap zpool create -o ashift=12 -o autotrim=on -O acltype=posixacl -O compression=on -O dnodesize=auto -O normalization=formD -O encryption=on -O keyformat=passphrase -O keylocation=prompt -O relatime=on -O xattr=sa -O mountpoint=none -O canmount=off -f rpool ${DISK}-part3 zfs create -p -o mountpoint=legacy rpool/local/root zfs snapshot rpool/local/root@blank mount -t zfs rpool/local/root /mnt mkdir /mnt/boot mount /dev/disk/by-label/boot /mnt/boot zfs create -p -o mountpoint=legacy rpool/local/nix mkdir /mnt/nix mount -t zfs rpool/local/nix /mnt/nix zfs create -p -o mountpoint=legacy rpool/user/home/root mkdir /mnt/root mount -t zfs rpool/user/home/root /mnt/root zfs create -p -o mountpoint=legacy rpool/user/home/nipsy mkdir -p /mnt/home/nipsy mount -t zfs rpool/user/home/nipsy /mnt/home/nipsy nixos-generate-config --root /mnt cat /mnt/etc/nixos/configuration.nix cat /mnt/etc/nixos/hardware-configuration.nix # unstable might be directly installable by first doing: # see https://github.com/NixOS/nixpkgs/issues/35362 #nix-channel --add https://nixos.org/channels/nixos-unstable nixos #nix-channel --update #nixos-install --root /mnt nixos-install cd / umount -Rl /mnt zpool export -a reboot # upgrade to unstable nix-channel --add https://nixos.org/channels/nixos-unstable nixos nixos-rebuild switch --upgrade # later upgrades after flakes are enabled cd /etc/nixos && nix flake update && cd && nixos-rebuild switch --upgrade && echo && nixos-rebuild list-generations | cat && echo && nix store diff-closures $(find /nix/var/nix/profiles -iname system-\* -type l | sort | tail -2 | xargs) # clean up all but the two most recent systems nixos-rebuild list-generations | cat rm $(ls /nix/var/nix/profiles/system-*-link -1dtr | head -n -2) nixos-rebuild list-generations | cat nix-store --gc nixos-rebuild boot # deduplicate the store nix store optimise