# SPDX-FileCopyrightText: 2023-2024 Simon Bruder # # SPDX-License-Identifier: AGPL-3.0-or-later { config, lib, pkgs, ... }: lib.mkMerge [ (lib.mkIf (!config.sbruder.machine.isVm) { hardware.nitrokey.enable = true; }) (lib.mkIf config.sbruder.gui.enable { environment.systemPackages = with pkgs; [ # both depend on pypemicro, which is not needed, but nixpkgs requires it # (even though it could have been optional: https://github.com/NixOS/nixpkgs/pull/183099#discussion_r933226708) #nitrokey-app2 #pynitrokey ]; systemd.user.services.gpg-force-learn-cards = { serviceConfig = { ExecStart = "${pkgs.gnupg}/bin/gpg-connect-agent 'learn --force' '/bye'"; }; }; services.udev.extraRules = '' SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="42b2", ENV{SYSTEMD_USER_WANTS}="gpg-force-learn-cards.service" ''; }) ]