34 lines
665 B
Nix

{
options,
config,
pkgs,
lib,
...
}:
with lib;
with lib.frajul; let
cfg = config.apps.pass;
in {
options.apps.pass = with types; {
enable = mkBoolOpt false "Enable or disable pass";
};
config = mkIf cfg.enable {
apps.tools.gnupg.enable = true;
environment.systemPackages = with pkgs; [
(writeShellScriptBin "pass" ''
GNUPGHOME="$XDG_DATA_HOME/gnupg" PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass" ${pkgs.pass.withExtensions (exts: [
exts.pass-otp
exts.pass-update
exts.pass-audit
])}/bin/pass $@
'')
];
home.persist.directories = [
".local/share/pass"
];
};
}