nixos-config/modules/nitrokey.nix

30 lines
946 B
Nix

# SPDX-FileCopyrightText: 2023-2024 Simon Bruder <simon@sbruder.de>
#
# 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"
'';
})
]