# NixOS Infrastructure Framework Reusable, environment-agnostic components for building and managing NixOS-based infrastructure. ## Contents | Directory | Purpose | |-----------------|-------------------------------------------------| | `modules/` | NixOS modules (machine types, services, users) | | `lib/` | Nix utility functions | | `pkgs/` | Custom packages not in Nixpkgs | | `overlays/` | Nixpkgs overlays | | `scripts/` | Operational scripts (deploy, create LXC, etc.) | | `environments/` | Example environments to get started | ## Getting Started 1. Clone this repository. 2. Create your own environment directory (see `environments/sample/`). 3. Reference framework modules via relative paths or `fetchGit`. 4. Add your host configurations, network layout, and secrets. ## Creating Your Own Environment ``` environments/your-env/ ├── configuration.nix # Environment entry point ├── hosts/ │ ├── servers/ │ │ └── myhost/ │ │ └── configuration.nix │ └── workstations/ ├── network/ # Subnets, VLANs, host assignments ├── secrets/ # agenix-encrypted secrets └── users/ # User configurations ``` ## License See [LICENSE](LICENSE).