blob: 5efdeaa5bf092c6fcc2a18943753ec6f3cb6bffa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
{ 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";
} // (lib.optionalAttrs (backgroundImage != null) {
"${modifier}+l" = "exec ${lockscreen}/bin/lockscreen.sh";
}) // (lib.optionalAttrs config.programs.alacritty.enable {
"${modifier}+Return" = "exec ${pkgs.alacritty}/bin/alacritty";
}) // (lib.optionalAttrs config.programs.rofi.enable {
"${modifier}+d" = ''exec "${rofi} -modi drun,run,window -show drun"'';
"${modifier}+Shift+d" = "exec ${rofi} -show window";
}) // (lib.optionalAttrs config.services.emacs.client.enable {
"${modifier}+Control+r" = "exec systemctl --user restart emacs.service";
}));
};
}
|