diff options
| author | Quentin Aristote <quentin@aristote.fr> | 2021-08-06 18:51:59 +0200 |
|---|---|---|
| committer | Quentin Aristote <quentin@aristote.fr> | 2021-08-06 18:51:59 +0200 |
| commit | a1f7f43c95c049628e826856ec589b339cd4f5db (patch) | |
| tree | a0f5bb10fc36f02ad6dbaebf1232ca2548f9ccfa /home/config/i3/keybindings.nix | |
initial commit
Diffstat (limited to 'home/config/i3/keybindings.nix')
| -rw-r--r-- | home/config/i3/keybindings.nix | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/home/config/i3/keybindings.nix b/home/config/i3/keybindings.nix new file mode 100644 index 0000000..b35f666 --- /dev/null +++ b/home/config/i3/keybindings.nix @@ -0,0 +1,49 @@ +{ config, lib, pkgs, ... }: + +let + backgroundImage = config.home.wallpaper; + lockscreen = pkgs.personal.lockscreen.override { inherit backgroundImage; }; +in { + xsession.windowManager.i3.config = rec { + modifier = "Mod4"; + + keybindings = lib.mkOptionDefault (let + brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; + brightnessctlKbd = "${brightnessctl} --device dell:kbd_backlight"; + pactl = "${pkgs.pulseaudio}/bin/pactl"; + rofi = "${pkgs.rofi}/bin/rofi"; + in { + "${modifier}+Shift+Return" = "exec firefox"; + "${modifier}+Control+Return" = "exec $EDITOR"; + "${modifier}+Shift+e" = "exec i3-msg exit"; + "XF86MonBrightnessUp" = "exec ${brightnessctl} set 5%+"; + "XF86MonBrightnessDown" = "exec ${brightnessctl} set 5%-"; + "XF86AudioRaiseVolume" = + "exec ${pactl} set-sink-volume @DEFAULT_SINK@ +5%"; + "XF86AudioLowerVolume" = + "exec ${pactl} set-sink-volume @DEFAULT_SINK@ -5%"; + "XF86AudioMute" = "exec ${pactl} set-sink-mute @DEFAULT_SINK@ toggle"; + "Shift+XF86AudioRaiseVolume" = + "exec ${pactl} set-source-volume @DEFAULT_SOURCE@ +5%"; + "Shift+XF86AudioLowerVolume" = + "exec ${pactl} set-source-volume @DEFAULT_SOURCE@ -5%"; + "XF86AudioMicMute" = + "exec ${pactl} set-source-mute @DEFAULT_SOURCE@ toggle"; + "XF86KbdBrightnessUp" = '' + exec ${brightnessctlKbd} set \ + $(( $(${brightnessctlKbd} max) - $(${brightnessctlKbd} get) )) + ''; + "Print" = "exec xfce4-screenshooter"; + } // (if backgroundImage != null then { + "${modifier}+l" = "exec ${lockscreen}/bin/lockscreen.sh"; + } else + { }) // (if config.programs.alacritty.enable then { + "${modifier}+Return" = "exec ${pkgs.alacritty}/bin/alacritty"; + } else + { }) // (if config.programs.rofi.enable then { + "${modifier}+d" = ''exec "${rofi} -modi drun,run,window -show drun"''; + "${modifier}+Shift+d" = "exec ${rofi} -show window"; + } else + { })); + }; +} |
