UNPKG

@sebastienrousseau/dotfiles

Version:

The Trusted Shell Platform — Universal dotfiles managed by Chezmoi. Features Bash & Zsh for macOS, Linux & WSL. Rust modern tooling & enterprise-grade security.

58 lines (40 loc) 1.41 kB
--- render_with_liquid: false --- # Secrets Encryption with SOPS and age ## Quick Start ```bash # 1. Generate an age key (one-time) mkdir -p ~/.config/sops/age age-keygen -o ~/.config/sops/age/keys.txt # 2. Get your public key age-keygen -y ~/.config/sops/age/keys.txt # Output: age1abc123... # 3. Update .sops.yaml with your public key # Replace the placeholder key in .sops.yaml with your actual public key # 4. Encrypt a file sops --encrypt --age $(age-keygen -y ~/.config/sops/age/keys.txt) secrets.yaml > secrets.sops.yaml # 5. Edit encrypted files sops secrets.sops.yaml ``` ## Key Management - **Private key**: `~/.config/sops/age/keys.txt` never commit this file. - **Public key**: Safe to share. It lives in `.sops.yaml`. - **Backup**: Keep your private key in a password manager or a hardware security module. ## Recovery If you lose your age private key, follow these steps: 1. Create a new key: `age-keygen -o ~/.config/sops/age/keys.txt` 2. Re-encrypt all secrets with the new public key. 3. Update `.sops.yaml` with the new public key. ## Integration with Chezmoi Chezmoi has built-in support for age encryption. ```bash chezmoi add --encrypt ~/.ssh/config ``` This encrypts the file in the source state. It uses the age key set in `~/.config/chezmoi/chezmoi.toml`: ```toml encryption = "age" [age] identity = "~/.config/sops/age/keys.txt" recipient = "age1abc123..." ```