{ pkgs, ... }: { enable = true; systemd = { enable = true; variables = [ "--all" ]; }; xwayland.enable = true; plugins = [ pkgs.hyprlandPlugins.hyprsplit ]; settings = { plugin = { hyprsplit = { num_workspaces = 10; persistent_workspaces = false; }; }; "$mod" = "SUPER"; bind = [ "$mod+Shift, Q, exit" "$mod, C, killactive," "$mod+Ctrl, F, togglefloating," "$mod+Ctrl, S, togglesplit," "$mod, Escape, exec, hyprlock" "$mod, Space, exec, wofi --show drun" "$mod, Shift+Space, exec, wofi --show run" "$mod, O, exec, openproject" "$mod, V, exec, openproject -e nvim" "$mod, B, exec, bluemenu" "$mod, P, pseudo" "$mod, F1, exec, loadconfig" "$mod, S, exec, sshconnect" "$mod+Shift, Return, exec, alacritty" "$mod+Shift, B, exec, firefox" "$mod+Shift, P, exec, wofi-pass" "$mod+Shift, O, exec, wofi-pass otp" "$mod+Shift, E, exec, webtrayctl show https://chat.nathanreiner.xyz" "$mod+Shift+Alt, J, exec, webtrayctl show https://jellyfin.nathanreiner.xyz" "$mod+Shift, S, exec, signal-desktop" ", Print, exec, grimshot copy area" "$mod, h, movefocus, l" "$mod, l, movefocus, r" "$mod, k, movefocus, u" "$mod, j, movefocus, d" "$mod, f, fullscreen" "$mod, Return, layoutmsg, swapwithmaster master" "$mod, i, layoutmsg, addmaster" "$mod, d, layoutmsg, removemaster" "$mod+Shift, h, movewindow, l" "$mod+Shift, l, movewindow, r" "$mod+Shift, k, movewindow, u" "$mod+Shift, j, movewindow, d" "$mod, 1, split:workspace, 1" "$mod, 2, split:workspace, 2" "$mod, 3, split:workspace, 3" "$mod, 4, split:workspace, 4" "$mod, 5, split:workspace, 5" "$mod, 6, split:workspace, 6" "$mod, 7, split:workspace, 7" "$mod, 8, split:workspace, 8" "$mod, 9, split:workspace, 9" "$mod, 0, split:workspace, 10" "$mod+Shift, 1, split:movetoworkspacesilent, 1" "$mod+Shift, 2, split:movetoworkspacesilent, 2" "$mod+Shift, 3, split:movetoworkspacesilent, 3" "$mod+Shift, 4, split:movetoworkspacesilent, 4" "$mod+Shift, 5, split:movetoworkspacesilent, 5" "$mod+Shift, 6, split:movetoworkspacesilent, 6" "$mod+Shift, 7, split:movetoworkspacesilent, 7" "$mod+Shift, 8, split:movetoworkspacesilent, 8" "$mod+Shift, 9, split:movetoworkspacesilent, 9" "$mod+Shift, 0, split:movetoworkspacesilent, 10" ]; binde = [ "$mod, period, resizeactive, 20 0" "$mod, comma, resizeactive, -20 0" "$mod+Shift, period, resizeactive, 0 20" "$mod+Shift, comma, resizeactive, 0 -20" ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+" ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" ", XF86AudioPlay, exec, playerctl play-pause" ", XF86MonBrightnessDown, exec, brightnessctl set 10%-" ", XF86MonBrightnessUp, exec, brightnessctl set +10%" ]; bindm = [ "$mod, mouse:272, movewindow" ]; general = { gaps_in = 5; gaps_out = 5; layout = "master"; border_size = 1; "col.active_border" = "rgba(3c3836ff)"; "col.inactive_border" = "rgba(3c3836ff)"; }; decoration = { rounding = 4; shadow = { enabled = true; range = true; render_power = 4; }; }; animations = { enabled = true; animation = [ "windows, 1, 2, default" "layers, 1, 2, default" "border, 1, 2, default" "borderangle, 1, 2, default" "fade, 1, 2, default" "workspaces, 1, 2, default" ]; }; dwindle = { pseudotile = true; preserve_split = true; }; master = { new_on_top = true; new_status = "master"; }; input = { kb_options = "caps:escape"; touchpad = { natural_scroll = true; clickfinger_behavior = true; }; tablet = { output = "DP-3"; }; }; misc = { disable_hyprland_logo = true; disable_splash_rendering = true; enable_swallow = false; swallow_regex = "^(Alacritty)$"; animate_manual_resizes = true; }; windowrule = [ "pin,class:^(Hyprland::WinClass::Floating)$" "float,class:^(Hyprland::WinClass::Floating)$" "center,class:^(Hyprland::WinClass::Floating)$" # KDE Connect Presentation "opacity 1, title: KDE Connect Daemon" "noblur, title: KDE Connect Daemon" "noborder, title: KDE Connect Daemon" "noshadow, title: KDE Connect Daemon" "noanim, title: KDE Connect Daemon" "nofocus, title: KDE Connect Daemon" "suppressevent fullscreen, title: KDE Connect Daemon" "float, title: KDE Connect Daemon" "pin, title: KDE Connect Daemon" "move 0 0, title: KDE Connect Daemon" "size 1920 1080, title: KDE Connect Daemon" # Waydroid "float, size 500 900, class:^(waydroid\\..*)$" "float, size 500 900, class:^(Waydroid)$" # Nextcloud "float, move 100%-500 20, size 500 800, noborder, noblur, xray, pin, class:^(com.nextcloud\\..*)$, title:^(Nextcloud)$" ]; ecosystem = { no_update_news = true; }; exec-once = [ "signal-desktop" "kdeconnect-indicator" ]; }; }