██╗ ██╗ █████╗ ██████╗ ██╗ ██╗███████╗ ██████╗ ███████╗
██║ ██║██╔══██╗██╔══██╗╚██╗ ██╔╝╚══███╔╝██╔═══██╗██╔════╝
██║ ██║███████║██████╔╝ ╚████╔╝ ███╔╝ ██║ ██║███████╗
╚██╗ ██╔╝██╔══██║██╔══██╗ ╚██╔╝ ███╔╝ ██║ ██║╚════██║
╚████╔╝ ██║ ██║██████╔╝ ██║ ███████╗╚██████╔╝███████║
╚═══╝ ╚═╝ ╚═╝╚═════╝ ╚═╝ ╚══════╝ ╚═════╝ ╚══════╝
Ma configuration NixOS personnelle — reproductible, modulaire et prête à l'emploi.
- Aperçu
- Configuration requise
- Structure du projet
- Machines (hosts)
- Environnement graphique
- Logiciels inclus
- Installation
- Commandes utiles
- Secrets (SOPS)
- Inspiration
- Licence
vabyzOS est une configuration NixOS complète basée sur Nix Flakes et Home Manager. Elle vise une expérience de bureau cohérente, reproductible et facile à déployer sur une nouvelle machine.
L'environnement s'articule autour du compositeur Wayland Niri avec le shell Noctalia (Quickshell), une gestion des secrets via SOPS-nix, et un ensemble d'outils de développement prêts à l'emploi.
| Composant | Minimum |
|---|---|
| OS | NixOS 25.11 |
| GPU | Nvidia (host workstation) |
| Boot | 1 Go |
| Espace disque | 20 Go |
| Packages | Stable + Unstable |
vabyzOS/
├── flake.nix # Point d'entrée principal (Flakes)
├── variables.nix # Variables globales (hostname, user…)
├── hosts/ # Configurations par machine
│ ├── workstation/ # Poste principal (Nvidia, gaming, dev)
│ ├── vm/ # Machine virtuelle (QEMU/Hyper-V/VMware)
│ └── chromebook/ # Chromebook (disko, audio SOF, firmware)
├── modules/ # Modules NixOS réutilisables
│ ├── core/ # Socle commun à tous les hosts
│ └── optional/ # Modules activés à la carte par host
├── home/ # Configuration Home Manager
│ ├── core/ # Shell, git, éditeur, terminal
│ └── optional/ # Niri, Noctalia, virt-manager…
├── secrets/ # Secrets chiffrés (SOPS, jamais en clair)
└── install.sh # Script d'installation automatisé
Le flake expose trois configurations, chacune adaptée à un usage précis :
| Host | Usage | Particularités |
|---|---|---|
workstation |
Poste principal | GPU Nvidia, gaming (Steam/Lutris/Bottles), dev, virtualisation QEMU |
vm |
Machine virtuelle | Guest additions QEMU / Hyper-V / VMware / Spice, sans pilote GPU dédié |
chromebook |
Chromebook converti | Partitionnement via disko, correctif audio SOF, firmware MrChromebox |
Pour builder un host en particulier :
sudo nixos-rebuild switch --flake .#workstationCompositeur Wayland tiling minimaliste, orienté clavier.
| Dépendance | Rôle |
|---|---|
gpu-screen-recorder |
Enregistrement d'écran via GPU |
Shell graphique moderne construit avec Quickshell.
| Dépendance | Rôle |
|---|---|
brightnessctl |
Contrôle de la luminosité |
ddcutil |
Contrôle moniteur externe |
polkit |
Authentification graphique |
evolution-data-server |
Calendrier et contacts |
🌐 Navigateurs
vivaldi— Navigateur principalfirefox— Navigateur secondaire
🛠️ Développement
git,zed-editor,neovimpython 3.15,nodejs 24,bundocker,docker-composeghostty,zsh
🎮 Gaming
steam,lutris,bottles,protonplus
💻 Virtualisation
qemu,quickemu,virt-manager
🔧 Utilitaires
htop,fastfetch,warptailscale,poppler,appimageseahorse,gnome-software,flathubdiscord
curl -L https://raw.githubusercontent.com/vabyz971/vabyzOS/main/install.sh | bash# 1. Ouvrir un shell avec git
nix-shell -p git
# 2. Cloner le dépôt
git clone https://github.com/vabyz971/vabyzOS
cd vabyzOS
# 3. Adapter variables.nix à ta machine
# (hostname, username, GPU…)
# 4. Appliquer la configuration
sudo nixos-rebuild switch --flake .#<ton-hostname>Note
Pense à adapter variables.nix avec ton nom d'utilisateur et ton nom de machine avant d'appliquer la configuration.
Le shell embarque nh (Nix Helper) pour des rebuilds plus lisibles, ainsi qu'un jeu d'alias définis dans home/core/zsh/aliases.nix.
| Alias | Commande | Description |
|---|---|---|
vupdate |
nh os switch |
Rebuild + switch la configuration |
vupgrade |
nix flake update + nh os switch |
Met à jour les inputs puis rebuild |
vboot |
nh os boot |
Applique au prochain redémarrage |
vtest |
nh os test |
Applique sans créer de génération |
vgc |
nh clean all |
Garbage collect du store Nix |
vcheck |
nix flake check |
Valide le flake |
vgens |
nh os generations |
Liste les générations du système |
ll / lt |
eza … |
Listing détaillé / arborescence |
Tape simplement vhelp dans un terminal pour afficher la liste complète et à jour de toutes ces commandes.
Le nettoyage automatique du store est aussi programmé côté système (nix.gc, hebdomadaire) avec nix.settings.auto-optimise-store activé.
Les secrets sont gérés via SOPS-nix et chiffrés avec une clé Age. La configuration se trouve dans .sops.yaml. Seuls les fichiers chiffrés du dossier secrets/ sont versionnés — jamais de clé ou de secret en clair dans le dépôt.
Ce projet s'inspire des dotfiles suivants :
- ZaneyOS — by Zaney
- NixOS-Hyprland — by JaKooLit
- nix-config — by EmergentMind
Distribué sous licence MIT. Voir LICENSE pour plus de détails.
Fait avec ❄️ et NixOS