From e3b8b06eebd003b2be050a0fe7f3cbd9e10cd72b Mon Sep 17 00:00:00 2001 From: Vivian Elisabeth H <36878099+SparkleDEV@users.noreply.github.com> Date: Tue, 13 Jan 2026 20:59:27 +0100 Subject: [PATCH] Added EXPERIMENTAL hyprland config --- hyprland/.config/hypr/dms/binds.conf | 111 +++++++++++++++++++++++ hyprland/.config/hypr/dms/colors.conf | 25 ++++++ hyprland/.config/hypr/dms/cursor.conf | 6 ++ hyprland/.config/hypr/dms/layout.conf | 11 +++ hyprland/.config/hypr/dms/outputs.conf | 4 + hyprland/.config/hypr/hyprland.conf | 118 +++++++++++++++++++++++++ install.sh | 45 +++++++++- 7 files changed, 319 insertions(+), 1 deletion(-) create mode 100644 hyprland/.config/hypr/dms/binds.conf create mode 100644 hyprland/.config/hypr/dms/colors.conf create mode 100644 hyprland/.config/hypr/dms/cursor.conf create mode 100644 hyprland/.config/hypr/dms/layout.conf create mode 100644 hyprland/.config/hypr/dms/outputs.conf create mode 100644 hyprland/.config/hypr/hyprland.conf diff --git a/hyprland/.config/hypr/dms/binds.conf b/hyprland/.config/hypr/dms/binds.conf new file mode 100644 index 0000000..cd0ed21 --- /dev/null +++ b/hyprland/.config/hypr/dms/binds.conf @@ -0,0 +1,111 @@ +bind = ALT, Print, exec, dms screenshot window +bind = CTRL ALT, Delete, exec, dms ipc call processlist focusOrToggle +bind = CTRL, Print, exec, dms screenshot full +bind = , Print, exec, dms screenshot +bind = SUPER ALT, L, exec, dms ipc call lock lock +bind = SUPER, M, exec, dms ipc call processlist focusOrToggle +bind = SUPER, N, exec, dms ipc call notifications toggle +bind = SUPER SHIFT, N, exec, dms ipc call notepad toggle +bind = SUPER SHIFT, Slash, exec, dms ipc call keybinds toggle hyprland +bind = SUPER, TAB, exec, dms ipc call hypr toggleOverview +bind = SUPER, V, exec, dms ipc call clipboard toggle +bind = SUPER, X, exec, dms ipc call powermenu toggle +bind = SUPER, Y, exec, dms ipc call dankdash wallpaper +bind = SUPER, comma, exec, dms ipc call settings focusOrToggle +bind = SUPER, space, exec, dms ipc call spotlight toggle +bindel = , XF86AudioLowerVolume, exec, dms ipc call audio decrement 3 +bindl = , XF86AudioMicMute, exec, dms ipc call audio micmute +bindl = , XF86AudioMute, exec, dms ipc call audio mute +bindl = , XF86AudioNext, exec, dms ipc call mpris next +bindl = , XF86AudioPause, exec, dms ipc call mpris playPause +bindl = , XF86AudioPlay, exec, dms ipc call mpris playPause +bindl = , XF86AudioPrev, exec, dms ipc call mpris previous +bindel = , XF86AudioRaiseVolume, exec, dms ipc call audio increment 3 +bindel = , XF86MonBrightnessDown, exec, dms ipc call brightness decrement 5 "" +bindel = , XF86MonBrightnessUp, exec, dms ipc call brightness increment 5 "" +bind = SUPER, 1, workspace, 1 +bind = SUPER, 2, workspace, 2 +bind = SUPER, 3, workspace, 3 +bind = SUPER, 4, workspace, 4 +bind = SUPER, 5, workspace, 5 +bind = SUPER, 6, workspace, 6 +bind = SUPER, 7, workspace, 7 +bind = SUPER, 8, workspace, 8 +bind = SUPER, 9, workspace, 9 +bind = SUPER CTRL, I, movetoworkspace, e-1 +bind = SUPER CTRL, U, movetoworkspace, e+1 +bind = SUPER CTRL, down, movetoworkspace, e+1 +bind = SUPER CTRL, mouse_down, movetoworkspace, e+1 +bind = SUPER CTRL, mouse_up, movetoworkspace, e-1 +bind = SUPER CTRL, up, movetoworkspace, e-1 +bind = SUPER, I, workspace, e-1 +bind = SUPER, Page_Down, workspace, e+1 +bind = SUPER, Page_Up, workspace, e-1 +bind = SUPER SHIFT, 1, movetoworkspace, 1 +bind = SUPER SHIFT, 2, movetoworkspace, 2 +bind = SUPER SHIFT, 3, movetoworkspace, 3 +bind = SUPER SHIFT, 4, movetoworkspace, 4 +bind = SUPER SHIFT, 5, movetoworkspace, 5 +bind = SUPER SHIFT, 6, movetoworkspace, 6 +bind = SUPER SHIFT, 7, movetoworkspace, 7 +bind = SUPER SHIFT, 8, movetoworkspace, 8 +bind = SUPER SHIFT, 9, movetoworkspace, 9 +bind = SUPER SHIFT, I, movetoworkspace, e-1 +bind = SUPER SHIFT, Page_Down, movetoworkspace, e+1 +bind = SUPER SHIFT, Page_Up, movetoworkspace, e-1 +bind = SUPER SHIFT, U, movetoworkspace, e+1 +bind = SUPER, U, workspace, e+1 +bind = SUPER, mouse_down, workspace, e+1 +bind = SUPER, mouse_up, workspace, e-1 +bind = SUPER CTRL, F, resizeactive, exact 100% +bind = SUPER CTRL, H, focusmonitor, l +bind = SUPER CTRL, J, focusmonitor, d +bind = SUPER CTRL, K, focusmonitor, u +bind = SUPER CTRL, L, focusmonitor, r +bind = SUPER CTRL, left, focusmonitor, l +bind = SUPER CTRL, right, focusmonitor, r +bind = SUPER, End, focuswindow, last +bind = SUPER, H, movefocus, l +bind = SUPER, Home, focuswindow, first +bind = SUPER, J, movefocus, d +bind = SUPER, K, movefocus, u +bind = SUPER, L, movefocus, r +bind = SUPER SHIFT CTRL, H, movewindow, mon:l +bind = SUPER SHIFT CTRL, J, movewindow, mon:d +bind = SUPER SHIFT CTRL, K, movewindow, mon:u +bind = SUPER SHIFT CTRL, L, movewindow, mon:r +bind = SUPER SHIFT CTRL, down, movewindow, mon:d +bind = SUPER SHIFT CTRL, left, movewindow, mon:l +bind = SUPER SHIFT CTRL, right, movewindow, mon:r +bind = SUPER SHIFT CTRL, up, movewindow, mon:u +bind = SUPER SHIFT, H, movewindow, l +bind = SUPER SHIFT, J, movewindow, d +bind = SUPER SHIFT, K, movewindow, u +bind = SUPER SHIFT, L, movewindow, r +bind = SUPER SHIFT, down, movewindow, d +binde = SUPER SHIFT, equal, resizeactive, 0 10% +bind = SUPER SHIFT, left, movewindow, l +binde = SUPER SHIFT, minus, resizeactive, 0 -10% +bind = SUPER SHIFT, right, movewindow, r +bind = SUPER SHIFT, up, movewindow, u +bindd = SUPER, code:20, Expand window left, resizeactive, -100 0 +bindd = SUPER, code:21, Shrink window left, resizeactive, 100 0 +bind = SUPER, down, movefocus, d +binde = SUPER, equal, resizeactive, 10% 0 +bind = SUPER, left, movefocus, l +binde = SUPER, minus, resizeactive, -10% 0 +bindmd = SUPER, mouse:272, Move window, movewindow +bindmd = SUPER, mouse:273, Resize window, resizewindow +bind = SUPER, right, movefocus, r +bind = SUPER, up, movefocus, u +bind = Super, Return, exec, ghostty # ghostty +bind = SUPER SHIFT, E, exit +bind = SUPER SHIFT, P, dpms, toggle +bind = SUPER, F, fullscreen, 1 +bind = SUPER, Q, killactive +bind = SUPER, R, layoutmsg, togglesplit +bind = SUPER SHIFT, F, fullscreen, 0 +bind = SUPER SHIFT, T, togglefloating +bind = SUPER, W, togglegroup +bind = SUPER, bracketleft, layoutmsg, preselect l +bind = SUPER, bracketright, layoutmsg, preselect r diff --git a/hyprland/.config/hypr/dms/colors.conf b/hyprland/.config/hypr/dms/colors.conf new file mode 100644 index 0000000..f3764bb --- /dev/null +++ b/hyprland/.config/hypr/dms/colors.conf @@ -0,0 +1,25 @@ +# ! Auto-generated file. Do not edit directly. +# Remove source = ./dms/colors.conf from your config to override. + +$primary = rgb(e91e63) +$outline = rgb(9f8c8e) +$error = rgb(f2b8b5) + +general { + col.active_border = $primary + col.inactive_border = $outline +} + +group { + col.border_active = $primary + col.border_inactive = $outline + col.border_locked_active = $error + col.border_locked_inactive = $outline + + groupbar { + col.active = $primary + col.inactive = $outline + col.locked_active = $error + col.locked_inactive = $outline + } +} diff --git a/hyprland/.config/hypr/dms/cursor.conf b/hyprland/.config/hypr/dms/cursor.conf new file mode 100644 index 0000000..6158347 --- /dev/null +++ b/hyprland/.config/hypr/dms/cursor.conf @@ -0,0 +1,6 @@ +# Auto-generated by DMS - do not edit manually + +env = HYPRCURSOR_THEME,Sweet-cursors +env = XCURSOR_THEME,Sweet-cursors +env = HYPRCURSOR_SIZE,24 +env = XCURSOR_SIZE,24 diff --git a/hyprland/.config/hypr/dms/layout.conf b/hyprland/.config/hypr/dms/layout.conf new file mode 100644 index 0000000..b9a8ad9 --- /dev/null +++ b/hyprland/.config/hypr/dms/layout.conf @@ -0,0 +1,11 @@ +# Auto-generated by DMS - do not edit manually + +general { + gaps_in = 4 + gaps_out = 4 + border_size = 2 +} + +decoration { + rounding = 12 +} diff --git a/hyprland/.config/hypr/dms/outputs.conf b/hyprland/.config/hypr/dms/outputs.conf new file mode 100644 index 0000000..8a7769e --- /dev/null +++ b/hyprland/.config/hypr/dms/outputs.conf @@ -0,0 +1,4 @@ +# Auto-generated by DMS - do not edit manually + +monitor = DP-1, 2560x1440@59.951, 2560x0, 1, vrr, 1 +monitor = DP-2, 2560x1440@180.002, 0x0, 1 diff --git a/hyprland/.config/hypr/hyprland.conf b/hyprland/.config/hypr/hyprland.conf new file mode 100644 index 0000000..6ecb599 --- /dev/null +++ b/hyprland/.config/hypr/hyprland.conf @@ -0,0 +1,118 @@ +# Hyprland Configuration +# https://wiki.hypr.land/Configuring/ + +# ================== +# MONITOR CONFIG +# ================== +# monitor = eDP-2, 2560x1600@239.998993, 2560x0, 1, vrr, 1 +monitor = , preferred,auto,auto + +# ================== +# STARTUP APPS +# ================== +exec-once = dbus-update-activation-environment --systemd --all +exec-once = systemctl --user start hyprland-session.target + +# ================== +# INPUT CONFIG +# ================== +input { + kb_layout = de + numlock_by_default = true +} + +# ================== +# GENERAL LAYOUT +# ================== +general { + gaps_in = 5 + gaps_out = 5 + border_size = 2 + + layout = dwindle +} + +# ================== +# DECORATION +# ================== +decoration { + rounding = 12 + + active_opacity = 1.0 + inactive_opacity = 1.0 + + shadow { + enabled = true + range = 30 + render_power = 5 + offset = 0 5 + color = rgba(00000070) + } +} + +# ================== +# ANIMATIONS +# ================== +animations { + enabled = true + + animation = windowsIn, 1, 3, default + animation = windowsOut, 1, 3, default + animation = workspaces, 1, 5, default + animation = windowsMove, 1, 4, default + animation = fade, 1, 3, default + animation = border, 1, 3, default +} + +# ================== +# LAYOUTS +# ================== +dwindle { + preserve_split = true +} + +master { + mfact = 0.5 +} + +# ================== +# MISC +# ================== +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + vrr = 1 +} + +# ================== +# WINDOW RULES +# ================== +windowrule = tile on, match:class ^(org\.wezfurlong\.wezterm)$ + +windowrule = rounding 12, match:class ^(org\.gnome\.) + +windowrule = tile on, match:class ^(gnome-control-center)$ +windowrule = tile on, match:class ^(pavucontrol)$ +windowrule = tile on, match:class ^(nm-connection-editor)$ + +windowrule = float on, match:class ^(gnome-calculator)$ +windowrule = float on, match:class ^(galculator)$ +windowrule = float on, match:class ^(blueman-manager)$ +windowrule = float on, match:class ^(org\.gnome\.Nautilus)$ +windowrule = float on, match:class ^(steam)$ +windowrule = float on, match:class ^(xdg-desktop-portal)$ + +windowrule = float on, match:class ^(firefox)$, match:title ^(Picture-in-Picture)$ +windowrule = float on, match:class ^(zoom)$ + +# DMS windows floating by default +# ! Hyprland doesn't size these windows correctly so disabling by default here +# windowrule = float on, match:class ^(org.quickshell)$ + +layerrule = no_anim on, match:namespace ^(quickshell)$ + +source = ./dms/colors.conf +source = ./dms/outputs.conf +source = ./dms/layout.conf +source = ./dms/cursor.conf +source = ./dms/binds.conf diff --git a/install.sh b/install.sh index 47e6692..355634e 100755 --- a/install.sh +++ b/install.sh @@ -117,7 +117,7 @@ for choice in "${desktop[@]}"; do xdg-desktop-portal-gnome \ xdg-desktop-portal-gtk \ xdg-desktop-portal-wlr \ - quickshell \ + quickshell-git \ cava \ cliphist \ wl-clipboard \ @@ -146,7 +146,50 @@ for choice in "${desktop[@]}"; do # dms greeter sync sudo systemctl enable ly@tty1 ;; + "Hyprland") + sudo -v || exit 1 + yay -S --needed --noconfirm \ + hyprland \ + uwsm \ + nautilus \ + gnome-keyring \ + brightnessctl \ + cava \ + candy-icons-git \ + power-profiles-daemon \ + qt6ct-kde \ + xdg-desktop-portal-gnome \ + xdg-desktop-portal-gtk \ + xdg-desktop-portal-wlr \ + quickshell-git \ + cava \ + cliphist \ + wl-clipboard \ + dgop \ + matugen-bin \ + qt6-multimedia \ + dms-shell-bin \ + xwayland-satellite \ + ly \ + noto-fonts-emoji + stow hyprland qt6ct --adopt + + xdg-mime default org.gnome.nautilus.desktop inode/directory + + mkdir -p "$HOME"/.config/environment.d + echo "QT_QPA_PLATFORMTHEME=qt6ct" >>"$HOME"/.config/environment.d/90-qt.conf + systemctl --user daemon-reload + + systemctl --user enable dms + systemctl --user add-wants hyprland-session.target dms + systemctl --user add-wants hyprland-session.target gnome-keyring-daemon.service + + # dms greeter enable + # dms greeter sync + sudo systemctl enable ly@tty1 + + ;; "KDE Plasma") sudo -v || exit 1 # gum spin --title "Installing KDE Plasma" -- \