# NixOS

# Commandes de base

### Mettre à jour le système

```bash
sudo nixos-rebuild switch --upgrade
```

### Modifier la configuration système

```bash
sudo nano /etc/nixos/configuration.nix
```

On déclares ici les services, utilisateurs, logiciels, etc.

### Recompiler la config (sans mise à jour)

```bash
sudo nixos-rebuild switch
```

### Autres variantes :

```bash
sudo nixos-rebuild dry-run # Compile pour vérifier la syntaxe et montrer les modif mais n'applique rien
sudo nixos-rebuild boot    # Prépare pour le prochain redémarrage seulement
sudo nixos-rebuild test    # Applique temporairement (revert si reboot)
```

### Rollback (revenir à une config précédente)

```bash
sudo nixos-rebuild rollback
```

# Les bases de configuration.nix

### Ressource utile

[https://search.nixos.org/](https://search.nixos.org/)

Le fichier se trouve à

```bash
/etc/nixos/configuration.nix
```

### Installer un ou des paquet(s)

```
environment.systemPackages = with pkgs; [
  git
  htop
  firefox
];
```