25 lines
646 B
Nix
25 lines
646 B
Nix
{ config, options, pkgs, lib, ... }:
|
|
with lib;
|
|
with lib.custom;
|
|
let
|
|
cfg = config.modules.shell.pass;
|
|
in {
|
|
options.modules.shell.pass = with types; {
|
|
enable = mkBoolOpt false;
|
|
passwordStoreDir = mkOpt str "$HOME/.secrets/password-store";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
user.packages = with pkgs; [
|
|
(pass.withExtensions (exts: [
|
|
exts.pass-otp
|
|
exts.pass-genphrase
|
|
] ++
|
|
(if config.modules.shell.gnupg.enable
|
|
then [ exts.pass-tomb ]
|
|
else [])))
|
|
];
|
|
env.PASSWORD_STORE_DIR = cfg.passwordStoreDir;
|
|
};
|
|
}
|