nix-home/modules/personal/u2f.nix

30 lines
641 B
Nix
Raw Normal View History

2022-05-15 18:46:17 +00:00
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.personal.u2f;
in
{
options.personal.u2f = {
enable = mkEnableOption "Enable personal U2F login modules and stuff";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
pam_u2f # for pamu2fcfg
];
security.pam = mkIf (strings.hasSuffix "linux" pkgs.system) {
u2f = {
enable = true;
cue = true;
interactive = true;
};
# Services
services.sudo.u2fAuth = true;
services.login.u2fAuth = true;
services.swaylock.u2fAuth = mkIf (config.services.swaylock.enable) true;
};
};
}