add config from gitlab

This commit is contained in:
afoucaultc 2026-07-03 09:15:37 +02:00
commit e02f7f00f9
842 changed files with 297362 additions and 0 deletions

58
README.md Normal file
View file

@ -0,0 +1,58 @@
# How to use
## Structure :
```shell
~/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 personnel (spécifique à ma machine)
│ └── 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
│ ├── 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
nix flake update
sudo nixos-rebuild switch --flake ~/nixos-config#nixos-home
```
### Pour trouver un nouveau package :
```nix
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](https://home-manager-options.extranix.com/))
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.<system>.degault), ajouter comme input et le référencer