Centralize the configuration of your immutable NixOS machines

My personal homelab infrastructure, fully managed with NixOS and Clan. This repository contains all configurations for my servers, desktops, and network devices.

Home | All homelab features | Public Server | Grafana Dashboard

---

What is this?

This is a complete NixOS homelab setup that manages:

  • Servers: Public VPS (Hetzner, Infomaniak), physical servers, Raspberry Pi
  • Desktops: Personal laptops and workstations

Everything is declarative, reproducible, and version-controlled whenever possible.

Why Clan?

I’m using Clan to simplify infrastructure management:

Backbone of independent infrastructure

Or as I like to say:

Kill the cloud, build your darkcloud ☁️

→ Learn more about Clan and why I use it

Key benefits

  • Simple host management: Easy inventory system
  • Automatic secrets: Built-in secret generation and management
  • Backup made easy: Integrated backup solution
  • Declarative: Everything in code, no manual steps

🛠️ Deployment Strategy

I follow a hybrid approach:

  • NixOS services first: Most applications run as native NixOS services
  • Podman when needed: Some apps use containers to:
    • Use plugins or features not well-supported in NixOS (e.g., DokuWiki)
      • Avoid service interruptions during system updates
      • Maintain stability during version upgrades

This gives me the best of both worlds: NixOS reproducibility with container flexibility.

🔐 Disk Encryption

Disk encryption is enabled whenever possible across the homelab. It is especially important on laptops because they are mobile devices and therefore more exposed to loss or theft. The same principle also applies to servers, since a stolen machine may still contain sensitive data.

constellation is the main exception to this rule. It is a critical private server and provides core services such as DNS ad blocking for the local network. After a power outage, it must be able to boot automatically without requiring a manual passphrase entry.

📦 Services & Applications

All Available homelab features:

💻 Desktop Environment

My workstations run a customized NixOS setup with i3 window manager and various productivity tools.

Desktop Applications

LogoApplicationDescription
borgbackupDeduplication backup tool
FirefoxWeb browser
GimpRaster graphics editor
i3Tiling window manager
InkscapeVector graphics editor
LibreOfficeOffice suite
MeldVisual diff tool
NaviInteractive cheatsheet tool
NeovimVIDE - My customized Neovim config

Floating TUI Panels

Quick access to system controls via i3 floating terminals:

Bluetooth ManagerDisk Manager
bluetuithbashmount
Audio MixerNetwork Manager
pulsemixernmtui

🌐 Infrastructure

🚀 Houston Server

My main public VPS running on Hetzner Cloud (CX32: 4 vCPU, 8GB RAM, 80GB SSD).

What it does:

  • 🔐 Authentication Hub: Authelia + LLDAP for SSO across all services
  • 📊 Full Observability Stack: Grafana, VictoriaMetrics, Telegraf, Vector
  • 📱 Self-Hosted Apps: DokuWiki, Linkding, Miniflux, Shaarli, and more

→ See complete service list and details

💻 Gagarin Workstation

My main desktop workstation for daily development and productivity.

Setup:

  • 🪟 i3 Tiling WM: Efficient workspace management with custom keybindings
  • 🛠️ Full Dev Environment: VIDE (Neovim), VS Code, Git, Docker, and more
  • 🎨 Creative Tools: GIMP, Inkscape, LibreOffice
  • ⚙️ System Management: TUI panels for quick access to system controls

→ See complete configuration and tools

All Hosts

Complete list of hosts in the homelab (auto-generated with just doc-update):

LogoNameOSDescription
box (192.168.0.1)SagemSFR internet box
router-living (192.168.254.254)MikroTikLivingroom mikrotik router
router-ladbedroom (192.168.254.253)MikroTikBedroom mikrotik router
router-homeoffice (192.168.254.252)MikroTikOffice mikrotik router
sadhome (192.168.254.200)NixOSStephanie’s laptop
rpi40 (192.168.254.101)NixOSThe RPI 4 server
bootstore (192.168.254.100)NixOSHP Microserver N40L server
b4d14 (192.168.254.124)NixOSDell XPS 9560 Latop
badxps (192.168.254.114)NixOSDell XPS 9570 Latop
vm-test (127.0.0.1)NixOSqemu VM (SSH on port 2222)
cab1e (84.234.31.97)NixOSWireguard VPN anonymizer server
houston (91.99.130.127)NixOSMain public server
gagarin (192.168.254.147)NixOSMy main desktop workstation

Network Topology

Network diagram

Common Commands

Available commands

❤️ Thanks

A big thank to the contributors of OpenSource projects in particular:


Summary

badele’s NixOS homelab + dotfiles (528 stars, GPL-3.0, Nix): everything declarative via NixOS + Clan — Hetzner/Infomaniak VPSes, physical servers, Raspberry Pis, desktops; public Grafana attack dashboard.

Learnings

  • The ‘Kill the cloud, build your darkcloud’ school: immutable machines, centralized config, Clan for inventory + automatic secrets. Third school in Homelabs — Nix instead of GitOps/K8s.

Gotchas

  • (none yet)

Hands-on

(research only)