diff --git a/configs/dms-desktop/settings.json b/configs/dms-desktop/settings.json index 2c7d656..d51830f 100644 --- a/configs/dms-desktop/settings.json +++ b/configs/dms-desktop/settings.json @@ -5,7 +5,7 @@ "registryThemeVariants": {}, "matugenScheme": "scheme-vibrant", "matugenContrast": 0, - "runUserMatugenTemplates": false, + "runUserMatugenTemplates": true, "matugenTargetMonitor": "DP-1", "popupTransparency": 1, "dockTransparency": 1, diff --git a/configs/hypr-darp8/system.lua b/configs/hypr-darp8/system.lua new file mode 100644 index 0000000..514d5c8 --- /dev/null +++ b/configs/hypr-darp8/system.lua @@ -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, +}) \ No newline at end of file diff --git a/configs/hypr-desktop/hypr-colors.conf b/configs/hypr-desktop/hypr-colors.conf index 497c635..0e8c92c 100644 --- a/configs/hypr-desktop/hypr-colors.conf +++ b/configs/hypr-desktop/hypr-colors.conf @@ -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)" diff --git a/configs/hypr-desktop/system.lua b/configs/hypr-desktop/system.lua new file mode 100644 index 0000000..e9cc870 --- /dev/null +++ b/configs/hypr-desktop/system.lua @@ -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 diff --git a/configs/hypr/animations.lua b/configs/hypr/animations.lua new file mode 100644 index 0000000..21afe5e --- /dev/null +++ b/configs/hypr/animations.lua @@ -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" }) diff --git a/configs/hypr/binds.lua b/configs/hypr/binds.lua new file mode 100644 index 0000000..3ce2d07 --- /dev/null +++ b/configs/hypr/binds.lua @@ -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.*)$ diff --git a/configs/hypr/colors.lua b/configs/hypr/colors.lua new file mode 100644 index 0000000..0d7ee4d --- /dev/null +++ b/configs/hypr/colors.lua @@ -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") diff --git a/configs/hypr/hyprland.lua b/configs/hypr/hyprland.lua new file mode 100644 index 0000000..816568a --- /dev/null +++ b/configs/hypr/hyprland.lua @@ -0,0 +1,8 @@ +require("variables") +require("settings") +require("animations") +require("binds") +require("rules") + +-- desktop vs laptop +require("system") diff --git a/configs/hypr/rules.lua b/configs/hypr/rules.lua new file mode 100644 index 0000000..3ac37a3 --- /dev/null +++ b/configs/hypr/rules.lua @@ -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 diff --git a/configs/hypr/settings.lua b/configs/hypr/settings.lua new file mode 100644 index 0000000..9b21f4a --- /dev/null +++ b/configs/hypr/settings.lua @@ -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, + }, +}) diff --git a/configs/hypr/variables.lua b/configs/hypr/variables.lua new file mode 100644 index 0000000..be7917e --- /dev/null +++ b/configs/hypr/variables.lua @@ -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") diff --git a/configs/matugen/hyprland-colors.conf b/configs/matugen/hyprland-colors.conf index d7e6821..94cb59d 100644 --- a/configs/matugen/hyprland-colors.conf +++ b/configs/matugen/hyprland-colors.conf @@ -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 *> diff --git a/flake.lock b/flake.lock index 3c5f997..0c64199 100644 --- a/flake.lock +++ b/flake.lock @@ -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": { diff --git a/hosts/darp8/file.nix b/hosts/darp8/file.nix index 1205409..94900fa 100644 --- a/hosts/darp8/file.nix +++ b/hosts/darp8/file.nix @@ -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; diff --git a/hosts/desktop/file.nix b/hosts/desktop/file.nix index d1487fd..cab6b41 100644 --- a/hosts/desktop/file.nix +++ b/hosts/desktop/file.nix @@ -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;