From d6a1385cfd91a51868dfada051b019aafd2efa94 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Sun, 12 Mar 2023 18:38:54 -0700 Subject: home/yubikey: install (and run) yubikey-touch-detector This is a useful tool to know when I'm supposed to touch my yubikey (sometimes I forget that some actions require that). Also configure a systemd unit to run it, and configure it to send a notification to the desktop (at the moment this is consumed by mako). --- home/yubikey/default.nix | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'home') 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" ]; + }; + }; }; } -- cgit 1.4.1