first go at hyprland with lua config

This commit is contained in:
2026-05-10 15:35:01 +01:00
parent ecfa3d9c0f
commit b8ce839f2a
15 changed files with 576 additions and 144 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
"registryThemeVariants": {},
"matugenScheme": "scheme-vibrant",
"matugenContrast": 0,
"runUserMatugenTemplates": false,
"runUserMatugenTemplates": true,
"matugenTargetMonitor": "DP-1",
"popupTransparency": 1,
"dockTransparency": 1,
+14
View File
@@ -0,0 +1,14 @@
-- builtin display
hl.monitor({
output = "eDP-1",
mode = "1920x1060@60.0",
position = "0x0",
scale = 1,
})
-- general hotplugging
hl.monitor({
mode = "preferred",
position = "auto",
scale = 1,
})
+100 -100
View File
@@ -1,151 +1,151 @@
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$background = rgba(131317ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_background = "rgba(0e141cff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$error = rgba(ffb4abff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_error = "rgba(ffb4abff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$error_container = rgba(93000aff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_error_container = "rgba(93000aff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$inverse_on_surface = rgba(303034ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_inverse_on_surface = "rgba(2b313aff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$inverse_primary = rgba(505a96ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_inverse_primary = "rgba(005fadff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$inverse_surface = rgba(e4e1e7ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_inverse_surface = "rgba(dee2efff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_background = rgba(e4e1e7ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_background = "rgba(dee2efff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_error = rgba(690005ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_error = "rgba(690005ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_error_container = rgba(ffdad6ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_error_container = "rgba(ffdad6ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_primary = rgba(212b65ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_primary = "rgba(00315dff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_primary_container = rgba(e1e3ffff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_primary_container = "rgba(d4e3ffff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_primary_fixed = rgba(081450ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_primary_fixed = "rgba(001c39ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_primary_fixed_variant = rgba(38427dff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_primary_fixed_variant = "rgba(004784ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_secondary = rgba(2b2f46ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_secondary = "rgba(262f4dff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_secondary_container = rgba(dcdefdff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_secondary_container = "rgba(dce1ffff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_secondary_fixed = rgba(161a30ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_secondary_fixed = "rgba(111a37ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_secondary_fixed_variant = rgba(42455eff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_secondary_fixed_variant = "rgba(3d4665ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_surface = rgba(e4e1e7ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_surface = "rgba(dee2efff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_surface_variant = rgba(c6c5d1ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_surface_variant = "rgba(c2c6d2ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_tertiary = rgba(432c00ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_tertiary = "rgba(2d2b59ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_tertiary_container = rgba(ffe0b5ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_tertiary_container = "rgba(e3dfffff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_tertiary_fixed = rgba(281800ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_tertiary_fixed = "rgba(181543ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$on_tertiary_fixed_variant = rgba(604000ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_on_tertiary_fixed_variant = "rgba(444171ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$outline = rgba(90909bff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_outline = "rgba(8c919cff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$outline_variant = rgba(454650ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_outline_variant = "rgba(424751ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$primary = rgba(bbc3ffff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_primary = "rgba(a4c9ffff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$primary_container = rgba(3b4580ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_primary_container = "rgba(004784ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$primary_fixed = rgba(dee0ffff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_primary_fixed = "rgba(d4e3ffff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$primary_fixed_dim = rgba(bbc3ffff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_primary_fixed_dim = "rgba(a4c9ffff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$scrim = rgba(000000ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_scrim = "rgba(000000ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$secondary = rgba(c2c4e2ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_secondary = "rgba(bcc5ebff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$secondary_container = rgba(42455eff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_secondary_container = "rgba(3d4665ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$secondary_fixed = rgba(dee0ffff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_secondary_fixed = "rgba(dce1ffff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$secondary_fixed_dim = rgba(c2c4e2ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_secondary_fixed_dim = "rgba(bcc5ebff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$shadow = rgba(000000ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_shadow = "rgba(000000ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$source_color = rgba(3b4580ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_source_color = "rgba(3680d3ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$surface = rgba(131317ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_surface = "rgba(0e141cff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$surface_bright = rgba(39393dff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_surface_bright = "rgba(343943ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$surface_container = rgba(1f1f23ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_surface_container = "rgba(1a2028ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$surface_container_high = rgba(2a2a2eff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_surface_container_high = "rgba(252a33ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$surface_container_highest = rgba(343439ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_surface_container_highest = "rgba(30353eff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$surface_container_low = rgba(1b1b1fff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_surface_container_low = "rgba(161c24ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$surface_container_lowest = rgba(0e0e12ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_surface_container_lowest = "rgba(090e17ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$surface_dim = rgba(131317ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_surface_dim = "rgba(0e141cff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$surface_tint = rgba(bbc3ffff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_surface_tint = "rgba(a4c9ffff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$surface_variant = rgba(454650ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_surface_variant = "rgba(424751ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$tertiary = rgba(efbf74ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_tertiary = "rgba(c5c1f9ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$tertiary_container = rgba(644300ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_tertiary_container = "rgba(444171ff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$tertiary_fixed = rgba(ffddaeff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_tertiary_fixed = "rgba(e3dfffff)"
$image = /home/liamm/pictures/wallpapers/frieren-flowers.jpg
$tertiary_fixed_dim = rgba(efbf74ff)
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_tertiary_fixed_dim = "rgba(c5c1f9ff)"
+37
View File
@@ -0,0 +1,37 @@
-- primary display
hl.monitor({
output = "DP-1",
mode = "2560x1440@300.0",
position = "1440x475",
scale = 1,
supports_hdr = -1,
bitdepth = 10,
cm = "wide",
})
-- secondary (vertical) display
hl.monitor({
output = "HDMI-A-2",
mode = "2560x1440",
position = "0x0",
scale = 1,
supports_hdr = -1,
bitdepth = 10,
cm = wide,
transform = 1,
})
-- workspace rules
local primary_workspaces = { "1", "2", "7", "9", "name:extra" }
local secondary_workspaces = { "3", "4", "6" }
for _, ws in ipairs(primary_workspaces) do
hl.workspace_rule({ workspace = ws, monitor = "DP-1" })
end
for _, ws in ipairs(secondary_workspaces) do
hl.workspace_rule({
workspace = ws,
monitor = "HDMI-A-2",
layout_opts = { direction = "down" },
})
end
+9
View File
@@ -0,0 +1,9 @@
hl.curve("myBezier", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.05 } } })
hl.animation({ leaf = "global", enabled = true, speed = 1, bezier = "default" })
hl.animation({ leaf = "windows", enabled = true, speed = 6, bezier = "myBezier" })
hl.animation({ leaf = "windowsOut", enabled = true, speed = 6, bezier = "default", style = "popin 80%" })
hl.animation({ leaf = "border", enabled = true, speed = 8, bezier = "default" })
hl.animation({ leaf = "borderangle", enabled = true, speed = 6, bezier = "default" })
hl.animation({ leaf = "fade", enabled = true, speed = 6, bezier = "default" })
hl.animation({ leaf = "workspaces", enabled = true, speed = 3, bezier = "default" })
+140
View File
@@ -0,0 +1,140 @@
-- Binds :: General
hl.bind("ALT + Return", hl.dsp.exec_cmd("ghostty"))
hl.bind("ALT + SHIFT + Return", hl.dsp.exec_cmd("foot"))
hl.bind(mainMod .. " + SHIFT + D", hl.dsp.exec_cmd(discord))
hl.bind(mainMod .. " + SHIFT + S", hl.dsp.exec_cmd("signal-desktop"))
hl.bind(mainMod .. " + SHIFT + E", hl.dsp.exec_cmd("emacs -c -a 'emacs'"))
hl.bind(mainMod .. " + SHIFT + F", hl.dsp.exec_cmd("focus"))
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd("thunar"))
hl.bind(mainMod .. " + S", hl.dsp.exec_cmd("spotify"))
hl.bind(mainMod .. " + P", hl.dsp.exec_cmd(colorpick))
hl.bind("Print", hl.dsp.exec_cmd(screenshot_area))
hl.bind("SHIFT + Print", hl.dsp.exec_cmd(screenshot))
hl.bind(mainMod .. " + Space", hl.dsp.exec_cmd("dms ipc call spotlight toggle"))
hl.bind(mainMod .. " + X", hl.dsp.exec_cmd("dms ipc call powermenu toggle"))
hl.bind(mainMod .. " + M", hl.dsp.exec_cmd("dms ipc call processlist toggle"))
hl.bind(mainMod .. " + I", hl.dsp.exec_cmd("dms ipc call settings toggle"))
hl.bind(mainMod .. " + V", hl.dsp.exec_cmd("dms ipc call clipboard toggle"))
hl.bind(mainMod .. " + CTRL + P", hl.dsp.exec_cmd("dms ipc call notepad toggle"))
hl.bind(mainMod .. " + CTRL + C", hl.dsp.exec_cmd("dms ipc call control-center toggle"))
hl.bind(mainMod .. " + N", hl.dsp.exec_cmd("dms ipc call notifications toggle"))
hl.bind(mainMod .. " + SHIFT + N", hl.dsp.exec_cmd("dms ipc call night toggle"))
hl.bind(mainMod .. " + CTRL + B", hl.dsp.exec_cmd("dms ipc call bar toggle"))
hl.bind(mainMod .. " + CTRL + S", hl.dsp.exec_cmd("$HOME/.config/hypr/ws-layout-toggle.sh"))
hl.bind(mainMod .. " + CTRL + Q", hl.dsp.exec_cmd(lock))
hl.bind(mainMod .. " + C", hl.dsp.window.kill())
hl.bind("ALT + F4", hl.dsp.window.kill())
hl.bind(mainMod .. " + F", hl.dsp.window.float({ action = "toggle" }))
hl.bind(mainMod .. " + CTRL + F", hl.dsp.window.fullscreen({ action = "toggle" }))
hl.bind(mainMod .. " + F4", hl.dsp.exit())
hl.bind(mainMod .. " + right", hl.dsp.window.resize({ x = 10, y = 0 }), { repeating = true })
hl.bind(mainMod .. " + left", hl.dsp.window.resize({ x = -10, y = 0 }), { repeating = true })
hl.bind(mainMod .. " + up", hl.dsp.window.resize({ x = 0, y = -10 }), { repeating = true })
hl.bind(mainMod .. " + down", hl.dsp.window.resize({ x = 0, y = 10 }), { repeating = true })
-- Binds :: Window & Navigation
hl.bind(mainMod .. " + H", hl.dsp.focus({ direction = "l" }))
hl.bind(mainMod .. " + L", hl.dsp.focus({ direction = "r" }))
hl.bind(mainMod .. " + K", hl.dsp.focus({ direction = "u" }))
hl.bind(mainMod .. " + J", hl.dsp.focus({ direction = "d" }))
hl.bind(mainMod .. " + comma", hl.dsp.focus({ monitor = "-1" }))
hl.bind(mainMod .. " + period", hl.dsp.focus({ monitor = "+1" }))
hl.bind(mainMod .. " + SHIFT + H", hl.dsp.window.move({ direction = "l" }))
hl.bind(mainMod .. " + SHIFT + L", hl.dsp.window.move({ direction = "r" }))
hl.bind(mainMod .. " + SHIFT + K", hl.dsp.window.move({ direction = "u" }))
hl.bind(mainMod .. " + SHIFT + J", hl.dsp.window.move({ direction = "d" }))
hl.bind(mainMod .. " + SHIFT + comma", hl.dsp.workspace.move({ monitor = "-1" }))
hl.bind(mainMod .. " + SHIFT + period", hl.dsp.workspace.move({ monitor = "+1" }))
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
-- Binds :: Workspace
hl.bind(mainMod .. " + 0", hl.dsp.focus({ workspace = "name:extra" }))
hl.bind(mainMod .. " + SHIFT + 0", hl.dsp.window.move({ workspace = "name:extra" }))
hl.bind("ALT + SHIFT + 0", hl.dsp.window.move({ workspace = "name:extra", follow = false }))
hl.bind(mainMod .. " + CTRL + SHIFT + right", hl.dsp.window.move({ workspace = "+1" }))
hl.bind(mainMod .. " + CTRL + SHIFT + left", hl.dsp.window.move({ workspace = "-1" }))
hl.bind("ALT + CTRL + SHIFT + right", hl.dsp.window.move({ workspace = "+1", follow = false }))
hl.bind("ALT + CTRL + SHIFT + left", hl.dsp.window.move({ workspace = "-1", follow = false }))
hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
hl.bind(mainMod .. " + Tab", hl.dsp.focus({ workspace = "e+1" }))
hl.bind(mainMod .. " + SHIFT + Tab", hl.dsp.focus({ workspace = "e-1" }))
hl.bind(mainMod .. " + CTRL + right", hl.dsp.focus({ workspace = "+1" }))
hl.bind(mainMod .. " + CTRL + left", hl.dsp.focus({ workspace = "-1" }))
for i=1, 9 do
hl.bind(mainMod .. " + " .. i, hl.dsp.focus({ workspace = i }))
hl.bind(mainMod .. " + SHIFT + " .. i, hl.dsp.window.move({ workspace = i }))
hl.bind("ALT + SHIFT + " .. i, hl.dsp.window.move({ workspace = i, follow = false }))
end
-- Binds :: MultiMedia
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { locked = true })
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = true })
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("dms ipc call audio mute"), { locked = true })
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("dms ipc call audio micmute"), { locked = true })
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("dms ipc call audio increment 3"), { locked = true, repeating = true })
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("dms ipc call audio decrement 3"), { locked = true, repeating = true })
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("dms ipc call brightness increment 5"), { locked = true, repeating = true })
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("dms ipc call brightness decrement 5"), { locked = true, repeating = true })
-- Binds :: Submaps
hl.bind(mainMod .. " + R", hl.dsp.submap("resize"))
hl.define_submap("resize", function()
hl.bind("left", hl.dsp.window.resize({ x = -10, y = 0 }), { repeating = true })
hl.bind("right", hl.dsp.window.resize({ x = 0, y = -10 }), { repeating = true })
hl.bind("up", hl.dsp.window.resize({ x = 0, y = 10 }), { repeating = true })
hl.bind("down", hl.dsp.window.resize({ x = 10, y = 0 }), { repeating = true })
hl.bind("H", hl.dsp.window.resize({ x = -10, y = 0 }), { repeating = true })
hl.bind("J", hl.dsp.window.resize({ x = 0, y =-10 }), { repeating = true })
hl.bind("K", hl.dsp.window.resize({ x = 0, y = 10 }), { repeating = true })
hl.bind("L", hl.dsp.window.resize({ x = 10, y = 0 }), { repeating = true })
hl.bind("left", hl.dsp.submap("reset"), { release = true })
hl.bind("right", hl.dsp.submap("reset"), { release = true })
hl.bind("up", hl.dsp.submap("reset"), { release = true })
hl.bind("down", hl.dsp.submap("reset"), { release = true })
hl.bind("H", hl.dsp.submap("reset"), { release = true })
hl.bind("J", hl.dsp.submap("reset"), { release = true })
hl.bind("K", hl.dsp.submap("reset"), { release = true })
hl.bind("L", hl.dsp.submap("reset"), { release = true })
hl.bind("escape", hl.dsp.submap("reset"))
end)
hl.bind(mainMod .. " + B", hl.dsp.submap("browser"))
hl.define_submap("browser", function()
hl.bind("B", hl.dsp.exec_cmd("brave"))
hl.bind("F", hl.dsp.exec_cmd("Floorp"))
hl.bind("B", hl.dsp.submap("reset"), { release = true })
hl.bind("F", hl.dsp.submap("reset"), { release = true })
hl.bind("escape", hl.dsp.submap("reset"))
end)
hl.bind(mainMod .. " + V", hl.dsp.submap("video"))
hl.define_submap("video", function()
hl.bind("O", hl.dsp.exec_cmd("obs"))
hl.bind("K", hl.dsp.exec_cmd("kdenlive"))
hl.bind("O", hl.dsp.submap("reset"), { release = true })
hl.bind("K", hl.dsp.submap("reset"), { release = true })
hl.bind("escape", hl.dsp.submap("reset"))
end)
-- # Binds :: Global :: Discord
-- bind = , F7, pass, class:^(discord|Discord)$
-- bind = , F8, pass, class:^(discord|Discord)$
-- # bind = , T, pass, class:^(discord|Discord)$
--
-- # Binds :: Global :: OBS
-- bind = , F9, pass, class:^(.*obs.*)$
+56
View File
@@ -0,0 +1,56 @@
-- default colors
--image = /home/liamm/Pictures/wallpapers/frieren-flower-crown.jpeg
Color_background = "rgba(0e141cff)"
Color_error = "rgba(ffb4abff)"
Color_error_container = "rgba(93000aff)"
Color_inverse_on_surface = "rgba(2b313aff)"
Color_inverse_primary = "rgba(005fadff)"
Color_inverse_surface = "rgba(dee2efff)"
Color_on_background = "rgba(dee2efff)"
Color_on_error = "rgba(690005ff)"
Color_on_error_container = "rgba(ffdad6ff)"
Color_on_primary = "rgba(00315dff)"
Color_on_primary_container = "rgba(d4e3ffff)"
Color_on_primary_fixed = "rgba(001c39ff)"
Color_on_primary_fixed_variant = "rgba(004784ff)"
Color_on_secondary = "rgba(262f4dff)"
Color_on_secondary_container = "rgba(dce1ffff)"
Color_on_secondary_fixed = "rgba(111a37ff)"
Color_on_secondary_fixed_variant = "rgba(3d4665ff)"
Color_on_surface = "rgba(dee2efff)"
Color_on_surface_variant = "rgba(c2c6d2ff)"
Color_on_tertiary = "rgba(2d2b59ff)"
Color_on_tertiary_container = "rgba(e3dfffff)"
Color_on_tertiary_fixed = "rgba(181543ff)"
Color_on_tertiary_fixed_variant = "rgba(444171ff)"
Color_outline = "rgba(8c919cff)"
Color_outline_variant = "rgba(424751ff)"
Color_primary = "rgba(a4c9ffff)"
Color_primary_container = "rgba(004784ff)"
Color_primary_fixed = "rgba(d4e3ffff)"
Color_primary_fixed_dim = "rgba(a4c9ffff)"
Color_scrim = "rgba(000000ff)"
Color_secondary = "rgba(bcc5ebff)"
Color_secondary_container = "rgba(3d4665ff)"
Color_secondary_fixed = "rgba(dce1ffff)"
Color_secondary_fixed_dim = "rgba(bcc5ebff)"
Color_shadow = "rgba(000000ff)"
Color_source_color = "rgba(3680d3ff)"
Color_surface = "rgba(0e141cff)"
Color_surface_bright = "rgba(343943ff)"
Color_surface_container = "rgba(1a2028ff)"
Color_surface_container_high = "rgba(252a33ff)"
Color_surface_container_highest = "rgba(30353eff)"
Color_surface_container_low = "rgba(161c24ff)"
Color_surface_container_lowest = "rgba(090e17ff)"
Color_surface_dim = "rgba(0e141cff)"
Color_surface_tint = "rgba(a4c9ffff)"
Color_surface_variant = "rgba(424751ff)"
Color_tertiary = "rgba(c5c1f9ff)"
Color_tertiary_container = "rgba(444171ff)"
Color_tertiary_fixed = "rgba(e3dfffff)"
Color_tertiary_fixed_dim = "rgba(c5c1f9ff)"
-- load dynamic colors
dofile(os.getenv("HOME") .. "/.config/hypr/hypr-colors.conf")
+8
View File
@@ -0,0 +1,8 @@
require("variables")
require("settings")
require("animations")
require("binds")
require("rules")
-- desktop vs laptop
require("system")
+67
View File
@@ -0,0 +1,67 @@
local float_classes = {
"^(.*Emulator.*)$", "^(.*desktop-portal.*)$", "^(org.quickshell)$",
"^(polkit.*agent.*)$", "^(praat)$", "^(network)$", "^(nm-)$", "^(Network)$",
"^(Rofi)$", "^(Gimp)$", "^(thunar)$", "^(Nautilus)$",
"^(LmDev-.*)$", "^(notification)$", "^(Genymotion Player)$", "^(launcher)$",
}
local workspace_rules = {
{ class = "^(KeePassXC)$", ws = "2" },
{ class = "^(firefox)$", ws = "3" },
{ class = "^(floorp)$", ws = "3" },
{ class = "^(brave-browser)$", ws = "3" },
{ class = "^(Spotify)$", ws = "4" },
{ class = "^(discord)$", ws = "6" },
{ class = "^(.*obs.*)$", ws = "8" },
{ title = "^(Minecraft)$", ws = "name:extra" },
{ class = "^(signal)$", title = "^(Signal)$", ws = "6" },
{ class = "^(.*)$", title = "^(.*WhatsApp.*)$", ws = "6" },
}
local fullscreen_inhibits = {
"^(floorp)$", "^(firefox)$", "^(ghostty)$", "^(brave-browser)$",
}
local focus_inhibits = {
"^(mpv)$", "^(firefox)$", "^(floorp)$", "^(spotify)$",
"^(Emacs|emacs)$", "^(brave-browser)$", "^(Discord|dicord)$",
}
hl.window_rule({
match = { class = "steam", title = "^(Friends List)$"},
float = true,
})
hl.window_rule({
match = { class = "^(Discord|discord)$" },
opacity = "0.98 0.90",
})
hl.window_rule({
match = { class = "^(Emacs|emacs)$" },
opacity = "0.96 0.90",
})
hl.window_rule({
match = { xwayland = true },
rounding = 0,
})
for _, float_class in ipairs(float_classes) do
hl.window_rule({
match = { class = float_class},
float = true
})
end
for _, rule in ipairs(workspace_rules) do
hl.window_rule({
match = { class = rule.class, title = rule.title },
workspace = rule.ws
})
end
for _, fs_inhib in ipairs(fullscreen_inhibits) do
hl.window_rule({
match = { class = fs_inhib },
idle_inhibit = "fullscreen",
})
end
for _, fo_inhib in ipairs(focus_inhibits) do
hl.window_rule({
match = { class = fo_inhib },
idle_inhibit = "focus",
})
end
+80
View File
@@ -0,0 +1,80 @@
hl.env("HYPRCURSOR_SIZE", "24")
hl.env("HYPRCURSOR_THEME", "Bibate-Modern-Ice")
hl.env("XCURSOR_SIZE", "24")
hl.env("XCURSOR_THEME", "Bibate-Modern-Ice")
hl.env("XDG_CURRENT_DESKTOP", "Hyprland")
hl.env("XDG_SESSION_TYPE", "wayland")
hl.env("XDG_SESSION_DESKTOP", "Hyprland")
hl.env("QT_QPA_PLATFORM", "wayland")
hl.on("hyprland.start", function()
hl.exec_cmd("bash -c 'wl-paste --watch cliphist store &'")
hl.exec_cmd("fcitx5 -d")
hl.exec_cmd("emacs --daemon")
hl.exec_cmd("dms run")
end)
hl.config({
general = {
gaps_in = gaps_in,
gaps_out = gaps_out,
border_size = 2,
resize_on_border = true,
allow_tearing = true,
layout = "scrolling",
col = {
active_border = Color_primary_container,
inactive_border = Color_secondary_container,
},
},
decoration = {
rounding = 10,
blur = {
enabled = true,
new_optimizations = true,
passes = 2,
size = 3,
xray = true,
},
shadow = {
color = Color_shadow,
enabled = true,
range = 4,
render_power = 4,
},
},
input = {
touchpad = {
disable_while_typing = true,
drag_lock = false,
middle_button_emulation = true,
natural_scroll = true,
scroll_factor = 0.5,
tap_to_click = true,
},
follow_mouse = 1,
kb_layout = us,
numlock_by_default = true,
sensitivity = 0,
},
render = {
cm_enabled = true,
cm_auto_hdr = 0,
direct_scanout = 2,
},
misc = {
disable_hyprland_logo = true,
disable_splash_rendering = true,
key_press_enables_dpms = true,
mouse_move_enables_dpms = true,
},
quirks = {
prefer_hdr = 0,
},
ecosystem = {
no_donation_nag = true,
no_update_news = true,
},
})
+11
View File
@@ -0,0 +1,11 @@
lock = "dms ipc call lock lock"
screenshot = "grimblast --cursor copy output"
screenshot_area = "hyprctl keyword animation 'fadeOut,0,0,default'; grimblast copy area; hyprctl keyword animation 'fadeOut,1,4,default'"
discord = "discord --enable-blink-features=MiddleClickAutoscroll"
colorpick = "dms ipc call color-picker toggleInstant"
mainMod = "SUPER"
gaps_in = 2
gaps_out = 4
require("colors")
+2 -2
View File
@@ -1,4 +1,4 @@
<* for name, value in colors *>
$image = {{image}}
${{name}} = rgba({{value.default.hex_stripped}}ff)
--image = {{image}}
Color_{{name}} = "rgba({{value.default.hex_stripped}}ff)"
<* endfor *>
Generated
+41 -41
View File
@@ -20,11 +20,11 @@
]
},
"locked": {
"lastModified": 1775558810,
"narHash": "sha256-fy95EdPnqQlpbP8+rk0yWKclWShCUS5VKs6P7/1MF2c=",
"lastModified": 1777499565,
"narHash": "sha256-nU55VWk99Pn1QzQDDjFISocC4SgDZ3Xp+zb6ji3JclM=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "7371b669b22aa2af980f913fc312a786d2f1abb2",
"rev": "813c1e8981893c11e118b19c125d6bc282f51765",
"type": "github"
},
"original": {
@@ -42,11 +42,11 @@
"quickshell": "quickshell"
},
"locked": {
"lastModified": 1776476539,
"narHash": "sha256-4019TOLn63jzPZdWT5SoKQZezxZxXzHKcFamK3Oh1Io=",
"lastModified": 1778306063,
"narHash": "sha256-+Y7R7ez8GjQ5oxNeh9Raa2b8t+AQ2jOnWZRTA/h58LE=",
"owner": "AvengeMedia",
"repo": "DankMaterialShell",
"rev": "4c2c1937662b3973071ce3d3cac34436ee822e32",
"rev": "cf641b4e0845210dbf05fcfe13c4564897d73cbf",
"type": "github"
},
"original": {
@@ -141,11 +141,11 @@
]
},
"locked": {
"lastModified": 1772461003,
"narHash": "sha256-pVICsV7FtcEeVwg5y/LFh3XFUkVJninm/P1j/JHzEbM=",
"lastModified": 1776511930,
"narHash": "sha256-fCpwFiTW0rT7oKJqr3cqHMnkwypSwQKpbtUEtxdkgrM=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "b62396457b9cfe2ebf24fe05404b09d2a40f8ed7",
"rev": "39435900785d0c560c6ae8777d29f28617d031ef",
"type": "github"
},
"original": {
@@ -170,11 +170,11 @@
]
},
"locked": {
"lastModified": 1775496928,
"narHash": "sha256-Ds759WU03mGWtu3I43J+5GF5Ni8TvF+GYQUFD+fVeMo=",
"lastModified": 1776426399,
"narHash": "sha256-RUESLKNikIeEq9ymGJ6nmcDXiSFQpUW1IhJ245nL3xM=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "cf95d93d17baa18f1d9b016b3afe27f820521a6e",
"rev": "68d064434787cf1ed4a2fe257c03c5f52f33cf84",
"type": "github"
},
"original": {
@@ -202,11 +202,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1775916519,
"narHash": "sha256-UVsGbJJ3FVN0UvG0UmayWEmGfkJ1piqkBsaXUS5Trvs=",
"lastModified": 1778333727,
"narHash": "sha256-RGYGbW6aH3jUwGVB9BrSYcKsQj7Dl2K32ao5aWbTK40=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "dbc07064ef27aa4b3f3fc9310bed60454052f013",
"rev": "af923e30d1d24f1f4a4f5cb8308065173c1d9539",
"type": "github"
},
"original": {
@@ -248,11 +248,11 @@
]
},
"locked": {
"lastModified": 1774710575,
"narHash": "sha256-p7Rcw13+gA4Z9EI3oGYe3neQ3FqyOOfZCleBTfhJ95Q=",
"lastModified": 1776426575,
"narHash": "sha256-KI6nIfVihn/DPaeB5Et46Xg3dkNHrrEtUd5LBBVomB0=",
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"rev": "0703df899520001209646246bef63358c9881e36",
"rev": "a968d211048e3ed538e47b84cb3649299578f19d",
"type": "github"
},
"original": {
@@ -302,11 +302,11 @@
]
},
"locked": {
"lastModified": 1772459629,
"narHash": "sha256-/iwvNUYShmmnwmz/czEUh6+0eF5vCMv0xtDW0STPIuM=",
"lastModified": 1777320127,
"narHash": "sha256-Qu+Wf2Bp5qUjyn2YpZNq8a7JyzTGowhT1knrwE38a9U=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "7615ee388de18239a4ab1400946f3d0e498a8186",
"rev": "090117506ddc3d7f26e650ff344d378c2ec329cc",
"type": "github"
},
"original": {
@@ -485,11 +485,11 @@
]
},
"locked": {
"lastModified": 1774911391,
"narHash": "sha256-c4YVwO33Mmw+FIV8E0u3atJZagHvGTJ9Jai6RtiB8rE=",
"lastModified": 1778234770,
"narHash": "sha256-jAcsogZwWMfXT9MfXxZzkwliAqIuZUV0p71h6Ba9ReE=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "e6caa3d4d1427eedbdf556cf4ceb70f2d9c0b56d",
"rev": "a2dbd8a4cc51f7cbe4224732668392bb1aa79df2",
"type": "github"
},
"original": {
@@ -510,11 +510,11 @@
]
},
"locked": {
"lastModified": 1772459835,
"narHash": "sha256-978jRz/y/9TKmZb/qD4lEYHCQGHpEXGqy+8X2lFZsak=",
"lastModified": 1777159683,
"narHash": "sha256-Jxixw6wZphUp+nHYxOKUYSckL17QMBx2d5Zp0rJHr1g=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "0a692d4a645165eebd65f109146b8861e3a925e7",
"rev": "b8632713a6beaf28b56f2a7b0ab2fb7088dbb404",
"type": "github"
},
"original": {
@@ -566,11 +566,11 @@
]
},
"locked": {
"lastModified": 1775414057,
"narHash": "sha256-mDpHnf+MkdOxEqIM1TnckYYh9p1SXR8B3KQfNZ12M8s=",
"lastModified": 1777388329,
"narHash": "sha256-40YxVGF2rA9iH3D7am5fy4EOSBbMgpJtJ9yhl0Cx+qI=",
"owner": "hyprwm",
"repo": "hyprwire",
"rev": "86012ee01b0fdd8bf3101ef38816f2efbee42490",
"rev": "04be2897e05f9b271d532b5ae56ca088d2eeac02",
"type": "github"
},
"original": {
@@ -641,11 +641,11 @@
]
},
"locked": {
"lastModified": 1775036584,
"narHash": "sha256-zW0lyy7ZNNT/x8JhzFHBsP2IPx7ATZIPai4FJj12BgU=",
"lastModified": 1776796298,
"narHash": "sha256-PcRvlWayisPSjd0UcRQbhG8Oqw78AcPE6x872cPRHN8=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "4e0eb042b67d863b1b34b3f64d52ceb9cd926735",
"rev": "3cfd774b0a530725a077e17354fbdb87ea1c4aad",
"type": "github"
},
"original": {
@@ -662,16 +662,16 @@
]
},
"locked": {
"lastModified": 1766725085,
"narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=",
"lastModified": 1776854048,
"narHash": "sha256-lLbV66V3RMNp1l8/UelmR4YzoJ5ONtgvEtiUMJATH/o=",
"ref": "refs/heads/master",
"rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff",
"revCount": 715,
"rev": "783c953987dc56ff0601abe6845ed96f1d00495a",
"revCount": 806,
"type": "git",
"url": "https://git.outfoxxed.me/quickshell/quickshell"
},
"original": {
"rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff",
"rev": "783c953987dc56ff0601abe6845ed96f1d00495a",
"type": "git",
"url": "https://git.outfoxxed.me/quickshell/quickshell"
}
@@ -733,11 +733,11 @@
]
},
"locked": {
"lastModified": 1773601989,
"narHash": "sha256-2tJf/CQoHApoIudxHeJye+0Ii7scR0Yyi7pNiWk0Hn8=",
"lastModified": 1777585783,
"narHash": "sha256-JTeWRy42VElroJ0rVdZuVXSoTLsx+NzQfGPKMbtn3SU=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "a9b862d1aa000a676d310cc62d249f7ad726233d",
"rev": "fa50d6fbaff8f42c61071b87b034a90d82a33558",
"type": "github"
},
"original": {
+5
View File
@@ -31,6 +31,11 @@ in
outOfStoreSymlink = true;
recursive = false;
};
".config/hypr/system.lua" = {
source = ../../configs/hypr-darp8/system.lua;
outOfStoreSymlink = true;
recursive = false;
};
".config/DankMaterialShell" = {
source = ../../configs/dms-darp8;
outOfStoreSymlink = true;
+5
View File
@@ -32,6 +32,11 @@ in
outOfStoreSymlink = true;
recursive = false;
};
".config/hypr/system.lua" = {
source = ../../configs/hypr-desktop/system.lua;
outOfStoreSymlink = true;
recursive = false;
};
".config/DankMaterialShell" = {
source = ../../configs/dms-desktop;
outOfStoreSymlink = true;