{ pkgs, ... }: { wayland.windowManager.niri = { enable = true; settings = { input = { keyboard = { xkb = { layout = "cz"; options = "eurosign:e,caps:escape"; }; }; mouse = { accel-profile = "adaptive"; accel-speed = 0.0; }; touchpad = { tap = true; dwt = true; natural-scroll = false; }; }; outputs = [ { name = "eDP-1"; scale = 1.5; variable-refresh-rate = true; } ]; layout = { gaps = 5; }; spawn-at-startup = [ { command = [ "dunst" ]; } { command = [ "nm-applet" ]; } { command = [ "blueman-applet" ]; } { command = [ "waybar" ]; } ]; binds = { "Super+T" = ''spawn "kitty"''; "Super+N" = ''spawn "firefox"''; "Super+M" = ''spawn "rofi" "-show" "drun"''; "Super+Shift+M" = ''spawn "kitty" "nnn"''; "Super+Shift+S" = ''spawn "flameshot" "gui"''; "Super+Ctrl+L" = ''spawn "hyprlock"''; # Focus "Super+H" = "focus-column-left"; "Super+J" = "focus-window-down"; "Super+K" = "focus-window-up"; "Super+L" = "focus-column-right"; # Move windows "Super+Shift+H" = "move-column-left"; "Super+Shift+J" = "move-window-down"; "Super+Shift+K" = "move-window-up"; "Super+Shift+L" = "move-column-right"; # Workspaces "Super+1" = "workspace 1"; "Super+2" = "workspace 2"; "Super+3" = "workspace 3"; "Super+4" = "workspace 4"; "Super+5" = "workspace 5"; "Super+6" = "workspace 6"; "Super+7" = "workspace 7"; "Super+8" = "workspace 8"; "Super+9" = "workspace 9"; "Super+0" = "workspace 10"; "Super+Shift+1" = "move-workspace 1"; "Super+Shift+2" = "move-workspace 2"; "Super+Shift+3" = "move-workspace 3"; "Super+Shift+4" = "move-workspace 4"; "Super+Shift+5" = "move-workspace 5"; "Super+Shift+6" = "move-workspace 6"; "Super+Shift+7" = "move-workspace 7"; "Super+Shift+8" = "move-workspace 8"; "Super+Shift+9" = "move-workspace 9"; "Super+Shift+0" = "move-workspace 10"; # Window management "Super+Shift+Q" = "close-window"; "Super+F" = "maximize-column"; "Super+Shift+Space" = "toggle-window-floating"; "Super+E" = "toggle-split"; # Media keys "XF86MonBrightnessUp" = ''spawn "brightnessctl" "set" "+10%"''; "XF86MonBrightnessDown" = ''spawn "brightnessctl" "set" "10%-"''; "XF86AudioRaiseVolume" = ''spawn "wpctl" "set-volume" "-l" "1.5" "@DEFAULT_AUDIO_SINK@" "5%+"''; "XF86AudioLowerVolume" = ''spawn "wpctl" "set-volume" "-l" "1.5" "@DEFAULT_AUDIO_SINK@" "5%-"''; "XF86AudioMute" = ''spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"''; "XF86AudioMicMute" = ''spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"''; # System "Super+Shift+C" = "reload-config"; }; window-rules = [ { geometry-corner-radius = { top-left = 15; top-right = 15; bottom-left = 15; bottom-right = 15; }; clip-to-geometry = true; } ]; animations = { workspace-switch = { duration-ms = 200; curve = "ease-out-cubic"; }; }; prefer-no-csd = true; }; }; home.packages = with pkgs; [ hyprlock ]; }