nix-configs/modules/hardware/hardware_key.nix

38 lines
680 B
Nix
Raw Normal View History

2024-08-01 08:17:09 +02:00
{
pkgs,
config,
lib,
...
2025-04-11 09:20:46 +02:00
}:
let
2024-08-01 08:17:09 +02:00
cfg = config.jade.hwKey;
in
2025-04-11 09:20:46 +02:00
with lib;
{
options.jade.hwKey = {
pamAuth.enable = mkEnableOption "Enable PAM authentication with hardware keys";
};
config = {
# nitrokey
services.udev.packages = [ pkgs.nitrokey-udev-rules ];
2025-04-11 09:20:46 +02:00
# smartcard daemon
services.pcscd.enable = true;
2025-04-11 09:20:46 +02:00
# authenticate using hw key
security.pam = {
services.jade.u2fAuth = cfg.pamAuth.enable;
u2f = {
enable = true;
control = "sufficient";
settings = {
cue = true;
authFile = "/home/jade/.ssh/u2f_keys";
2024-08-01 08:17:09 +02:00
};
};
};
2025-04-11 09:20:46 +02:00
programs.i3lock.u2fSupport = true;
};
}