87 lines
1.9 KiB
Nix
Raw Normal View History

2024-12-20 22:37:44 -05:00
{
config,
lib,
pkgs,
...
}:
2024-12-20 16:50:27 -05:00
{
2024-12-20 22:37:44 -05:00
imports = [ ];
2024-12-20 16:50:27 -05:00
# Fetch public keys:
# gpg --locate-keys tom@fizz.buzz
#
# gpg -vvv --auto-key-locate local,wkd --locate-keys tom@fizz.buzz
hardware.gpgSmartcards.enable = true;
services.udev.packages = [ pkgs.yubikey-personalization ];
services.pcscd.enable = true;
# services.gnome.gnome-keyring.enable = true;
# services.dbus.packages = [ pkgs.gcr ];
# services.pcscd.plugins = lib.mkForce [ ];
# programs.gpg.scdaemonSettings = {
# disable-ccid = true;
# };
# .gnupg/scdaemon.conf
home-manager.users.talexander =
{ pkgs, ... }:
{
home.file.".gnupg/scdaemon.conf" = {
source = ./files/scdaemon.conf;
};
};
2024-12-20 16:50:27 -05:00
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-qt;
# settings = {
# disable-ccid = true;
# };
2024-12-20 16:50:27 -05:00
};
2024-12-21 10:18:28 -05:00
environment.persistence."/persist" = lib.mkIf (!config.me.buildingIso) {
2024-12-20 16:50:27 -05:00
hideMounts = true;
users.talexander = {
directories = [
2024-12-20 22:37:44 -05:00
{
directory = ".gnupg";
user = "talexander";
group = "talexander";
mode = "0700";
} # Local keyring
2024-12-20 16:50:27 -05:00
];
};
};
# nixpkgs.overlays = [
# (final: prev: {
# pcsclite = prev.pcsclite.overrideAttrs (old: {
# postPatch = ''
# substituteInPlace src/libredirect.c src/spy/libpcscspy.c \
# --replace-fail "libpcsclite_real.so.1" "$lib/lib/libpcsclite_real.so.1"
# '';
# });
# })
# ];
# security.polkit.extraConfig = ''
# polkit.addRule(function(action, subject) {
# if (action.id == "org.debian.pcsc-lite.access_card") {
# return polkit.Result.YES;
# }
# });
# polkit.addRule(function(action, subject) {
# if (action.id == "org.debian.pcsc-lite.access_pcsc") {
# return polkit.Result.YES;
# }
# });
# '';
2024-12-20 16:50:27 -05:00
}