41 lines
1.4 KiB
Markdown
41 lines
1.4 KiB
Markdown
# 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). |