{ 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"; }; }