Quick Start Guide
This guide will help you get the homelab infrastructure up and running quickly.Prerequisites
Before you begin, ensure you have:Install Nix with Flakes
Install Nix with Flakes support enabled:
The Determinate Nix installer automatically enables Flakes and provides a better installation experience.
Validate the Configuration
Before deploying, always validate your flake:This command checks all NixOS systems, Home Manager configurations, and Nix-on-Droid setups for evaluation errors.
- System evaluation checks for all NixOS configurations
- Home Manager activation package builds
- Nix-on-Droid configuration validation
- Pre-commit hooks and formatting checks
Deploy Your First System
Choose Your Configuration Type
Decide which type of configuration you’re deploying:
- NixOS System - Full operating system configuration
- Home Manager - User environment and dotfiles (standalone)
- Nix-on-Droid - Android/Termux environment
Deploy a NixOS System
For deploying to a NixOS machine:Available system configurations:
The hostname must match a directory name in
systems/. The flake automatically discovers all systems.zephyrus- ASUS ROG Zephyrus laptop with hybrid AMD/NVIDIA graphicslg-laptop- LG Gram laptop configurationmoonlight- Server configurationdocker-node- Containerized deployment
Understanding Home Manager Patterns
The homelab uses a sophisticated naming pattern for Home Manager configurations:Base Configuration
Pattern:
homes/username/Base user configuration used everywhere. Example: homes/soriphoono/Global Override
Pattern:
homes/username@global/Supplementary config for standalone installs. Combined with base and exported as homeConfigurations.username.Host-Specific
Pattern:
homes/username@hostname/Machine-specific overrides automatically imported by NixOS. Example: homes/soriphoono@zephyrus/Example: Adding a New System
Add System Metadata (Optional)
Create
systems/my-server/meta.json for architecture specification:If omitted, defaults to
x86_64-linux.Common Operations
Update Flake Inputs
Update all dependencies:Check for Vulnerabilities
vulnix security audit and full flake validation.
Format Code
treefmt.
Next Steps
Architecture Overview
Learn about the flake structure and module organization
Module Configuration
Explore available modules in
modules/nixos/, modules/home/, and modules/droid/