2025-07-10 22:55:59 +01:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}:
|
2025-05-25 15:11:33 +01:00
|
|
|
|
|
|
|
let
|
2025-07-09 08:00:00 +01:00
|
|
|
cfg = config.features.cli.${service};
|
2025-05-25 15:11:33 +01:00
|
|
|
service = "sxhkd";
|
|
|
|
|
|
|
|
inherit (lib) getExe mkIf mkEnableOption;
|
|
|
|
in
|
|
|
|
{
|
2025-07-09 08:00:00 +01:00
|
|
|
options.features.cli.${service} = {
|
2025-05-25 15:11:33 +01:00
|
|
|
enable = mkEnableOption "Enable ${service}";
|
|
|
|
};
|
|
|
|
|
|
|
|
config = mkIf cfg.enable {
|
2025-05-31 13:25:46 +01:00
|
|
|
xsession.enable = true;
|
|
|
|
|
2025-05-25 15:11:33 +01:00
|
|
|
services.${service} = {
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
keybindings = {
|
2025-07-10 22:55:59 +01:00
|
|
|
"{_, shift +, super +}XF86MonBrightness{Down,Up}" =
|
|
|
|
"${getExe pkgs.brightnessctl} set {5%-,10%-,10%,+5%,+10%,100%} --quiet";
|
2025-07-09 00:23:48 +01:00
|
|
|
"super + BackSpace" = "/home/opdavies/sysact";
|
2025-05-29 17:00:38 +01:00
|
|
|
"super + shift + b" = "/etc/profiles/per-user/opdavies/bin/bookmarkthis";
|
2025-07-10 22:55:59 +01:00
|
|
|
"super + shift + i" =
|
|
|
|
"${pkgs.xdotool}/bin/xdotool type $(cat ~/.local/share/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)";
|
2025-05-29 17:00:38 +01:00
|
|
|
"super + shift + p" = "${getExe pkgs.passmenu-otp} -i";
|
2025-07-09 00:23:48 +01:00
|
|
|
"super + x; {1, 2, 3, 4}" = "st {notes, newsboat, nmtui, bluetuith}";
|
2025-05-29 17:00:38 +01:00
|
|
|
"@F3" = "${getExe pkgs.displayselect}";
|
|
|
|
"@F9" = "/home/opdavies/.local/bin/mounter";
|
|
|
|
"@F10" = "/home/opdavies/.local/bin/unmounter";
|
2025-05-25 15:11:33 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|