# Project Rules: nixos-infra

## Directories

### Public framework repo (nixos-infra-framework)
- `/nixos-infra-framework/modules/machine-types`: Nix modules standardizing different host types (hypervisor, VM, LXC, workstations, etc.).
- `/nixos-infra-framework/modules/services`: Nix modules standardizing different network infrastructure services (DNS, git-forge, password-manager, reverse-proxy, etc.).
- `/nixos-infra-framework/modules/user-profiles`: Nix modules standardizing different user profiles (admin, dev, office, etc.).
- `/nixos-infra-framework/overlays`: Nix overlays (last resort).
- `/nixos-infra-framework/pkgs`: Custom packages not present in Nixpkgs.
- `/nixos-infra-framework/lib`: Nix utility functions.
- `/nixos-infra-framework/scripts`: Generic operational scripts (deploy, create-lxc, etc.).
- `/nixos-infra-framework/environments/sample`: Example environment for onboarding.

The entry point for each machine is `environments/<env>/hosts/<servers|workstations>/<hostname>/configuration.nix`.
Modules are imported via `fetchGit` from the framework repo.