43 lines
984 B
Nix
43 lines
984 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
cfg = config.hive.yubikey;
|
|
in {
|
|
options.hive.yubikey = with lib; {
|
|
enable = mkEnableOption "Yubikey support";
|
|
pinentry = mkOption {
|
|
type = types.enum ["qt" "gnome3"];
|
|
default = "qt";
|
|
description = "The pinentry flavour to use";
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
programs.gpg = {
|
|
enable = true;
|
|
mutableKeys = false;
|
|
mutableTrust = false;
|
|
publicKeys = [
|
|
{
|
|
source = ../../static/keys/my_pub.asc;
|
|
trust = "ultimate";
|
|
}
|
|
];
|
|
};
|
|
# services.gpg-agent = {
|
|
# enable = true;
|
|
# enableSshSupport = true;
|
|
# enableZshIntegration = true;
|
|
# };
|
|
# home.sessionVariables = {
|
|
# SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh";
|
|
# };
|
|
# systemd.user.settings.Manager.DefaultEnvironment = lib.mapAttrs (_: lib.mkDefault) {
|
|
# SSH_AUTH_SOCK = "/run/user/%U/gnupg/S.gpg-agent.ssh";
|
|
# };
|
|
};
|
|
}
|