{ config, lib, pkgs, ...}: let mod = "Mod4"; in { xsession = { enable = true; windowManager.i3 = { enable = true; config = { bars = [ { fonts = { size = 11.0; }; statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs /home/daniel/.config/i3status-rust/config-main.toml"; position = "top"; } ]; defaultWorkspace = "workspace number 1"; floating = { modifier = mod; criteria = [ { instance = "pavucontrol"; } ]; }; focus = { followMouse = false; }; fonts = { names = [ "pango:monospace 8" ]; style = "monospace"; size = 8.0; }; keybindings = lib.mkOptionDefault { "${mod}+q" = "kill"; "${mod}+d" = "exec rofi -show drun"; "${mod}+h" = "focus left"; "${mod}+j" = "focus down"; "${mod}+k" = "focus up"; "${mod}+l" = "focus right"; "${mod}+Shift+h" = "move left"; "${mod}+Shift+l" = "move right"; "${mod}+b" = "split h"; "${mod}+v" = "split v"; "${mod}+Control+Return" = "exec --no-startup-id i3utils workspace new"; "${mod}+Control+Shift+Return" = "exec --no-startup-id i3utils workspace new -b"; "${mod}+Shift+Return" = "exec --no-startup-id i3utils workspace new -n, move next"; "${mod}+Control+j" = "exec --no-startup-id $HOME/bin/scripts/godown"; "${mod}+Control+k" = "exec --no-startup-id $HOME/bin/scripts/goup"; "${mod}+Control+h" = "exec --no-startup-id i3utils workspace new -b"; "${mod}+Shift+k" = "exec --no-startup-id i3utils window move prev"; "${mod}+Shift+j" = "exec --no-startup-id i3utils window move next"; "${mod}+p" = "scratchpad show"; "${mod}+Escape" = "exec i3lock -i /home/daniel/wallpapers/lock.png"; "${mod}+Shift+Escape" = "exec i3lock -i /home/daniel/wallpapers/lock.png && systemctl suspend"; }; modifier = mod; startup = [ { command = "$HOME/bin/scripts/flower"; always = true; } { command = "feh --bg-fill $HOME/wallpapers/wallpaper.jpg"; always = false; } ]; terminal = "alacritty"; window = { border = 5; titlebar = false; commands = [ { command = "move position center #2116 46"; criteria = { class = "jetbrains-toolbox"; }; } { command = "move scratchpad"; criteria = { instance = "spotify"; }; } ]; }; }; }; }; }