summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/hypr/hyprland.lua
diff options
context:
space:
mode:
authorNippy <nippy@rp1.hu>2026-06-07 21:48:53 +0200
committerNippy <nippy@rp1.hu>2026-06-07 21:48:53 +0200
commit8e474998c646a37b602d913092ab8f8fddd95242 (patch)
treee2810709fe50c7b388bb4415463ba7ae58d08524 /raveos-hyprland-theme/theme-data/hypr/hyprland.lua
parent8424a6399b9cfb98657fec10a78e2a57941e4cd1 (diff)
downloadRaveOS-PKGBUILD-8e474998c646a37b602d913092ab8f8fddd95242.tar.gz
RaveOS-PKGBUILD-8e474998c646a37b602d913092ab8f8fddd95242.zip
raveos-hyprland-theme: migrate to Lua config (pkgrel 30)
- Replace hyprland.conf with hyprland.lua (new Hyprland Lua API) - Add config/keybinds.lua and config/windowrules.lua as sub-modules - Fix: remove windowrule-1 that floated ALL windows (caused apps not opening) - Fix: use Lua os.getenv() for HOME/XDG_RUNTIME_DIR instead of static placeholders - Fix killactive/togglefloating to use proper dispatcher calls (not exec_cmd) - Add HyprShell layerrules (blur/ignorezero for overview/switch/launcher) - Update sddm.conf: full config with Wayland compositor pointing to /usr/share/hypr/sddm/hyprland.lua - Add sddm/hyprland.lua: minimal SDDM greeter compositor config - Update apply script to install /usr/share/hypr/sddm/hyprland.lua
Diffstat (limited to 'raveos-hyprland-theme/theme-data/hypr/hyprland.lua')
-rw-r--r--raveos-hyprland-theme/theme-data/hypr/hyprland.lua194
1 files changed, 194 insertions, 0 deletions
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")