forked from fabian/nix
		
	
		
			
				
	
	
		
			44 lines
		
	
	
	
		
			796 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			796 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   config,
 | |
|   lib,
 | |
|   pkgs,
 | |
|   ...
 | |
| }:
 | |
| with lib; let
 | |
|   cfg = config.local.sys.yubikey;
 | |
| in {
 | |
|   options.local.sys.yubikey = {
 | |
|     enable = mkEnableOption "yubikey settings";
 | |
|   };
 | |
|   config = mkIf cfg.enable {
 | |
|     services = {
 | |
|       pcscd.enable = true;
 | |
|       udev.packages = [pkgs.yubikey-personalization];
 | |
|     };
 | |
| 
 | |
|     environment.etc."pkcs11/modules/ykcs11".text = ''
 | |
|       module: ${pkgs.yubico-piv-tool}/lib/libykcs11.so
 | |
|     '';
 | |
| 
 | |
|     programs.gnupg.agent = {
 | |
|       enable = true;
 | |
|       enableSSHSupport = true;
 | |
|     };
 | |
| 
 | |
|     security.pam = {
 | |
|       services = {
 | |
|         login.u2fAuth = true;
 | |
|         sudo.u2fAuth = true;
 | |
|       };
 | |
| 
 | |
|       u2f = {
 | |
|         enable = true;
 | |
|         control = "sufficient";
 | |
|         settings = {
 | |
|           debug = false;
 | |
|           cue = true;
 | |
|         };
 | |
|       };
 | |
|     };
 | |
|   };
 | |
| }
 |