Skip to content

badele/nix-homelab

Repository files navigation


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 | Public Server | Grafana Dashboard | My bookmarks


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.

📦 Services & Applications

All Available homelab features :

ACME
ACME
Authelia
Authelia
authentik
authentik
Blocky
Blocky
DokuWiki
DokuWiki
Gatus
Gatus
GoAccess
GoAccess
Grafana
Grafana
grist
grist
Homepage
Homepage
it-tools
it-tools
Kanidm
Kanidm
Linkding
Linkding
LLDAP
LLDAP
Miniflux
Miniflux
Nix homelab summary
Nix homelab summary
Pawtunes
Pawtunes
Radio
Radio
Sample Podman application
Sample Podman application
Shaarli
Shaarli
Step CA
Step CA
Tailscale
Tailscale
Victoriametrics
Victoriametrics
Wastebin
Wastebin

💻 Desktop Environment

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

Desktop Applications

Logo Application Description
borgbackup Deduplication backup tool
Firefox Web browser
Gimp Raster graphics editor
i3 Tiling window manager
Inkscape Vector graphics editor
LibreOffice Office suite
Meld Visual diff tool
Navi Interactive cheatsheet tool
Neovim VIDE - My customized Neovim config

Floating TUI Panels

Quick access to system controls via i3 floating terminals:

Bluetooth Manager Disk Manager
bluetuith bashmount
Audio Mixer Network Manager
pulsemixer nmtui

🌐 Infrastructure

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

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

Logo Name OS Description
box (192.168.0.1) Sagem SFR internet box
router-living (192.168.254.254) MikroTik Livingroom mikrotik router
router-ladbedroom (192.168.254.253) MikroTik Bedroom mikrotik router
router-homeoffice (192.168.254.252) MikroTik Office mikrotik router
sadhome (192.168.254.200) NixOS Stephanie's laptop
rpi40 (192.168.254.101) NixOS The RPI 4 server
bootstore (192.168.254.100) NixOS HP Microserver N40L server
b4d14 (192.168.254.124) NixOS Dell XPS 9560 Latop
badxps (192.168.254.114) NixOS Dell XPS 9570 Latop
vm-test (127.0.0.1) NixOS qemu VM (SSH on port 2222)
cab1e (84.234.31.97) NixOS Wireguard VPN anonymizer server
houston (91.99.130.127) NixOS Main public server
gagarin (192.168.254.147) NixOS My main desktop workstation

Network Topology

Network diagram

Common Commands

Available commands

❤️ Thanks

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

About

Homelab and dotfiles made with NixOS

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors