diff options
| author | Quentin Aristote <quentin@aristote.fr> | 2023-02-22 22:39:56 +0100 |
|---|---|---|
| committer | Quentin Aristote <quentin@aristote.fr> | 2023-02-28 17:47:49 +0100 |
| commit | 70d60e5ee6d1092f765807b8483c9c16d2afa678 (patch) | |
| tree | edeb7a91de348d6fc5dd0e43b9ca7bef794b322c /modules/home-manager/personal/gui/x/i3/keybindings.nix | |
| parent | bbb2f5e7cefb970b3e4994ee51bb2c3a18a073c2 (diff) | |
add home-manager modules
Diffstat (limited to 'modules/home-manager/personal/gui/x/i3/keybindings.nix')
| -rw-r--r-- | modules/home-manager/personal/gui/x/i3/keybindings.nix | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/modules/home-manager/personal/gui/x/i3/keybindings.nix b/modules/home-manager/personal/gui/x/i3/keybindings.nix new file mode 100644 index 0000000..3781867 --- /dev/null +++ b/modules/home-manager/personal/gui/x/i3/keybindings.nix @@ -0,0 +1,47 @@ +{ config, lib, pkgs, ... }: + +let + brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; + brightnessctlKbd = "${brightnessctl} --device dell:kbd_backlight"; + volumectl = "${pkgs.pulseaudio}/bin/pactl"; + screenshot = "${pkgs.shutter}/bin/shutter"; + + modifier = "Mod4"; +in { + xsession.windowManager.i3.config = { + inherit modifier; + + keybindings = lib.mkOptionDefault { + # launching apps + "${modifier}+Control+Return" = ''exec "$EDITOR"''; + "${modifier}+Shift+Return" = ''exec "$BROWSER"''; + "${modifier}+d" = lib.mkIf config.programs.rofi.enable + ''exec "rofi -modi drun,filebrowser,run,window -show drun"''; + + # exiting + "${modifier}+Shift+e" = "exec i3-msg exit"; + "${modifier}+l" = + "exec ${config.personal.home.lockscreen}/bin/lockscreen.sh"; + + # media keys + "XF86MonBrightnessUp" = "exec ${brightnessctl} set 5%+"; + "XF86MonBrightnessDown" = "exec ${brightnessctl} set 5%-"; + "XF86AudioRaiseVolume" = + "exec ${volumectl} set-sink-volume @DEFAULT_SINK@ +5%"; + "XF86AudioLowerVolume" = + "exec ${volumectl} set-sink-volume @DEFAULT_SINK@ -5%"; + "XF86AudioMute" = "exec ${volumectl} set-sink-mute @DEFAULT_SINK@ toggle"; + "Shift+XF86AudioRaiseVolume" = + "exec ${volumectl} set-source-volume @DEFAULT_SOURCE@ +5%"; + "Shift+XF86AudioLowerVolume" = + "exec ${volumectl} set-source-volume @DEFAULT_SOURCE@ -5%"; + "XF86AudioMicMute" = + "exec ${volumectl} set-source-mute @DEFAULT_SOURCE@ toggle"; + "XF86KbdBrightnessUp" = '' + exec ${brightnessctlKbd} set \ + $(( $(${brightnessctlKbd} max) - $(${brightnessctlKbd} get) )) + ''; + "Print" = "exec ${screenshot}"; + }; + }; +} |
