NixOS

created feb 06 26
last modified feb 09 26
tags #linux

I use NixOS as the base operating system for my Homelab. Its declarative nature ensures that my system configuration is reproducible and version-controlled.

Core Configuration

The entire system state is defined in /etc/nixos/configuration.nix.

Key Features

  1. Tailscale:
    • Configured directly via the system config (services.tailscale.enable = true;).
    • Provides a secure mesh VPN to access the server remotely without opening ports.
  2. Containerization:
    • Docker is enabled at the system level (virtualisation.docker.enable = true;) to support my Homelab stack.
  3. User Management:
    • Users, groups, and SSH keys are managed declaratively, preventing "configuration drift."
  4. Auto-Updates:
    • System updates and garbage collection are automated to keep the host clean.