Files
infra/AGENTS.md

27 lines
1.3 KiB
Markdown
Raw Permalink Normal View History

# 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-fmt` for 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., `camelCase` for variables, `kebab-case` for package names).
- **Secrets:** Secrets are managed with `agenix`. Edit encrypted files with `agenix -e <file>`.
- **Modularity:** Structure configurations into logical, reusable modules under `modules/`. New modules should be registered in `modules/nixos/default.nix` to be available to all hosts.
- **Error Handling:** Ensure Nix expressions are robust and handle potential evaluation errors gracefully.