Bruno BELANYI
5d3160fb0d
OVH/Kimsufi are deprecating my current server by the end of the year. So let's migrate to a new host. This was more painful than initially planned, OVH introduced a change to their rescue system which messes with the NixOS installation [1]. In the end I used a kexec image [2] to run the installation. [1]: https://github.com/NixOS/nix/issues/7790 [2]: https://github.com/nix-community/nixos-images
70 lines
1.7 KiB
Bash
70 lines
1.7 KiB
Bash
#!/bin/sh
|
|
|
|
SWAP_SIZE=16GiB
|
|
|
|
parted /dev/sda --script -- \
|
|
mklabel gpt \
|
|
mkpart primary 512MiB -$SWAP_SIZE \
|
|
mkpart primary linux-swap -$SWAP_SIZE 100% \
|
|
mkpart ESP fat32 1MiB 512MiB \
|
|
set 3 esp on
|
|
|
|
parted /dev/sdb --script -- \
|
|
mklabel gpt \
|
|
mkpart primary 0% 100%
|
|
parted /dev/sdc --script -- \
|
|
mklabel gpt \
|
|
mkpart primary 0% 100%
|
|
parted /dev/sdd --script -- \
|
|
mklabel gpt \
|
|
mkpart primary 0% 100%
|
|
|
|
mkfs.ext4 -L media1 /dev/sda1
|
|
mkfs.ext4 -L media2 /dev/sdb1
|
|
mkfs.ext4 -L media3 /dev/sdc1
|
|
mkfs.ext4 -L media4 /dev/sdd1
|
|
|
|
pvcreate /dev/sda1
|
|
pvcreate /dev/sdb1
|
|
pvcreate /dev/sdc1
|
|
pvcreate /dev/sdd1
|
|
vgcreate lvm /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
|
|
lvcreate -l 100%FREE -n media lvm
|
|
|
|
mkfs.ext4 -L nixos /dev/mapper/lvm-media
|
|
mkswap -L swap /dev/sda2
|
|
mkfs.fat -F 32 -n boot /dev/sda3
|
|
|
|
mount /dev/disk/by-label/nixos /mnt
|
|
swapon /dev/sda2
|
|
mkdir -p /mnt/boot
|
|
mount /dev/disk/by-label/boot /mnt/boot
|
|
|
|
apt install sudo
|
|
useradd -m -G sudo setupuser
|
|
|
|
cat << EOF
|
|
# Run the following commands as setup user
|
|
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
|
|
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
|
|
nix profile install nixpkgs#nixos-install-tools
|
|
sudo "$(which nixos-generate-config)" --root /mnt
|
|
|
|
# Change uuids to labels
|
|
vim /mnt/etc/nixos/hardware-configuration.nix
|
|
|
|
# Install system
|
|
mkdir -p /mnt/home/ambroisie/git/nix/config
|
|
cd /mnt/home/ambroisie/git/nix/config
|
|
|
|
nix-env -iA nixos.git nixos.nix nixos.git-crypt
|
|
git clone <this-repo> .
|
|
# Assuming you set up GPG key correctly
|
|
git crypt unlock
|
|
|
|
nixos-install --root /mnt --flake '.#<hostname>'
|
|
EOF
|
|
|
|
# shellcheck disable=2117
|
|
su setupuser
|