3.2 KiB
Procédure d'installation du poste d2nix
Le poste dispose d'un EFI, le disque sera chiffré
partitionnement
gdisk /dev/sda
o
creation d'une nouvelle table de partitionsn
ajouter une partition de 500M de type ef00 pour l'EFIn
ajouter une partition avec le reste de l'espace disponible, type 8300w
on valide la table et on sort
Chiffrement
cryptsetup luksFormat /dev/sda2 # création d'un volume chiffré
cryptsetup luksOpen /dev/sda2 enc-pv # ouverture du volume chiffré sur le point /dev/mapper/enc-vp
Partitionnement LVM
Création de deux volumes logiques LVM. Le premier de 8Go pour la swap (j'ai 8Go de RAM) et le second pour la racine
pvcreate /dev/mapper/enc-pv
vgcreate vg /dev/mapper/enc-pv
lvcreate -L 8G -n swap vg
lvcreate -l '100%FREE' -n root vg
formattage
mkfs.fat /dev/sda1
mkfs.ext4 -L root /dev/vg/root
mkswap -L swap /dev/vg/swap
Pré-installation
mount /dev/vg/root /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
swapon /dev/vg/swap
Installation
nixos-generate-config --root /mnt
A partir de là le système peut-être installé. Perso, je reprends une conf dans mon git que je modifie :
nix-shell -p git
git clone https://git.atlanticaweb.fr/alexandre/nixos-config.git
Dans un premier temps je copie le répertoire nixos-config/modules
dans /mnt/etc/nixos
et je récupère un configuration.nix que je vais adapter.
Enfin dans le hardware.nix, il faut ajouter le volume /boot pour qu'il soit dans le fstab puis ajouter le chargement dans l'initrd du LVM et du déchiffrement. ça nous donne :
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/0BEC-722D";
fsType = "vfat";
};
boot.initrd.luks.devices = {
"partitions" = {
device = "/dev/sda2";
preLVM = true;
};
};
On peut démarrer l'installation avec :
nixos-install
reboot
En cas d'erreur au reboot, on redémarre sur la clé. POur accéder à la configuration :
cryptsetup luksOpen /dev/sda2 enc-pv
lvchange -a y /dev/vg/swap
lvchange -a y /dev/vg/root
mount /dev/vg/root /mnt
mount /dev/sda1 /mnt/boot
swapon /dev/vg/swap
cp /mnt/etc/wpa_supplicant.conf /etc
Au reboot, je me connecte en root et je change le password de mon user.
Configuration utilisateur
home-manager
J'ai opté pour une installation locale à mon utilisateur de home-manager ajouter le dépot correspondant à la version en cours de nixpkgs :
nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager
mise à jour de la base
nix-channel --update
Installation
nix-shell '<home-manager>' -A install
En cas de message d'erreur, il faut rebooter (c'est ce que j'ai fais).
Pour avoir mon dossier home-manager dans le depot git :
ln -s /home/alexandre/git/nixos-config/d2nix/home-manager/ ~/.config/
J'ai également ajouté home-manager dans la liste des paquets à installer pour péréniser.
Post-installation
Il faut supprimer le dossier /etc/nixos/
et à la place :
ln -s /home/alexandre/git/nixos-config/d2nix/nixos/ /etc/nixos
Lien : https://gist.github.com/martijnvermaat/76f2e24d0239470dd71050358b4d5134