Prerequisites
- A running NixOS installation or target machine
- SSH access to the target system
- Your SSH public key for authentication
- System hostname decided
Creating a New System
Create Issue First
Following the Issue-First policy, create a GitHub issue describing the new system:Include details about:
- System purpose (desktop, server, container)
- Hardware specifications
- Required modules and features
Create System Configuration
Create a
default.nix file with your system configuration:systems/production-server/default.nix
Add Disk Configuration (Optional)
If using disko for disk management, create a Configure your disk layout according to your needs.
disko.nix file:Validate Configuration
Run flake checks to ensure your configuration is valid:The pre-commit hooks should handle this automatically, but manual validation ensures everything compiles correctly.
System Types
Desktop System
Desktop System
Desktop systems typically include:
Server System
Server System
Server systems typically include:
Container/LXC System
Container/LXC System
Container systems use: