Skip to content
vic

GaetanLepage/nix-config

NixOS configuration for my personal computers

GaetanLepage/nix-config.json
{
"createdAt": "2019-12-15T10:42:30Z",
"defaultBranch": "master",
"description": "NixOS configuration for my personal computers",
"fullName": "GaetanLepage/nix-config",
"homepage": "",
"language": "Nix",
"name": "nix-config",
"pushedAt": "2025-11-27T04:07:08Z",
"stargazersCount": 145,
"topics": [
"dotfiles",
"nixos"
],
"updatedAt": "2025-11-27T04:07:11Z",
"url": "https://github.com/GaetanLepage/nix-config"
}

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

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.

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
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)

![]!(./.assets/screenshot.png)

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

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