Ajout README.md devshells et hosts

cephiroth
pigeonmoelleux 2024-03-07 01:29:46 +01:00
parent 6d533ae593
commit b6625638c3
No known key found for this signature in database
GPG Key ID: B3BE02E379E6E8E2
5 changed files with 90 additions and 0 deletions

View File

@ -0,0 +1,13 @@
# Devshells
## Nix
À l'heure actuelle, le devshell `nix` est le seul disponible : celui-ci est dans le fichier [`default.nix`](default.nix). Il contient tout ce qui est nécessaire à la bonne utilisation du langage `nix` pour le développement de cette configuration, à savoir :
- `nil` : un serveur [LSP](https://en.wikipedia.org/wiki/Language_Server_Protocol) pour `nix`
- `nixpkgs-fmt` : un formatter pour `nix`
- `sops` : un paquet permettant de gérer les secrets pour la configuration. Vous pouvez voir [`../secrets/README.md`](../secrets/README.md) pour plus de détails.
En étant à la racine de la configuration, vous pouvez utiliser ce devshell par la commande `nix develop`.

View File

@ -0,0 +1,60 @@
# 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`](vm). Vous pouvez trouver plus d'information dans [`vm/README.md`](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](https://gitlab.crans.org/nounous/documentation).
- **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`](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 :
```bash
/ $ 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 utilisateur _user.
```

15
hosts/vm/README.md 100644
View File

@ -0,0 +1,15 @@
# Machines virtuelles
Voici la liste des machines virtuelles sur NixOS ainsi que leur utilisation (par ordre alphabétique).
## neo
Serveur Matrix (encore non déployé).
## redite
Serveur libreddit, accessible à https://redite.crans.org.
## two
Serveur NixOS de test. Vous pouvez vous en servir comme base pour la configuration d'une nouvelle machine.

View File

@ -0,0 +1 @@
# Modules

View File

@ -0,0 +1 @@
# Secrets