Documentation
Nixda Stack provides declarative NixOS modules for service hosting on bare metal. No Kubernetes. No YAML. No drift.
Quick Start
Add nixda-stack as a flake input and compose modules into a host configuration:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixda-stack.url = "codeberg:nixda/nixda-stack";
};
outputs = { nixpkgs, nixda-stack, ... }: {
nixosConfigurations.myhost = nixpkgs.lib.nixosSystem {
modules = [
nixda-stack.nixosModules.default
./configuration.nix
];
};
};
}
The default module exports the full stack: zones schema, catalog
blueprints, networking, DNS, and reverse proxy. See the reading path below
for how each piece fits together.
Reading Path
- Architecture — Understand how zones, networking, DNS, and the reverse proxy compose into a single declarative topology.
- Zone Configuration — Define network zones, place services, and assign IDs for static IP derivation.
- Pick a runtime — Native (nspawn) for NixOS containers or OCI (Podman) for container images.
- Blueprint Catalog — Use pre-configured service templates to minimise boilerplate.
All Sections
Concepts
- Architecture — Module hierarchy, zone-based networking, DNS, reverse proxy, and socket activation
- Service Lifecycle — Socket activation flow, idle timeouts, and systemd unit relationships
How-to Guides
- Zone Configuration — Define zones, place services, use blueprints, and allocate IDs
- Blueprint Catalog — Seven pre-configured service blueprints with runtime defaults
Runtimes
- Native (nspawn) — NixOS containers with declarative configuration and private networking
- OCI / Podman — Container images with static IPs via Netavark bridge networking
Reference
- Stack Options — Networking, DNS, and proxy configuration
- Zone Options — Zone schema and service submodule type
- Service Options — Runtime, ports, idle timeout, and strip prefix
- System Options — System runtime configuration for host-level services
- Catalog Options — Blueprint definitions and defaults
- Glossary — Domain terminology reference (41 terms)