{ pkgs, inputs, ... }: { imports = [inputs.niri-flake.homeModules.niri]; home.packages = with pkgs; [ swaybg wl-clipboard ]; programs = { alacritty.enable = true; fuzzel.enable = true; swaylock.enable = true; waybar.enable = true; }; services = { mako.enable = true; swayidle.enable = true; polkit-gnome.enable = true; }; programs.niri = { enable = true; settings = { spawn-at-startup = [ {command = ["waybar"];} ]; input = { keyboard = { xkb = { layout = "cz"; options = "caps:escape"; }; }; }; outputs = { "DP-1".mode = { width = 2560; height = 1440; }; "DP-2".mode = { width = 1920; height = 1080; }; }; environment = { NIXOS_OZONE_WL = "1"; TERMINAL = "foot"; SDL_VIDEODRIVER = "wayland"; CLUTTER_BACKEND = "wayland"; }; gestures = { hot-corners.enable = false; }; layout = { gaps = 8; default-column-width = {proportion = 1;}; preset-column-widths = [ {proportion = 0.33333;} {proportion = 0.5;} {proportion = 0.66667;} {proportion = 1.0;} ]; preset-window-heights = [ {proportion = 0.33333;} {proportion = 0.5;} {proportion = 0.66667;} {proportion = 1.0;} ]; }; prefer-no-csd = true; cursor.size = 14; screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"; hotkey-overlay.skip-at-startup = true; window-rules = [ { clip-to-geometry = true; } ]; input = { keyboard.numlock = true; warp-mouse-to-focus.enable = true; focus-follows-mouse = { enable = true; max-scroll-amount = "0%"; }; }; binds = { "Mod+Q".action.close-window = []; "Mod+Return".action.spawn = ["foot"]; "Mod+A".action.spawn = ["fuzzel"]; "Mod+B".action.spawn = ["zen"]; "Mod+O".action.toggle-overview = []; # Change monitor focus "Mod+Alt+H".action.focus-monitor-left = []; "Mod+Alt+L".action.focus-monitor-right = []; "Mod+Alt+Left".action.focus-monitor-left = []; "Mod+Alt+Right".action.focus-monitor-right = []; # Vim motions "Mod+H".action.focus-column-left = []; "Mod+L".action.focus-column-right = []; "Mod+J".action.focus-window-down = []; "Mod+K".action.focus-window-up = []; "Mod+Left".action.focus-column-left = []; "Mod+Right".action.focus-column-right = []; "Mod+Down".action.focus-window-down = []; "Mod+Up".action.focus-window-up = []; "Mod+WheelScrollDown".action.focus-column-right = []; "Mod+WheelScrollUp".action.focus-column-left = []; "Mod+Y".action.consume-or-expel-window-left = []; "Mod+X".action.consume-or-expel-window-right = []; "Mod+R".action.switch-preset-column-width = []; "Mod+Shift+R".action.switch-preset-window-height = []; "Mod+F".action.maximize-column = []; "Mod+Shift+F".action.fullscreen-window = []; "Mod+W".action.toggle-window-floating = []; "Mod+Minus".action.set-column-width = ["-10%"]; "Mod+Plus".action.set-column-width = ["+10%"]; "Print".action.screenshot = []; "Ctrl+Print".action.screenshot-screen = []; "Alt+Print".action.screenshot-window = []; "XF86AudioPlay".action.spawn = ["playerctl" "play-pause"]; "XF86AudioNext".action.spawn = ["playerctl" "next"]; "XF86AudioPrev".action.spawn = ["playerctl" "previous"]; "XF86AudioStop".action.spawn = ["playerctl" "stop"]; "XF86AudioRaiseVolume".action.spawn = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"]; "XF86AudioLowerVolume".action.spawn = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"]; "xF86AudioMute".action.spawn = ["wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"]; }; }; }; }