1.3 KiB
1.3 KiB
AGENTS.md
This document outlines the development conventions for this NixOS-based infrastructure repository.
Build & Deployment
- Build/Deploy: Use
nixos-rebuild switch --flake .#<hostname>to build and deploy the configuration for a specific host. - Development Shell: Activate the development environment with
nix develop.
Linting & Formatting
- Formatting: This project uses
nixpkgs-fmtfor automatic formatting. Ensure it is run before committing changes.nixpkgs-fmt .
- Linting: No specific linter is configured, but adhere to standard Nix language conventions.
Testing
- No automated testing suite is configured. Manually verify changes by deploying to a non-critical host.
Code Style & Conventions
- Imports: Keep module imports clean and organized at the top of files.
- Naming: Follow Nix community conventions for variable and function names (e.g.,
camelCasefor variables,kebab-casefor package names). - Secrets: Secrets are managed with
agenix. Edit encrypted files withagenix -e <file>. - Modularity: Structure configurations into logical, reusable modules under
modules/. New modules should be registered inmodules/nixos/default.nixto be available to all hosts. - Error Handling: Ensure Nix expressions are robust and handle potential evaluation errors gracefully.