summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--raveos-hyprland-theme/PKGBUILD2
-rw-r--r--raveos-hyprland-theme/raveos-hyprland-apply.sh4
-rw-r--r--raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua62
-rw-r--r--raveos-hyprland-theme/theme-data/hypr/config/windowrules.lua95
-rw-r--r--raveos-hyprland-theme/theme-data/hypr/hyprland.conf458
-rw-r--r--raveos-hyprland-theme/theme-data/hypr/hyprland.lua194
-rw-r--r--raveos-hyprland-theme/theme-data/sddm/hyprland.lua2
-rw-r--r--raveos-hyprland-theme/theme-data/sddm/sddm.conf30
8 files changed, 386 insertions, 461 deletions
diff --git a/raveos-hyprland-theme/PKGBUILD b/raveos-hyprland-theme/PKGBUILD
index 0975e83..283292f 100644
--- a/raveos-hyprland-theme/PKGBUILD
+++ b/raveos-hyprland-theme/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=raveos-hyprland-theme
pkgver=0.0.0
-pkgrel=28
+pkgrel=30
pkgdesc="RaveOS Hyprland theme payload and installer (includes DankMaterialShell)"
arch=('any')
url="https://raveos.local"
diff --git a/raveos-hyprland-theme/raveos-hyprland-apply.sh b/raveos-hyprland-theme/raveos-hyprland-apply.sh
index 133713b..1d0d5b4 100644
--- a/raveos-hyprland-theme/raveos-hyprland-apply.sh
+++ b/raveos-hyprland-theme/raveos-hyprland-apply.sh
@@ -82,6 +82,10 @@ if [[ -f "${payload_dir}/sddm/sddm.conf" ]]; then
install -Dm644 "${payload_dir}/sddm/sddm.conf" /etc/sddm.conf.d/raveos-theme.conf
fi
+if [[ -f "${payload_dir}/sddm/hyprland.lua" ]]; then
+ install -Dm644 "${payload_dir}/sddm/hyprland.lua" /usr/share/hypr/sddm/hyprland.lua
+fi
+
for candidate in \
"/usr/share/sddm/themes/sddm-astronaut-theme" \
"/usr/share/sddm/themes/astronaut" \
diff --git a/raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua b/raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua
new file mode 100644
index 0000000..1999d6f
--- /dev/null
+++ b/raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua
@@ -0,0 +1,62 @@
+---------------------
+---- KEYBINDINGS ----
+---------------------
+
+local mainMod = "SUPER"
+local secondMod = "CTRL + ALT"
+
+-- Switch workspaces with mainMod + [0-9]
+-- Move active window to a workspace with mainMod + SHIFT + [0-9]
+for i = 1, 10 do
+ local key = i % 10
+ hl.bind(mainMod .. " + " .. key, hl.dsp.focus({ workspace = i }))
+ hl.bind(mainMod .. " + SHIFT + " .. key, hl.dsp.window.move({ workspace = i }))
+end
+
+-- Shell Binds
+hl.bind("SUPER", hl.dsp.exec_cmd("dms ipc call spotlight toggle"))
+hl.bind(mainMod .. " + P", hl.dsp.exec_cmd("dms ipc call clipboard toggle"))
+hl.bind(mainMod .. " + M", hl.dsp.exec_cmd("dms ipc call processlist toggle"))
+hl.bind(mainMod .. " + SHIFT + N", hl.dsp.exec_cmd("dms ipc call spotlight toggle"))
+hl.bind(mainMod .. " + N", hl.dsp.exec_cmd("dms ipc call notifications toggle"))
+hl.bind(mainMod .. " + S", hl.dsp.exec_cmd("dms ipc call settings toggle"))
+hl.bind(mainMod .. " + Y", hl.dsp.exec_cmd("dms ipc call dankdash wallpaper"))
+
+-- Apps
+hl.bind(secondMod .. " + T", hl.dsp.exec_cmd("kitty"))
+hl.bind(secondMod .. " + F", hl.dsp.exec_cmd("freetube"))
+hl.bind(secondMod .. " + D", hl.dsp.exec_cmd("discord"))
+hl.bind(secondMod .. " + G", hl.dsp.exec_cmd("gedit"))
+hl.bind(secondMod .. " + P", hl.dsp.exec_cmd("pavucontrol"))
+
+-- Power
+hl.bind("CTRL + SUPER + Home", hl.dsp.exec_cmd("reboot"))
+hl.bind("CTRL + SUPER + End", hl.dsp.exec_cmd("poweroff"))
+
+-- Window management
+hl.bind(mainMod .. " + Q", hl.dsp.killactive())
+hl.bind(mainMod .. " + V", hl.dsp.togglefloating())
+
+-- Move focus with mainMod + arrow keys
+hl.bind(mainMod .. " + left", hl.dsp.focus({ direction = "left" }))
+hl.bind(mainMod .. " + right", hl.dsp.focus({ direction = "right" }))
+hl.bind(mainMod .. " + up", hl.dsp.focus({ direction = "up" }))
+hl.bind(mainMod .. " + down", hl.dsp.focus({ direction = "down" }))
+
+-- Move/resize windows with mainMod + mouse
+hl.bind(mainMod .. " + mouse:272", hl.dsp.exec_cmd("movewindow"))
+hl.bind(mainMod .. " + mouse:273", hl.dsp.exec_cmd("resizewindow"))
+
+-- Laptop multimedia keys
+hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true })
+hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { locked = true, repeating = true })
+hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { locked = true, repeating = true })
+hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), { locked = true, repeating = true })
+hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%+"), { locked = true, repeating = true })
+hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"), { locked = true, repeating = true })
+
+-- Media keys (requires playerctl)
+hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { locked = true })
+hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
+hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
+hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = true })
diff --git a/raveos-hyprland-theme/theme-data/hypr/config/windowrules.lua b/raveos-hyprland-theme/theme-data/hypr/config/windowrules.lua
new file mode 100644
index 0000000..5a439c3
--- /dev/null
+++ b/raveos-hyprland-theme/theme-data/hypr/config/windowrules.lua
@@ -0,0 +1,95 @@
+--#############################
+--## WINDOWS AND WORKSPACES ###
+--#############################
+
+hl.window_rule({
+ name = "windowrule-2",
+ match = { class = "org.gnome.gedit" },
+ size = { 888, 888 },
+})
+
+hl.window_rule({
+ name = "windowrule-3",
+ match = { title = "Preferences" },
+ size = { 444, 444 },
+})
+
+hl.window_rule({
+ name = "windowrule-4",
+ match = { class = "thunar" },
+ size = { 1111, 666 },
+})
+
+hl.window_rule({
+ name = "windowrule-5",
+ match = { title = "File Operation Progress" },
+ size = { 444, 111 },
+})
+
+hl.window_rule({
+ name = "windowrule-6",
+ match = { title = "^(.*Properties.*)$" },
+ size = { 444, 444 },
+})
+
+hl.window_rule({
+ name = "windowrule-7",
+ match = { title = "Confirm to replace files" },
+ size = { 444, 333 },
+})
+
+hl.window_rule({
+ name = "windowrule-8",
+ match = { class = "org.pulseaudio.pavucontrol" },
+ size = { 888, 888 },
+})
+
+hl.window_rule({
+ name = "windowrule-9",
+ match = { title = "Create New Folder" },
+ size = { 444, 111 },
+})
+
+hl.window_rule({
+ name = "windowrule-10",
+ match = { title = "^(.*Rename.*)$" },
+ size = { 444, 111 },
+})
+
+hl.window_rule({
+ name = "windowrule-11",
+ match = { title = "New Empty File..." },
+ size = { 444, 111 },
+})
+
+hl.window_rule({
+ name = "windowrule-12",
+ match = { class = "Thunar" },
+ size = { 1111, 666 },
+})
+
+hl.window_rule({
+ name = "windowrule-13",
+ match = { title = "Set Default Application" },
+ size = { 555, 555 },
+})
+
+hl.window_rule({
+ name = "fix-xwayland-drags",
+ match = {
+ class = "^$",
+ title = "^$",
+ xwayland = true,
+ float = true,
+ fullscreen = false,
+ pin = false,
+ },
+ no_focus = true,
+})
+
+hl.window_rule({
+ name = "move-hyprland-run",
+ match = { class = "hyprland-run" },
+ move = { 20, "monitor_h-120" },
+ float = true,
+})
diff --git a/raveos-hyprland-theme/theme-data/hypr/hyprland.conf b/raveos-hyprland-theme/theme-data/hypr/hyprland.conf
deleted file mode 100644
index 3fc0b6f..0000000
--- a/raveos-hyprland-theme/theme-data/hypr/hyprland.conf
+++ /dev/null
@@ -1,458 +0,0 @@
-
-# #######################################################################################
-# AUTOGENERATED HYPRLAND CONFIG.
-# EDIT THIS CONFIG ACCORDING TO THE WIKI INSTRUCTIONS.
-# #######################################################################################
-
-
-# This is an example Hyprland config file.
-# Refer to the wiki for more information.
-# https://wiki.hypr.land/Configuring/
-
-# Please note not all available settings / options are set here.
-# For a full list, see the wiki
-
-# You can split this configuration into multiple files
-# Create your files separately and then link them to this file like this:
-# source = ~/.config/hypr/myColors.conf
-
-################
-### ALT TAB ###
-################
-
-################
-### MONITORS ###
-################
-# See https://wiki.hypr.land/Configuring/Monitors/
-
-
-###################
-### MY PROGRAMS ###
-###################
-
-# See https://wiki.hypr.land/Configuring/Keywords/
-
-# Set programs that you use
-$terminal = kitty
-$fileManager = Thunar
-$menu = hyprlauncher
-
-
-#################
-### AUTOSTART ###
-#################
-
-# Autostart necessary processes (like notifications daemons, status bars, etc.)
-# Or execute your favorite apps at launch like this:
-
-exec-once = dms run
-exec-once = HYPRSHELL_NO_USE_PLUGIN=1 hyprshell run
-exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
-exec-once = dbus-update-activation-environment --systemd --all
-exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
-exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
-exec-once = hyprswitch init --show-title --size-factor 6 --workspaces-per-row 5 &
-exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
-exec-once = bash -c "wl-paste --watch cliphist store &"
-exec-once = sh -c 'printf "preload = $HOME/.config/background.jpg\nwallpaper = ,$HOME/.config/background.jpg\nsplash = false\n" > "$HOME/.config/hypr/hyprpaper.conf" && env LIBGL_ALWAYS_SOFTWARE=1 hyprpaper'
-
-
-
-#############################
-### ENVIRONMENT VARIABLES ###
-#############################
-
-# See https://wiki.hypr.land/Configuring/Environment-variables/
-
-env = XCURSOR_SIZE,24
-env = HYPRCURSOR_SIZE,24
-
-# Default env vars.
-env = HOME, /home/$USER/
-env = XDG_CONFIG_HOME, /home/$USER/.config
-env = XDG_CURRENT_DESKTOP,Hyprland
-env = XDG_SESSION_TYPE,wayland
-env = XDG_SESSION_DESKTOP,Hyprland
-env = XDG_MENU_PREFIX,arch-
-
-env = GDK_BACKEND,wayland
-env = QT_QPA_PLATFORM,wayland
-env = QT_QPA_PLATFORMTHEME,qt6ct
-env = QT_AUTO_SCREEN_SCALE_FACTOR,1
-env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
-env = QT_STYLE_OVERRIDE,kvantum
-env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket
-
-
-###################
-### PERMISSIONS ###
-###################
-
-# See https://wiki.hypr.land/Configuring/Permissions/
-# Please note permission changes here require a Hyprland restart and are not applied on-the-fly
-# for security reasons
-
-# ecosystem {
-# enforce_permissions = 1
-# }
-
-# permission = /usr/(bin|local/bin)/grim, screencopy, allow
-# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
-# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
-
-
-#####################
-### LOOK AND FEEL ###
-#####################
-
-# Refer to https://wiki.hypr.land/Configuring/Variables/
-
-# https://wiki.hypr.land/Configuring/Variables/#general
-general {
- gaps_in = 5
- gaps_out = 20
-
- border_size = 2
-
- # https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors
- col.active_border = rgba(4ef527cc) rgba(005dcacc) 45deg
- col.inactive_border = rgba(595959aa)
-
- # Set to true enable resizing windows by clicking and dragging on borders and gaps
- resize_on_border = false
-
- # Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
- allow_tearing = false
-
- layout = dwindle
-}
-
-# https://wiki.hypr.land/Configuring/Variables/#decoration
-decoration {
- rounding = 10
- rounding_power = 2
-
- # Change transparency of focused and unfocused windows
- active_opacity = 1.0
- inactive_opacity = 1.0
-
- shadow {
- enabled = true
- range = 4
- render_power = 3
- color = rgba(1a1a1aee)
- }
-
- # https://wiki.hypr.land/Configuring/Variables/#blur
- blur {
- enabled = true
- size = 3
- passes = 1
-
- vibrancy = 0.1696
- }
-}
-
-# https://wiki.hypr.land/Configuring/Variables/#animations
-animations {
- enabled = yes, please :)
-
- # Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves
- # NAME, X0, Y0, X1, Y1
- bezier = easeOutQuint, 0.23, 1, 0.32, 1
- bezier = easeInOutCubic, 0.65, 0.05, 0.36, 1
- bezier = linear, 0, 0, 1, 1
- bezier = almostLinear, 0.5, 0.5, 0.75, 1
- bezier = quick, 0.15, 0, 0.1, 1
-
- # Default animations, see https://wiki.hypr.land/Configuring/Animations/
- # NAME, ONOFF, SPEED, CURVE, [STYLE]
- animation = global, 1, 10, default
- animation = border, 1, 5.39, easeOutQuint
- animation = windows, 1, 4.79, easeOutQuint
- animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
- animation = windowsOut, 1, 1.49, linear, popin 87%
- animation = fadeIn, 1, 1.73, almostLinear
- animation = fadeOut, 1, 1.46, almostLinear
- animation = fade, 1, 3.03, quick
- animation = layers, 1, 3.81, easeOutQuint
- animation = layersIn, 1, 4, easeOutQuint, fade
- animation = layersOut, 1, 1.5, linear, fade
- animation = fadeLayersIn, 1, 1.79, almostLinear
- animation = fadeLayersOut, 1, 1.39, almostLinear
- animation = workspaces, 1, 1.94, almostLinear, fade
- animation = workspacesIn, 1, 1.21, almostLinear, fade
- animation = workspacesOut, 1, 1.94, almostLinear, fade
- animation = zoomFactor, 1, 7, quick
-}
-
-# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/
-# "Smart gaps" / "No gaps when only"
-# uncomment all if you wish to use that.
-# workspace = w[tv1], gapsout:0, gapsin:0
-# workspace = f[1], gapsout:0, gapsin:0
-# windowrule {
-# name = no-gaps-wtv1
-# match:float = false
-# match:workspace = w[tv1]
-#
-# border_size = 0
-# rounding = 0
-# }
-#
-# windowrule {
-# name = no-gaps-f1
-# match:float = false
-# match:workspace = f[1]
-#
-# border_size = 0
-# rounding = 0
-# }
-
-# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more
-dwindle {
- pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
- preserve_split = true # You probably want this
-}
-
-# See https://wiki.hypr.land/Configuring/Master-Layout/ for more
-master {
- new_status = master
-}
-
-# https://wiki.hypr.land/Configuring/Variables/#misc
-misc {
- force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
- disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
-}
-
-
-#############
-### INPUT ###
-#############
-
-# https://wiki.hypr.land/Configuring/Variables/#input
-input {
- kb_layout =
- kb_variant =
- kb_model =
- kb_options =
- kb_rules =
-
- follow_mouse = 1
-
- sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
- numlock_by_default = true
- accel_profile = flat
-
- touchpad {
- natural_scroll = false
- }
-}
-
-# See https://wiki.hypr.land/Configuring/Gestures
-gesture = 3, horizontal, workspace
-
-# Example per-device config
-# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more
-device {
- name = epic-mouse-v1
- sensitivity = -0.5
-}
-
-
-###################
-### KEYBINDINGS ###
-###################
-
-# See https://wiki.hypr.land/Configuring/Keywords/
-$mainMod = SUPER # Sets "Windows" key as main modifier
-
-# DMS Shell
-bind = SUPER, SUPER_L, exec, dms ipc call spotlight toggle
-
-# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
-bind = CTRL ALT, T, exec, $terminal
-bind = $mainMod, Q, killactive,
-bind = $mainMod, M, exec, command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit
-bind = $mainMod, E, exec, $fileManager
-bind = $mainMod, V, togglefloating,
-bind = $mainMod, R, exec, $menu
-bind = $mainMod, P, pseudo, # dwindle
-bind = $mainMod, J, layoutmsg, togglesplit # dwindle
-
-# Move focus with mainMod + arrow keys
-bind = $mainMod, left, movefocus, l
-bind = $mainMod, right, movefocus, r
-bind = $mainMod, up, movefocus, u
-bind = $mainMod, down, movefocus, d
-
-# Switch workspaces with mainMod + [0-9]
-bind = $mainMod, 1, workspace, 1
-bind = $mainMod, 2, workspace, 2
-bind = $mainMod, 3, workspace, 3
-bind = $mainMod, 4, workspace, 4
-bind = $mainMod, 5, workspace, 5
-bind = $mainMod, 6, workspace, 6
-bind = $mainMod, 7, workspace, 7
-bind = $mainMod, 8, workspace, 8
-bind = $mainMod, 9, workspace, 9
-bind = $mainMod, 0, workspace, 10
-
-# Move active window to a workspace with mainMod + SHIFT + [0-9]
-bind = $mainMod SHIFT, 1, movetoworkspace, 1
-bind = $mainMod SHIFT, 2, movetoworkspace, 2
-bind = $mainMod SHIFT, 3, movetoworkspace, 3
-bind = $mainMod SHIFT, 4, movetoworkspace, 4
-bind = $mainMod SHIFT, 5, movetoworkspace, 5
-bind = $mainMod SHIFT, 6, movetoworkspace, 6
-bind = $mainMod SHIFT, 7, movetoworkspace, 7
-bind = $mainMod SHIFT, 8, movetoworkspace, 8
-bind = $mainMod SHIFT, 9, movetoworkspace, 9
-bind = $mainMod SHIFT, 0, movetoworkspace, 10
-
-# Example special workspace (scratchpad)
-bind = $mainMod, S, togglespecialworkspace, magic
-bind = $mainMod SHIFT, S, movetoworkspace, special:magic
-
-# Scroll through existing workspaces with mainMod + scroll
-bind = $mainMod, mouse_down, workspace, e+1
-bind = $mainMod, mouse_up, workspace, e-1
-
-# Move/resize windows with mainMod + LMB/RMB and dragging
-bindm = $mainMod, mouse:272, movewindow
-bindm = $mainMod, mouse:273, resizewindow
-
-# Laptop multimedia keys for volume and LCD brightness
-bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
-bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
-bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
-bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
-bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
-bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
-
-# Requires playerctl
-bindl = , XF86AudioNext, exec, playerctl next
-bindl = , XF86AudioPause, exec, playerctl play-pause
-bindl = , XF86AudioPlay, exec, playerctl play-pause
-bindl = , XF86AudioPrev, exec, playerctl previous
-
-##############################
-### WINDOWS AND WORKSPACES ###
-##############################
-
-# See https://wiki.hypr.land/Configuring/Window-Rules/ for more
-# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules
-
-# Example windowrules that are useful
-
-windowrule {
- # Ignore maximize requests from all apps. You'll probably like this.
- name = suppress-maximize-events
- match:class = .*
-
- suppress_event = maximize
-}
-
-windowrule {
- name = windowrule-1
- float = on
- match:class = .*
-}
-
-windowrule {
- name = windowrule-2
- size = 888 888
- match:class = org.gnome.gedit
-}
-
-windowrule {
- name = windowrule-3
- size = 444 444
- match:title = Preferences
-}
-
-windowrule {
- name = windowrule-4
- size = 1111 666
- match:class = thunar
-}
-
-windowrule {
- name = windowrule-5
- size = 444 111
- match:title = File Operation Progress
-}
-
-windowrule {
- name = windowrule-6
- size = 444 444
- match:title = ^(.*Properties.*)$
-}
-
-windowrule {
- name = windowrule-7
- size = 444 333
- match:title = Confirm to replace files
-}
-
-windowrule {
- name = windowrule-8
- size = 888 888
- match:class = org.pulseaudio.pavucontrol
-}
-
-windowrule {
- name = windowrule-9
- size = 444 111
- match:title = Create New Folder
-}
-
-windowrule {
- name = windowrule-10
- size = 444 111
- match:title = ^(.*Rename.*)$
-}
-
-windowrule {
- name = windowrule-11
- size = 444 111
- match:title = New Empty File...
-}
-
-windowrule {
- name = windowrule-12
- size = 1111 666
- match:class = Thunar
-}
-
-windowrule {
- name = windowrule-13
- size = 555 555
- match:title = Set Default Application
-}
-
-windowrule {
- # Fix some dragging issues with XWayland
- name = fix-xwayland-drags
- match:class = ^$
- match:title = ^$
- match:xwayland = true
- match:float = true
- match:fullscreen = false
- match:pin = false
-
- no_focus = true
-}
-
-# Hyprland-run windowrule
-windowrule {
- name = move-hyprland-run
-
- match:class = hyprland-run
-
- move = 20 monitor_h-120
- float = yes
-}
-
-source = ./dms/cursor.conf
diff --git a/raveos-hyprland-theme/theme-data/hypr/hyprland.lua b/raveos-hyprland-theme/theme-data/hypr/hyprland.lua
new file mode 100644
index 0000000..de39343
--- /dev/null
+++ b/raveos-hyprland-theme/theme-data/hypr/hyprland.lua
@@ -0,0 +1,194 @@
+------------------
+---- SOURCES -----
+------------------
+
+require("config/keybinds")
+require("config/windowrules")
+
+--###############
+--## MONITORS ###
+--###############
+
+hl.monitor({
+ output = "",
+ mode = "preferred",
+ position = "auto",
+ scale = "auto",
+})
+
+-- Autostart
+hl.on("hyprland.start", function()
+ hl.exec_cmd("dms run")
+ hl.exec_cmd("HYPRSHELL_NO_USE_PLUGIN=1 hyprshell run")
+ hl.exec_cmd("dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
+ hl.exec_cmd("dbus-update-activation-environment --systemd --all")
+ hl.exec_cmd("systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
+ hl.exec_cmd("/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1")
+ hl.exec_cmd("hyprswitch init --show-title --size-factor 6 --workspaces-per-row 5 &")
+ hl.exec_cmd("gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'")
+ hl.exec_cmd("bash -c 'wl-paste --watch cliphist store &'")
+end)
+
+--##################
+--## MY PROGRAMS ###
+--##################
+
+local terminal = "kitty"
+local fileManager = "Thunar"
+local menu = "dms ipc call spotlight toggle"
+
+--############################
+--## ENVIRONMENT VARIABLES ###
+--############################
+
+local _home = os.getenv("HOME") or ("/home/" .. (os.getenv("USER") or "user"))
+local _xdg_runtime = os.getenv("XDG_RUNTIME_DIR") or "/run/user/1000"
+
+hl.env("XCURSOR_SIZE", 24)
+hl.env("HYPRCURSOR_SIZE", 24)
+hl.env("XCURSOR_THEME", "BreezeDark")
+
+hl.env("HOME", _home)
+hl.env("XDG_CONFIG_HOME", _home .. "/.config")
+hl.env("XDG_CURRENT_DESKTOP", "Hyprland")
+hl.env("XDG_SESSION_TYPE", "wayland")
+hl.env("XDG_SESSION_DESKTOP", "Hyprland")
+hl.env("XDG_MENU_PREFIX", "arch-")
+hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
+
+hl.env("GDK_BACKEND", "wayland")
+hl.env("QT_QPA_PLATFORM", "wayland")
+hl.env("QT_QPA_PLATFORMTHEME", "qt6ct")
+hl.env("QT_AUTO_SCREEN_SCALE_FACTOR", 1)
+hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION", 1)
+hl.env("QT_STYLE_OVERRIDE", "kvantum")
+hl.env("SSH_AUTH_SOCK", _xdg_runtime .. "/ssh-agent.socket")
+
+--#####################
+--## LOOK AND FEEL ###
+--#####################
+
+hl.config({
+ general = {
+ gaps_in = 5,
+ gaps_out = 20,
+ border_size = 2,
+ col = {
+ active_border = { colors = { "rgba(4ef527cc)", "rgba(005dcacc)" }, angle = 45 },
+ inactive_border = "rgba(595959aa)",
+ },
+ resize_on_border = false,
+ allow_tearing = false,
+ layout = "dwindle",
+ snap = {
+ enabled = true,
+ monitor_gap = 22,
+ },
+ },
+})
+
+hl.config({
+ decoration = {
+ rounding = 10,
+ rounding_power = 2,
+ active_opacity = 1.0,
+ inactive_opacity = 0.66,
+ shadow = {
+ enabled = true,
+ range = 44,
+ render_power = 5,
+ color = "rgba(00000070)",
+ },
+ blur = {
+ enabled = true,
+ size = 3,
+ passes = 1,
+ vibrancy = 0.1696,
+ },
+ },
+})
+
+hl.config({
+ animations = {
+ enabled = true,
+ },
+})
+
+hl.curve("easeOutQuint", { type = "bezier", points = { { 0.23, 1 }, { 0.32, 1 } } })
+hl.curve("easeInOutCubic", { type = "bezier", points = { { 0.65, 0.05 }, { 0.36, 1 } } })
+hl.curve("linear", { type = "bezier", points = { { 0, 0 }, { 1, 1 } } })
+hl.curve("almostLinear", { type = "bezier", points = { { 0.5, 0.5 }, { 0.75, 1 } } })
+hl.curve("quick", { type = "bezier", points = { { 0.15, 0 }, { 0.1, 1 } } })
+hl.curve("easy", { type = "spring", mass = 1, stiffness = 71.2633, dampening = 15.8273644 })
+
+hl.animation({ leaf = "global", enabled = true, speed = 10, bezier = "default" })
+hl.animation({ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" })
+hl.animation({ leaf = "windows", enabled = true, speed = 4.79, spring = "easy" })
+hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, spring = "easy", style = "popin 87%" })
+hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" })
+hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" })
+hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" })
+hl.animation({ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" })
+hl.animation({ leaf = "layers", enabled = true, speed = 3.81, bezier = "easeOutQuint" })
+hl.animation({ leaf = "layersIn", enabled = true, speed = 4, bezier = "easeOutQuint", style = "fade" })
+hl.animation({ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "linear", style = "fade" })
+hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.79, bezier = "almostLinear" })
+hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.39, bezier = "almostLinear" })
+hl.animation({ leaf = "workspaces", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
+hl.animation({ leaf = "workspacesIn", enabled = true, speed = 1.21, bezier = "almostLinear", style = "fade" })
+hl.animation({ leaf = "workspacesOut", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
+hl.animation({ leaf = "zoomFactor", enabled = true, speed = 7, bezier = "quick" })
+
+--###########
+--## INPUT ##
+--###########
+
+hl.config({
+ input = {
+ kb_layout = "",
+ kb_variant = "",
+ follow_mouse = 1,
+ sensitivity = 0,
+ numlock_by_default = true,
+ accel_profile = "flat",
+ touchpad = {
+ natural_scroll = false,
+ },
+ },
+})
+
+hl.config({
+ dwindle = {
+ preserve_split = true,
+ },
+})
+
+hl.config({
+ master = {
+ new_status = "master",
+ },
+})
+
+hl.config({
+ misc = {
+ force_default_wallpaper = -1,
+ disable_hyprland_logo = false,
+ },
+})
+
+hl.gesture({
+ fingers = 3,
+ direction = "horizontal",
+ action = "workspace",
+})
+
+--#######################
+--## HYPRSHELL LAYERS ###
+--#######################
+
+hl.layerrule("blur", "hyprshell_overview")
+hl.layerrule("ignorezero", "hyprshell_overview")
+hl.layerrule("blur", "hyprshell_switch")
+hl.layerrule("ignorezero", "hyprshell_switch")
+hl.layerrule("blur", "hyprshell_launcher")
+hl.layerrule("ignorezero", "hyprshell_launcher")
diff --git a/raveos-hyprland-theme/theme-data/sddm/hyprland.lua b/raveos-hyprland-theme/theme-data/sddm/hyprland.lua
new file mode 100644
index 0000000..28a1d21
--- /dev/null
+++ b/raveos-hyprland-theme/theme-data/sddm/hyprland.lua
@@ -0,0 +1,2 @@
+-- Minimal Hyprland config for SDDM Wayland compositor (greeter session)
+-- The SDDM greeter renders on top of this compositor.
diff --git a/raveos-hyprland-theme/theme-data/sddm/sddm.conf b/raveos-hyprland-theme/theme-data/sddm/sddm.conf
index 5fc1f61..1fa25d1 100644
--- a/raveos-hyprland-theme/theme-data/sddm/sddm.conf
+++ b/raveos-hyprland-theme/theme-data/sddm/sddm.conf
@@ -1,5 +1,31 @@
+# Run SDDM Wayland over Hyprland compositor
+# Credits to the HyDE project
+
+[Theme]
+Current=sddm-astronaut-theme
+CursorTheme=BreezeDark
+CursorSize=24
+
[General]
Numlock=on
+HaltCommand=/usr/bin/systemctl poweroff
+RebootCommand=/usr/bin/systemctl reboot
+DisplayServer=wayland
+GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell
-[Theme]
-Current = sddm-astronaut-theme
+[Users]
+DefaultPath=/usr/local/bin:/usr/bin:/bin
+HideShells=
+HideUsers=
+MaximumUid=60513
+MinimumUid=1000
+RememberLastUser=true
+RememberLastSession=true
+ReuseSession=true
+
+[Wayland]
+CompositorCommand=start-hyprland -- -c /usr/share/hypr/sddm/hyprland.lua
+EnableHiDPI=true
+
+[X11]
+Enable=false