Using with 1Password¶
yak resolves any config value prefixed with op:// using the 1Password CLI at runtime. This means your config file contains no secrets and can be safely committed to your dotfiles repository.
Prerequisites¶
- Install the 1Password CLI
- Sign in:
op signin - Keep
opon yourPATH
Value format¶
Caching¶
To avoid calling op on every yak command, resolved values are cached in secret_cache under paths.cache_dir (default ~/.local/share/yak) with permissions 0600. The cache lifetime is controlled by secrets.cache_ttl in minutes.
Set cache_ttl = 0 to disable caching entirely. yak login always bypasses the cache regardless of this setting.
Cache security
The secret cache stores resolved values in plaintext, protected only by file permissions (0600). If this is a concern, set cache_ttl = 0. Values will be fetched fresh from 1Password on every yak invocation.
Sharing config with team members¶
With 1Password your entire config file is shareable — no secrets are embedded. Team members need access to the same vault and the op CLI installed.
Suggested workflow:
- Commit
config.toml(withop://references) to a shared dotfiles or team repo - Each person symlinks it:
ln -s ~/team-config/yak/config.toml ~/.config/yak/config.toml - Each person authenticates:
op signin - Run
yak setup
Suggested 1Password vault structure¶
Mixing secret providers¶
You can mix op://, ${VAR}, and plain text freely within a single config file:
yak detects the format automatically for each value.