{ 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" ]; }; }