nix/programm_configs/i3.nix
2024-04-23 12:53:48 +02:00

68 lines
1.7 KiB
Nix

{ config, lib, pkgs, ... }:
let
mod = "Mod4";
in
{
xsession.windowManager.i3 = {
enable = true;
config = {
bars = [ ];
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
"${mod}+shift+l" = "exec --no-startup-id ~/.config/i3/lock.sh";
# audio control fluff
"XF86AudioRaiseVolume" = "exec --no-startup-id wpctl set-volume @DEFAULT_SINK@ 5%+ && $refresh_i3status";
"XF86AudioLowerVolume" = "exec --no-startup-id wpctl set-volume @DEFAULT_SINK@ 5%- && $refresh_i3status";
"XF86AudioMute" = "exec --no-startup-id wpctl set-mute @DEFAULT_SINK@ toggle && $refresh_i3status";
# Terminal
"${mod}+Return" = "exec alacritty";
};
startup = [
{
command = "systemctl --user restart polybar";
always = true;
notification = false;
}
{
command = "nextcloud";
always = true;
notification = false;
}
{
command = "systemctl --user restart redshift";
always = true;
notification = false;
}
{
command = "systemctl --user restart xfce4-notifyd.service";
always = true;
notification = false;
}
{
command = "blueman-applet";
always = true;
notification = false;
}
];
};
extraConfig = "floating_modifier ${mod}\n
gaps inner 10\n
gaps outer 0\n
smart_gaps on\n
for_window [class=\"Vulkan\"] floating enable\n";
};
}