Nicolas Graves writes: > On 2022-10-11 11:48, Christopher Baines wrote: > >> What relation does pcsc-lite have to this package, and why does it need >> to be propagated? >> >> If this can be avoid, that would be good. Otherwise it would be good to >> mention why the propagation is needed in a comment. > > For piv-go, in their README: > > To build on Linux, piv-go requires PCSC lite. To install on Debian-based distros, run: > sudo apt-get install libpcsclite-dev > > ==> So probably no need to propagate here. > > ---- > > For yubikey-agent: > > The package relies on pcscd (daemon) to run on linux, which is already > available in guix. Maybe it's better to say that in the README ? Instead > of the package, what it needs is actually the service. > > I've also written some tested lines for a yubikey-agent > configuration/feature (as done in the RDE project) shepherd service, > although as it is really tiny, I didn't know if I should've contributed > this. > > It looks like that, and did work (it also depends on the acceptance of > the patch https://issues.guix.gnu.org/52900 in this case): > > (define* (feature-yubikey-agent > #:key > (yubikey-agent yubikey-agent)) > "Configure Yubikey-Agent." > (ensure-pred file-like? yubikey-agent) > > (define (get-system-services _) > (list > (service pcscd-service-type) > (udev-rules-service > 'yubikey > (file->udev-rule > "70-u2f.rules" > (file-append libfido2 "/udev/rules.d/70-u2f.rules"))))) > > ;; (define (get-home-services config) > ;; (list > ;; ;; MAYBE: It should be installed system-wide? > ;; (simple-service > ;; 'yubikey-agent-add-yubikey-agent-package > ;; home-profile-service-type > ;; (list yubikey-agent)) > ;; (simple-service > ;; 'start-yubikey-agent-at-startup > ;; home-shepherd-service-type > ;; (list (shepherd-service > ;; (documentation "Run the yubikey-agent.") > ;; (provision '(yubikey-agent)) > ;; (requirement '()) > ;; (start #~(make-forkexec-constructor > ;; (list (string-append > ;; #$yubikey-agent "/bin/yubikey-agent") > ;; "-l" "/tmp/yubikey-agent.sock"))) > ;; (stop #~(make-kill-destructor))))))) > > (feature > (name 'yubikey-agent) > (values `((yubikey-agent . ,yubikey-agent))) > (system-services-getter get-system-services) > ;; (home-services-getter get-home-services) > )) > > > I'm not sure what would be the guideline here regarding doing or > avoiding propagations. WDYT? (I'm sending a V2 once I have a clearer > idea of what makes sense). I'd try avoiding all the propagated inputs and then tackle the issue of getting the service working separately. Thanks, Chris