KeePassXC
chezmoi includes support for KeePassXC using the
KeePassXC CLI (keepassxc-cli
) to expose data as a template function.
Provide the path to your KeePassXC database in your configuration file:
[keepassxc]
database = "/home/user/Passwords.kdbx"
The structured data from keepassxc-cli show $database
is available as the
keepassxc
template function in your config files, for example:
username = {{ (keepassxc "example.com").UserName }}
password = {{ (keepassxc "example.com").Password }}
Additional attributes are available through the keepassxcAttribute
function.
For example, if you have an entry called SSH Key
with an additional attribute
called private-key
, its value is available as:
{{ keepassxcAttribute "SSH Key" "private-key" }}
Non-password-protected databases
If your database is not password protected, add --no-password
to
keepassxc.args
and keepassxc.prompt = false
:
[keepassxc]
database = "/home/user/Passwords.kdbx"
args = ["--no-password"]
prompt = false
YubiKey support
chezmoi includes an experimental mode to support using KeePassXC with YubiKeys.
Set keepassxc.mode
to open
and keepassxc.args
to the arguments required to
set your YubiKey, for example:
[keepassxc]
database = "/home/user/Passwords.kdbx"
args = ["--no-password", "--yubikey", "2:7370001"]
mode = "open"