From 66ceba96bdaf10391540e026147e70c71e85576c Mon Sep 17 00:00:00 2001
From: Jeremy <jmzagorski@proton.me>
Date: Sat, 21 Dec 2024 10:41:56 -0500
Subject: [PATCH] docs(wsl): Add usbipd in WSL setup

Add usbipd-win library as an alternate method to accessing the yubikey since vuori/weasel-pageant is archived.
---
 README.md | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/README.md b/README.md
index 08c190a..fcd054e 100644
--- a/README.md
+++ b/README.md
@@ -1389,6 +1389,26 @@ Connect to the remote host and use `ssh-add -l` to confirm forwarding works.
 
 Agent forwarding may be chained through multiple hosts. Follow the same [protocol](#remote-host-configuration) to configure each host.
 
+An alternate method is the [usbipd-win](https://github.com/dorssel/usbipd-win) library. If you encounter issues with accessing the YubiKey in WSL after configuring usbipd-win, you may need to add custom polkit rules to ensure proper permissions for the pcscd service. Here's an example configuration using a scard group (the group logic is optional):
+
+Create a new rule file at /etc/polkit-1/rules.d/99-pcscd.rules:
+
+```bash
+polkit.addRule(function(action, subject) {
+    if (action.id == "org.debian.pcsc-lite.access_card" &&
+        subject.isInGroup("scard")) {
+        return polkit.Result.YES;
+    }
+});
+
+polkit.addRule(function(action, subject) {
+    if (action.id == "org.debian.pcsc-lite.access_pcsc" &&
+        subject.isInGroup("scard")) {
+        return polkit.Result.YES;
+    }
+});
+```
+
 ### Replace agents
 
 To launch `gpg-agent` for use by SSH, use the `gpg-connect-agent /bye` or `gpgconf --launch gpg-agent` commands.
-- 
GitLab