refactor(yubikey)!: add supportLuks option

This commit is contained in:
Moritz Böhme 2023-03-14 09:52:28 +01:00
parent ab6cbc0cdc
commit 2a30af014e
4 changed files with 27 additions and 8 deletions

View file

@ -9,9 +9,20 @@ let
cfg = config.my.yubikey;
in
{
options.my.yubikey = mkEnableOption "yubikey";
options.my.yubikey = {
enable = mkEnableOption "yubikey";
luksSupport = {
enable = mkEnableOption "fido2 luks support";
devices = mkOption {
type = types.listOf types.str;
default = [ ];
description = "List of luks devices to enable fido2 support for.";
};
};
};
config = {
config = mkIf cfg.enable {
services.udev.packages = [ pkgs.yubikey-personalization ];
environment.systemPackages = with pkgs; [
# cli
@ -22,5 +33,12 @@ in
yubikey-manager-qt
yubikey-personalization-gui
];
boot = mkIf cfg.luksSupport.enable {
initrd.systemd.enable = true;
initrd.luks.devices = genAttrs cfg.luksSupport.devices (_: {
crypttabExtraOpts = [ "fido2-device=auto" ];
});
};
};
}