Ajout commandes utiles

cephiroth
pigeonmoelleux 2024-03-06 15:27:13 +01:00
parent 9150a0feb7
commit 6d533ae593
No known key found for this signature in database
GPG Key ID: B3BE02E379E6E8E2
1 changed files with 74 additions and 0 deletions

View File

@ -17,6 +17,11 @@ Les fichiers `README.md` des différents dossiers devraient indiquer assez préc
3. [Machines](#machines)
4. [Modules](#modules)
5. [Devshells](#devshells)
3. [Commandes utiles](#commandes-utiles)
1. [Commandes pour les flakes](#commandes-pour-les-flakes)
2. [Commandes pour NixOS](#commandes-pour-nixos)
3. [Commandes pour les devshells](#commandes-pour-les-devshells)
4. [Commandes pour le Nix Store](#commandes-pour-le-nix-store)
## Nix et NixOS
@ -75,3 +80,72 @@ Le dossier [`modules`](modules) contient l'ensemble des options qui peuvent êtr
### Devshells
Le dossier [`devshells`](devshells) contient des environnements de travails pouvant être utilisés par tout utilisateur. Ceux-ci permettent d'ajouter temporairement des paquets à l'environnement de travail (dont le shell bash ou équivalent), permettant ainsi d'avoir facilement (voir [la partie sur les commandes liées aux devshells](TODO)) tous les outils nécessaires au développement/débuggage. Vous pouvez voir plus de détails dans [`devshells/README.md`](devshells/README.md).
## Commandes utiles
Pour toutes les commandes présentées, on débutera la ligne de commande par `$` si tout utilisateur peut l'exécuter, et `#` s'il faut les droits super-utilisateur.
### Commandes pour les flakes
- Vérification de la validité de la flake
```bash
$ nix flake check [path]
```
- Mise à jour d'une dépendance dans la flake (mettra à jour le lockfile)
```bash
$ nix flake lock --update-input [input name]
```
- Mise à jour de toutes les dépendances de la flake (mettra à jour le lockfile)
```bash
$ nix flake update
```
### Commandes pour NixOS
- Regénération de la configuration **sans modifier la configuration**, utile pour tester une configuration
```bash
$ nixos-rebuild dry-build
```
- Regénération de la configuration **en remplaçant la configuration courante** (ne fera rien si la configuration contient des erreurs)
```
# nixos-rebuild switch
```
### Commandes pour les devshells
- Utilisation d'un devshell
```bash
$ nix develop [url]
```
Par exemple, pour utiliser le devshell par défaut et que cette configuration est située dans `/etc/nixos`, la commande pourra être : `nix develop /etc/nixos#default`. Vous pouvez par ailleurs omettre `#default`, et sans dossier indiqué le dossier courant sera utilisé, on peut donc écrire `nix develop` pour utiliser le devshell par défaut si le dossier courant est `/etc/nixos`.
### Commandes pour le Nix Store
- Supprimer toutes les entrées du Nix Store non utilisées
```bash
$ nix-store --gc # "gc" pour garbage collect
```
- Supprimer toutes les objets non atteignables dans le Nix Store
```
# nix-collect-garbage
```
- Optimiser les liens symboliques dans le Nix Store (permet de gagner de l'espace de stockage)
```bash
$ nix-store --optimise
```