Dépôt de configuration NixOS personnel
Find a file
afoucaultc ebe4917334 gtk ?
2026-07-05 17:04:43 +02:00
dotfiles gtk ? 2026-07-05 17:04:43 +02:00
home/afoucaultc gtk ? 2026-07-05 17:04:43 +02:00
hosts some changes on stylix 2026-07-05 16:52:50 +02:00
flake.lock neovim fix dotfiles 2026-07-05 09:57:48 +02:00
flake.nix some changes on stylix 2026-07-05 16:52:50 +02:00
install.sh some changes on stylix 2026-07-05 16:52:50 +02:00
README.md clean folders 2026-07-04 08:43:57 +02:00
rebuild.sh some changes on stylix 2026-07-05 16:52:50 +02:00
update.sh some changes on stylix 2026-07-05 16:52:50 +02:00

How to use

Structure :

~/nixos-config/
├── flake.nix   # pour fixer la source/version des packages utilisés# permet de fixer la source/version des packages utilisés
├── flake.lock
├── hosts/
│   # configuration système
│   ├── nixos-home/
│   │   # mon host de la maison
│   │   └── nixos/
│   │       ├── configuration.nix           # entrée des fichiers de configuration
│   │       ├── hardware-configuration.nix  # fichier hardware généré à l'installation
│   │       └── config/                     # tous fichiers config
│   │           └── ...
│   └── nixos-laptop/
│       # mon host du travail
│       └── nixos/
│           ├── configuration.nix           # entrée des fichiers de configuration
│           ├── hardware-configuration.nix  # fichier hardware généré à l'installation
│           └── config/                     # tous fichiers config
│               └── ...
├── home/       
│   # configuration user
│   └── afoucaultc/
│       # mon user personnel
│       ├── home.nix                # point d'entrée home-manager classique
│       ├── home_laptop.nix         # point d'entrée home-manager pour machine light
│       ├── dotfiles_apps.nix       # liens vers mes dossier de configuration
│       └── packages/               # lien vers les packages installés sur mon user
            └── ...

Installation :

  1. Installer NixOS sur clé USB (via Rufus sous windows par exemple)
  2. Boot sur clé USB
  3. Suivre les indications (perso: chiffrement LUKS + swap activé + formatage auto)
  4. Reboot dans NixOS
  5. Cloner le repo git en utilisant git temporairement via nix shell : nix-shell -p git --run "git clone https://gitlab.com/afoucaultc/nixos-config.git ~/nixos-config"
  6. Lancer le ./install (copie hardware-configuration dans le host, ajoute le host, lance un rebuild)
  7. C'est fini, reboot et lancer la nouvelle version avec Grub

Warning

Il peut y avoir besoin d'ajouter un utilisateur pour git, à voir par la suite Pour les GPU ou CPU spécifiques, des changements peuvent être nécessaires, à adapter

Installer un nouveau package et mettre à jour

Pour update

nix flake update
sudo nixos-rebuild switch --flake ~/nixos-config#nixos-home 

Ou utiliser update.sh

Pour trouver un nouveau package :

nix search nixpkgs nom_du_package

Pour savoir où le déclarer :

  1. system wide : dans hosts
  2. user-level : dans home

Pour savoir comment le déclarer :

  1. Avec un module programs.* s'il existe (à préférer, voir lien)
  2. Avec home.packages (home.packages = [ pkgs.xxx ];)

Pour gérer la version

  1. version trop ancienne : référencer pkgs-unstable.xxx
  2. Package pas encore dans nixpkgs : chercher un flake upstream officiel (packages..degault), ajouter comme input et le référencer

Machine ancienne

Bien utiliser la version laptop qui prend la plupart des paquets par cachix (pour éviter la compilation en locale qui dépasse les capacités de la RAM)