building
Build and evaluate NixOS and Home-Manager configurations
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Building
Build Commands
| Command | Purpose |
|---|---|
nix build .#nixosConfigurations.<host>.config.system.build.toplevel |
Build a host's NixOS system |
nix build .#homeConfigurations.<user>@<host>.activationPackage |
Build a Home-Manager activation |
nix fmt |
Format code and check syntax |
nix flake check |
Evaluate all configurations and run linters |
nix flake show |
Display available outputs |
nix develop |
Open development shell |
nix develop --command true |
Test that devShell can be entered |
DevEnv Requirement
This repository uses devenv for devShells and checks. You must provide the devenv-root input override for nix flake check and nix develop:
nix flake check --override-input devenv-root "file+file://$PWD/.devenv/root"
nix develop --override-input devenv-root "file+file://$PWD/.devenv/root"
Common Build Patterns
Build a specific host
# Build nixdev server
nix build .#nixosConfigurations.nixdev.config.system.build.toplevel
# Build nixmi desktop
nix build .#nixosConfigurations.nixmi.config.system.build.toplevel
Build a user's home configuration
# Build racci's config on nixmi
nix build .#homeConfigurations."racci@nixmi".activationPackage
Evaluate without building
# Check if configuration evaluates
nix eval .#nixosConfigurations.nixdev.config.system.build.toplevel --apply 'x: "ok"'
# Get a specific option value
nix eval .#nixosConfigurations.nixdev.config.networking.hostName
Format specific files
# Format changed files
nix fmt path/to/file.nix
# Format multiple files
nix fmt modules/nixos/services/*.nix
Troubleshooting Builds
If a build fails:
- Check the error message for the failing derivation
- Try
nix log <drv>to see build logs - Use
--show-tracefor evaluation errors:nix build .#... --show-trace - For infinite recursion, check for circular imports or option definitions
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!