mirror of https://gitlab.crans.org/nounous/nixos
Ajout README.md devshells et hosts
parent
6d533ae593
commit
b6625638c3
|
@ -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`.
|
|
@ -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.
|
||||||
|
```
|
|
@ -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.
|
|
@ -0,0 +1 @@
|
||||||
|
# Modules
|
|
@ -0,0 +1 @@
|
||||||
|
# Secrets
|
Loading…
Reference in New Issue