Set up Agent Build Pipeline
agenixskillsetup L2★15
olafkfreund/nixos_config ↗What it does
Declaratively encrypt and automatically deploy secrets across NixOS systems using SSH keys
Best for
Declarative secret management for NixOS infrastructure where secrets must be versioned and reproduced identically across hosts.
Inputs
- · Plaintext secrets (passwords, API keys, certs) via editor $EDITOR
- · SSH public keys of authorized hosts/users in secrets.nix
- · NixOS configuration referencing age.secrets.<name>.file
Outputs
- · Encrypted .age files safe to commit to Git
- · Decrypted secrets in /run/agenix/<name> at system activation time
- · Automatic file permissions and ownership applied
Requires
- · age encryption library (SSH key-based)
- · NixOS module system
- · SSH infrastructure (public keys of target systems/users)
Preconditions
- · NixOS with Flakes or nix-channel support
- · SSH key pair already generated on all target systems
- · agenix binary installed or run via nix run github:ryantm/agenix
Failure modes
- · Secrets decryption fails if SSH private key missing or inaccessible on target
- · Multi-user confusion if secrets.nix public key list out of sync with actual users
- · Editor cleanup may leave plaintext remnants (use secure editors like vim with noshm)
- · Nix store world-readable — secrets must be read from /run/agenix, not directly from store
Trust signals
- · CC0-1.0 public domain license
- · Mature NixOS community tool (Production-ready status)
- · Minimal codebase with only age + SSH infrastructure dependency
- · Support for Home Manager, nix-darwin, Nix-on-Droid ecosystem