❄️ My NixOS Configuration

September 19, 2025 · View on GitHub

This repository holds the configuration for all my Linux systems. It includes both my servers, my laptop and my desktop.

Nix

I now manage all my configuration thanks to Nix. Everything is managed thanks to a nix flake: flake.nix. It relies heavily on the Dendritic pattern. Each file is a flake-parts module.

Repository structure

Everything is stored under the modules/ folder and imported automatically thanks to vic/import-tree.

├── flake.nix       # Entry-point of the flake
├── modules/
│   ├── flake/      # flake modules
│   ├── home/       # shared home-manager modules
│   ├── hosts/      # declaration of the NixOS/HM hosts
│   └── nixos/      # shared nixos modules
└── .secrets        # (age encrypted) secrets for each system

Systems

HostnameConfig typeComment
frameworkNixOSLaptop
cudaNixOSPersonal workstation
builderhome-managerLinux x86 builder
jrshome-managerJon Ringer's x86 builder
vpsNixOSVPS (VPN, mail server, etc.)
tankNixOSNAS (ZFS, Nextcloud, etc.)
backupNixOSBackup (replication of tank)

Linux working environment

Here are the programs I use on my working systems. I keep my configuration minimal and efficient.

ProgramName
Linux DistributionNixOS
Web BrowserFirefox
Window Managersway
Barwaybar
Terminal Emulatorfoot
Code EditorNeovim
Program Launcherrofi
Shellfish
PDF viewerZathura

Acknowledgements

Thanks to @mightyiam and @drupol for helping me migrating my configuration to the dendritic pattern.