about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--home/yubikey/default.nix26
1 files changed, 25 insertions, 1 deletions
diff --git a/home/yubikey/default.nix b/home/yubikey/default.nix
index 640ed09..d4b73d5 100644
--- a/home/yubikey/default.nix
+++ b/home/yubikey/default.nix
@@ -7,6 +7,30 @@ in
   };
 
   config = lib.mkIf cfg.enable {
-    home.packages = with pkgs; [ yubikey-manager ];
+    home.packages = with pkgs; [ yubikey-manager yubikey-touch-detector ];
+
+    systemd.user.sockets.yubikey-touch-detector = {
+      Unit.Description = "Unix socket activation for YubiKey touch detector service";
+      Socket = {
+        ListenStream = "%t/yubikey-touch-detector.socket";
+        RemoveOnStop = true;
+      };
+      Install.WantedBy = [ "sockets.target" ];
+    };
+
+    systemd.user.services.yubikey-touch-detector = {
+      Unit = {
+        Description = "Detects when your YubiKey is waiting for a touch";
+        Requires = "yubikey-touch-detector.socket";
+      };
+      Service = {
+        ExecStart = "${pkgs.yubikey-touch-detector}/bin/yubikey-touch-detector --libnotify";
+        EnvironmentFile = "-%E/yubikey-touch-detector/service.conf";
+      };
+      Install = {
+        Also = "yubikey-touch-detector.socket";
+        WantedBy = [ "default.target" ];
+      };
+    };
   };
 }