Before deploying any component of your homelab infrastructure, ensure you have the necessary tools and environment configured.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/soriphoono/homelab/llms.txt
Use this file to discover all available pages before exploring further.
Required Software
Nix Package Manager
You must have Nix installed with Flakes support enabled.Install Nix
Follow the official installation guide at nixos.org or use the Determinate Systems installer:
Development Tools
The repository includes a development shell with all necessary tools. You can access it in two ways:nil- Nix language serveralejandra- Nix code formattervulnix- Security vulnerability scannerage&agenix- Secrets managementsops- Secrets operationsssh-to-age- SSH key conversion for agedisko- Disk partitioning (Linux only)nixos-facter- Hardware detection (Linux only)
System Requirements
For NixOS Deployments
- Target system must be running NixOS or have NixOS installer available
- SSH access to remote systems (if deploying remotely)
- Sufficient disk space for Nix store (recommended: 20GB minimum)
For Home Manager Deployments
- Any Linux system with Nix installed
- Write permissions to user home directory
- Shell access (bash or zsh recommended)
For Nix-on-Droid Deployments
- Android device (ARM64 architecture)
- Termux or similar terminal emulator
- Storage permissions granted
- Stable internet connection for initial setup
Repository Structure
Familiarize yourself with the repository layout:| Directory | Purpose |
|---|---|
systems/ | NixOS host configurations |
homes/ | Home Manager user configurations |
droids/ | Nix-on-Droid Android configurations |
modules/ | Reusable modules (nixos/, home/, droid/) |
pkgs/ | Custom packages and overrides |
lib/ | Utility functions |
Network Requirements
- Access to cache.nixos.org (or configured substituters)
- GitHub access for flake inputs (if not using offline mode)
- SSH access for remote deployments
Secrets Management
If your configuration uses encrypted secrets:- Ensure you have the appropriate age keys or SSH keys
- Secrets are managed using
agenix - Keys must be available before deployment on target systems
Next Steps
Once prerequisites are met, proceed to:- Validating Changes - Always validate before deploying
- Deploying NixOS Systems
- Deploying Home Manager
- Deploying to Android