blob: 49ae434b269045ce24805ceae9a58a85c62e1439 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# 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 <configuration.nix >/mnt/etc/nixos/configuration.nix
cat <hardware-configuration.nix >/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 && res=$(find /nix/var/nix/profiles -iname system-\* -type l | sort | tail -2); if [[ $(echo -E "${res}" | wc -l) -eq 2 ]]; then echo "+ diff between $(echo -E "${res}" | xargs)\n"; nix store diff-closures $(echo -E "${res}" | xargs); fi
# 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
|