diff --git a/nixos/modules/hardware/yubikey/default.nix b/nixos/modules/hardware/yubikey/default.nix index 8deb1ed..708b9c1 100644 --- a/nixos/modules/hardware/yubikey/default.nix +++ b/nixos/modules/hardware/yubikey/default.nix @@ -6,12 +6,31 @@ in { options.sisyphus.hardware.yubikey.enable = lib.mkEnableOption "YubiKey support"; config = lib.mkIf cfg.enable { + programs = { + gnupg.agent = { + enable = true; + # TODO Necessary? + # enableSSHSupport = true; + # pinentryFlavor = "curses"; + }; + + # yubikey-touch-detector.enable = true; + }; + # Enable smart card reading services.pcscd.enable = true; - programs.gnupg.agent = { + environment.systemPackages = with pkgs; [ + yubikey-touch-detector + ]; + + # Send a notification if the YubiKey is waiting for touch. + systemd.user.services.yubikey-touch-detector = { enable = true; - pinentryFlavor = "curses"; + description = "Detects when your YubiKey is waiting for a touch"; + path = with pkgs; [ yubikey-touch-detector ]; + script = ''exec yubikey-touch-detector --notify''; + environment.YUBIKEY_TOUCH_DETECTOR_LIBNOTIFY = "true"; }; }; } diff --git a/nixos/users/tdpeuter/mail.nix b/nixos/users/tdpeuter/mail.nix index a7335c9..d6b4928 100644 --- a/nixos/users/tdpeuter/mail.nix +++ b/nixos/users/tdpeuter/mail.nix @@ -67,9 +67,13 @@ in { thunderbird = { enable = true; settings = id: { - "mail.server.server_${id}.authMethod" = 10; + "mail.server.server_${id}.authMethod" = 10; "mail.smtpserver.smtp_${id}.authMethod" = 10; - "mail.identity.id_${id}.htmlSigText" = signatures.UGent; + "mail.identity.id_${id}.htmlSigText" = signatures.UGent; + + # Allow PGP + "mail.identity.id_${id}.openpgp_key_id" = "9B11F5243089DB5B"; # Your 'master' key + "mail.identity.id_${id}.attachPgpKey" = true; }; }; }; @@ -117,10 +121,15 @@ in { profiles.tdpeuter = { isDefault = true; settings = { - "mailnews.default_sort_order" = 2; # Sort descending + # View + "mailnews.default_sort_order" = 2; # Sort descending "mailnews.mark_message_read.delay" = true; "mailnews.start_page.enabled" = false; - "mail.pane_config.dynamic" = 2; # Vertical view + "mail.pane_config.dynamic" = 2; # Vertical view + + # Encryption + "mail.openpgp.allow_external_gnupg" = true; # Enable YubiKey GPG signing + "mail.e2ee.auto_enable" = true; # Automatically enable encryption when possible. }; }; }; diff --git a/stow/sway/.config/sway/config b/stow/sway/.config/sway/config index 1b9ee29..922a75b 100644 --- a/stow/sway/.config/sway/config +++ b/stow/sway/.config/sway/config @@ -16,8 +16,8 @@ set { $scrollDown button5 # $term kitty || alacritty || foot - $term kitty - $menu j4-dmenu-desktop --dmenu "rofi -dmenu -i" --usage-log="/home/tdpeuter/.local/state/dmenu.log" + $term foot + $menu j4-dmenu-desktop --dmenu="rofi -dmenu -i" --no-generic --usage-log="/home/tdpeuter/.local/state/dmenu.log" --term=$term # TODO Find better location and better way to reference this. $window_switcher /home/tdpeuter/projects/fzf-jump/new.sh $lock swaylock -f