diff --git a/README.md b/README.md index bd6d2d2..59f7dd8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,62 @@ # dotfiles My dotfiles for NixOs, using home-manager. + +## Installation depuis un NixOS vierge + +### 1. Installer NixOS + +1. Télécharger l'ISO **graphique** sur https://nixos.org/download/ et la copier sur une clé bootable (Ventoy, ou `dd`). +2. Démarrer sur la clé et lancer l'installateur Calamares : + - clavier : **Français – Bépo** ; + - bureau : **No desktop** (i3 sera installé par les dotfiles) ; + - utilisateur : **`pierre`** (le chemin `/home/pierre/dotfiles` est codé en dur dans `nixos/configuration.nix`). +3. Redémarrer sur le système installé et se connecter en console. + +### 2. Récupérer les dotfiles + +```bash +nix-shell -p git openssh +ssh-keygen -t ed25519 # puis ajouter la clé publique sur git.sans.pub +git clone git@git.sans.pub:pierre/dotfiles.git ~/dotfiles +``` + +### 3. Ajouter le canal home-manager + +`nixos/configuration.nix` importe ``. Utiliser la branche correspondant à la version de NixOS installée (`nixos-version`) : + +```bash +sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-26.05.tar.gz home-manager +sudo nix-channel --update +``` + +### 4. Adapter la config à la machine + +- **`nixos/hardware-configuration.nix`** : le remplacer par celui généré par l'installateur. + ```bash + cp /etc/nixos/hardware-configuration.nix ~/dotfiles/nixos/ + ``` +- **`nixos/configuration.nix`** : + - `boot.loader.efi.efiSysMountPoint` doit correspondre au point de montage EFI du nouveau `hardware-configuration.nix` (`/boot` sur une installation récente, `/boot/efi` sur l'ancienne) ; + - `system.stateVersion` : reprendre la valeur de `/etc/nixos/configuration.nix` (ne pas la changer ensuite) ; + - `networking.hostName` si besoin. +- **`nixos/framework.nix`** : retirer son import si la machine n'est pas un Framework Laptop. +- **`programs/i3.nix`** : la barre (`vmux`) et le fond d'écran pointent vers des fichiers de `~/Code` et `~/Documents`, à restaurer ou à commenter. + +### 5. Appliquer + +```bash +sudo mv /etc/nixos/configuration.nix /etc/nixos/configuration.nix.orig +sudo ln -s ~/dotfiles/nixos/configuration.nix /etc/nixos/configuration.nix +sudo nixos-rebuild switch # ou `make apply` +``` + +Redémarrer : la session i3 se lance au login. + +## Utilisation au quotidien + +```bash +make apply # appliquer les changements +make update # mettre à jour NixOS + home-manager, puis garbage collect +make fmt lint # formater et linter +```