nix/programm_configs/i3.nix
2024-02-24 01:41:25 +01:00

38 lines
1.1 KiB
Nix

{ config, lib, pkgs, ... }:
let
mod = "Mod4";
in
{
xsession.windowManager.i3 = {
enable = true;
config = {
modifier = mod;
fonts = {
names = [ "DejaVu Sans Mono" "FontAwesome 6" ];
};
keybindings = lib.mkOptionDefault {
# rofi (dmenu)
"${mod}+d" = "exec rofi -show combi -config ~/.config/rofi/config.rasi";
# screenlock
"ctrl+${mod}+l" = "exec --no-startup-id ~/.config/i3/lock.sh";
# audio control fluff
"XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status";
"XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status";
"XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status";
"XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status";
# Terminal
"${mod}+Return" = "exec alacritty";
};
};
extraConfig = "floating_modifier ${mod}\n
gaps inner 10\n
gaps outer 0\n
smart_gaps on\n";
};
}