niri and yubikey login config

This commit is contained in:
twoneis 2025-03-07 12:48:04 +01:00
parent b40f1fc5fb
commit 3641a241a1
3 changed files with 29 additions and 2 deletions

View file

@ -64,6 +64,7 @@ in {
settings = import ./niri.conf.nix {
lib = lib;
config = config;
pkgs = pkgs;
};
};
@ -92,6 +93,22 @@ in {
};
};
services.swayidle = let
lockCmd = "${config.home-manager.users.${conf.username}.programs.swaylock.package}/bin/swaylock";
in {
enable = true;
events = [
{
event = "lock";
command = lockCmd;
}
{
event = "before-sleep";
command = lockCmd;
}
];
};
services.mako = {
enable = true;
defaultTimeout = 5000;

View file

@ -1,6 +1,7 @@
{
lib,
config,
pkgs,
...
}: let
inherit (config.conf) keys extraLayout;
@ -128,7 +129,6 @@ in {
spawn-at-startup = [
{command = ["waybar"];}
{command = ["swayidle" "-w" "before-sleep" "swaylock"];}
];
binds = {
@ -258,7 +258,7 @@ in {
"Print".action.screenshot-screen = [];
# Exit
"Mod+Shift+L".action.spawn = "swaylock";
"Mod+Shift+L".action.spawn = ["${pkgs.systemd}/bin/loginctl" "lock-session"];
"Mod+Shift+Q".action.quit = [];
};
}

View file

@ -31,5 +31,15 @@ in
cue = true;
control = "required";
};
# Lock when removing yubikey
services.udev.extraRules = ''
ACTION=="remove",\
ENV{ID_BUS}=="usb",\
ENV{ID_MODEL_ID}=="0407",\
ENV{ID_VENDOR_ID}=="1050",\
ENV{ID_VENDOR}=="Yubico",\
RUN+="${pkgs.systemd}/bin/loginctl lock-sessions"
'';
})
]