34 lines
665 B
Nix
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"
|
|
];
|
|
};
|
|
}
|