nixos/hosts
pigeonmoelleux d966a21c4f
Ajout README.md secrets
2024-03-12 18:51:08 +01:00
..
vm Ajout README.md devshells et hosts 2024-03-07 01:29:46 +01:00
README.md Ajout README.md secrets 2024-03-12 18:51:08 +01:00

README.md

Machines

Machines virtuelles

À l'heure actuelle, seules des machines virtuelles tournent sous NixOS au Crans. Celles-ci se situent dans la baie de superviseurs sous Proxmox Sam-Daniel-Jack. La configuration de toutes les VMs se trouve dans le dossier vm. Vous pouvez trouver plus d'information dans vm/README.md.

Comment ajouter une nouvelle machine virtuelle ?

Voici la liste des étapes à suivre pour ajouter une nouvelle machine virtuelle sous NixOS :

  • Créer la machine virtuelle avec Proxmox, et l'inscrire dans le LDAP administration en suivant le guide dans la documentation nounous.

  • Avant de démarrer la machine, écrire la configuration de la machine (sauf le fichier hardware-configuration.nix qui est généré automatiquement). Il faut en particulier écrire la configuration réseau et le bootloader. Vous pouvez vous servir de la configuration minimale de la VM de test two dans le dossier vm/two. La configuration doit être ajoutée à ce dépôt (de préférence sur une branche autre que main le temps de la mise en place de la VM).

  • Vous pouvez maintenant démarrer la VM et commencer la configuration :

    / $ sudo su
    
    / $ loadkeys fr # ou ce que vous voulez
    
    / $ mount /dev/sdX /mnt # monter le disque dur sur /mnt, usuellement sda. Attention, ce disque doit correspondre à celui déclaré dans la variable `boot.loader.grub.devices` dans la configuration de la machine.
    
    # On configure maintenant la configuration réseau
    # Vous n'avez besoin que de configurer le minimum nécessaire pour que la VM ait accès à internet
    
    / $ systemctl stop dhcpd.service
    
    / $ ip addr add 172.16.10.XXX/24 dev [interface] # Faites attention à ce que l'interface réseau soit la bonne
    
    # Ajouter de la même façon les autres interfaces réseaux
    
    / $ ip route add default via XXX.XXX.XXX.XXX # Dépend des interfaces réseau configurées dans Proxmox et le LDAP
    
    / $ echo "nameserver 172.16.10.128" >> /etc/resolv.conf # Ajout du serveur DNS
    
    / $ ping auro.re # Pour tester la configuration réseau
    
    / $ nixos-generate-config --root /mnt
    
    / $ scp /mnt/etc/nixos/hardware-configuration.nix _user@zamok.crans.org:~/hardware-configuration.nix # zamok ou tout autre serveur facile d'accès
    
    # On copie le fichier hardware-configuration.nix par scp car on ne veut pas que root push sur le git.
    
    # Faites ce qu'il faut pour que le fichier hardware-configuration soit ajouté au bon endroit dans le dépôt git.
    
    / $ nix-shell -p git # Ajoute git au shell actuel
    
    / $ cd /mnt/etc
    
    /mnt/etc $ rm -rf nixos
    
    /mnt/etc $ git clone https://gitlab.crans.org/nounous/nixos.git
    
    /mnt/etc $ nixos-install --flake "/mnt/etc/nixos#<VM>"
    
    # Mettez un mot de passe quelconque pour le super utilisateur, il sera remplacé dans tous les cas.
    
    # Vous pouvez maintenant redémarrer la VM et vous ssh dessus en tant que votre _user.