a00c981ecd
- Add network/dns.nix, network/time.nix, network/proxy.nix, network/smtp.nix - Update network/default.nix to import new files - Update dns01, dns02, rp01 to use centralized DNS parameters - Update gaia workstation to use centralized time parameters - Servers use en_US.UTF-8 (set in host configs), workstations use fr_FR.UTF-8 This centralizes environment-specific settings while keeping host-type-specific settings (like locale) in the host configurations.
nixos-infra — Private environments
This repository contains environment-specific declarations (hosts, network layout, secrets, users) for the NixOS fleet. Reusable technical components (modules, lib, pkgs, scripts) live in the public framework repository:
→ nixos-infra-framework (ssh://git@gitea.prod.lagraula.fr:2222/xavier/nixos-infra-framework.git)
Structure
nixos-infra/
├── environments/
│ └── production/ # Production infrastructure
│ ├── configuration.nix # Environment entry point
│ ├── hosts/
│ │ ├── servers/ # Server configurations (LXC, hypervisors)
│ │ └── workstations/ # Workstation configurations
│ ├── network/ # VLANs, subnets, host IPs
│ ├── secrets/ # agenix-encrypted secrets
│ └── users/ # User configurations
├── scripts/ # Environment-specific script wrappers
└── README.md
Adding a New Environment
- Create
environments/<name>/with the same sub-structure asproduction/. - Set up its own
network/,secrets/, andusers/. - Deploy with:
deploy.sh --environment <name>
Deployment
deploy.sh --environment production
See the framework repo for the deploy script and reusable modules.