nix-config/modules/home-manager/cli/sxhkd.nix

32 lines
1 KiB
Nix

{ config, lib, pkgs, ... }:
let
cfg = config.cli.${service};
service = "sxhkd";
inherit (lib) getExe mkIf mkEnableOption;
in
{
options.cli.${service} = {
enable = mkEnableOption "Enable ${service}";
};
config = mkIf cfg.enable {
xsession.enable = true;
services.${service} = {
enable = true;
keybindings = {
"{_, shift +, super +}XF86MonBrightness{Down,Up}" = "${getExe pkgs.brightnessctl} set {5%-,10%-,10%,+5%,+10%,100%} --quiet";
"super + x; {1, 2, 3, 4}" = "st {notes, newsboat, nmtui, bluetuith}";
"super + shift + b" = "/etc/profiles/per-user/opdavies/bin/bookmarkthis";
"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)";
"super + shift + p" = "${getExe pkgs.passmenu-otp} -i";
"@F3" = "${getExe pkgs.displayselect}";
"@F9" = "/home/opdavies/.local/bin/mounter";
"@F10" = "/home/opdavies/.local/bin/unmounter";
};
};
};
}