nix/programm_configs/i3.nix
2024-04-18 22:41:46 +02:00

68 lines
1.8 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
"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";
};
startup = [
{
command = "systemctl --user restart polybar";
always = true;
notification = false;
}
{
command = "nextcloud";
always = true;
notification = false;
}
{
command = "systemcrl --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";
};
}