blob: 7a19796a3d0d0623bd6384c13f89fb64f3d608c6 (
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
|
#!/usr/bin/env bash
set -o errexit
if [[ ! -v 1 ]]; then
echo "please supply a name for the new machine"
exit 1
fi
modprobe vfat
modprobe nls_cp437
modprobe nls_iso8859_1
for i in `seq 0 1`; do
dev=/dev/nvme${i}n1
sfdisk $dev << EOF
label: gpt
label-id: 591FD8E0-4CDB-4F4F-A59E-AC8D9D129CF1
device: /dev/nvme0n1
unit: sectors
first-lba: 2048
last-lba: 7501476494
sector-size: 512
/dev/nvme0n1p1 : start= 2048, size= 2097152, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, uuid=5F5806A4-0D71-E84E-80F2-E0C4BDB45368
/dev/nvme0n1p2 : start= 2099200, size= 33554432, type=0657FD6D-A4AB-43C4-84E5-0933C84B4F4F, uuid=F4C86757-DC77-6947-AAB7-7D8D61B72A41
/dev/nvme0n1p3 : start= 35653632, size= 7465822208, type=A19D880F-05FC-4D3B-A006-743F0F84911E, uuid=D3C2B7ED-DED3-354B-880D-018B4D00829F
EOF
sleep 1
mkswap -L swap${i} ${dev}p2
# swapon ${dev}p2
done
mdadm --create --force -n2 -l0 /dev/md0 /dev/nvme0n1p3 /dev/nvme1n1p3
mkfs.xfs -f -L root /dev/md0
mount /dev/md0 /mnt
mkdir -p /mnt/boot
mkfs.fat -F 32 -n boot /dev/nvme0n1p1
mount -o umask=077 /dev/disk/by-label/boot /mnt/boot
mkdir -p inst /mnt/nix /mnt/etc/nixos
cp configuration.nix /mnt/etc/nixos
# Replace host name.
sed -i 's/ networking.hostName = "nixos";/ networking.hostName = "'$1'";/' /mnt/etc/nixos/configuration.nix
cd /mnt
mkdir -p etc dev mnt proc sys
cp /etc/resolv.conf etc
for fn in dev proc sys; do mount --bind "/${fn}" "${fn}"; done
curl -L https://nixos.org/nix/install | sh -s -- --daemon
. $HOME/.nix-profile/etc/profile.d/nix.sh
nix-channel --add https://nixos.org/channels/nixos-24.05 nixpkgs
nix-channel --update
nix-env -f '<nixpkgs>' -iA nixos-install-tools
nixos-install --no-root-password
|