SkillAgentSearch skills...

Opnix

Agenix inspired tool enabling users to inject secrets from 1password into their Nix servers at build time

Install / Use

/learn @brizzbuzz/Opnix
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

OpNix

Secure 1Password secrets integration for NixOS, nix-darwin, and Home Manager.

Features

  • Declarative Secrets: Define secrets directly in Nix configuration
  • Service Integration: Automatic systemd/launchd service restarts on secret changes
  • Multi-Platform: Full support for NixOS, nix-darwin, and Home Manager
  • Secure: Uses 1Password service accounts with proper file permissions
  • Reliable: systemd services ensure secrets are available without breaking system boot
  • Developer Shells: Export 1Password secrets as environment variables inside flake devshells

Quick Start

Add OpNix to your flake:

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    opnix.url = "github:brizzbuzz/opnix";
  };

  outputs = { nixpkgs, opnix, ... }: {
    # NixOS
    nixosConfigurations.yourhostname = nixpkgs.lib.nixosSystem {
      modules = [
        opnix.nixosModules.default
        ./configuration.nix
      ];
    };

    # nix-darwin
    darwinConfigurations.yourhostname = nix-darwin.lib.darwinSystem {
      modules = [
        opnix.darwinModules.default
        ./configuration.nix
      ];
    };

    # Home Manager
    homeConfigurations.yourusername = home-manager.lib.homeManagerConfiguration {
      modules = [
        opnix.homeManagerModules.default
        ./home.nix
      ];
    };
  };
}

Configure secrets:

# NixOS/nix-darwin
services.onepassword-secrets = {
  enable = true;
  tokenFile = "/etc/opnix-token";
  secrets = {
    databasePassword = {
      reference = "op://Homelab/Database/password";
      owner = "postgres";
      services = ["postgresql"];
    };
  };
};

# Home Manager
programs.onepassword-secrets = {
  enable = true;
  secrets = {
    sshPrivateKey = {
      reference = "op://Personal/SSH/private-key";
      path = ".ssh/id_rsa";
      mode = "0600";
    };
  };
};

Set up your token:

sudo opnix token set
sudo nixos-rebuild switch --flake .

Documentation

📚 Complete Documentation

Platform Support

| Platform | Module | Use Case | |----------|--------|----------| | NixOS | nixosModules.default | System-wide secret management | | nix-darwin | darwinModules.default | macOS system secrets | | Home Manager | homeManagerModules.default | User-specific secrets |

Getting Help

License

MIT License

Related Skills

View on GitHub
GitHub Stars160
CategoryDevelopment
Updated7d ago
Forks17

Languages

Go

Security Score

100/100

Audited on Mar 22, 2026

No findings