Merge branch 'no-uwsm-laptop' into laptop

This commit is contained in:
2026-05-11 23:27:13 +02:00
9 changed files with 342 additions and 0 deletions
+10
View File
@@ -0,0 +1,10 @@
{
"workspace": {
"library": [
"/usr/share/hypr/stubs"
]
},
"diagnostics": {
"globals": ["hl"]
}
}
+6
View File
@@ -0,0 +1,6 @@
require("modules.binds")
require("modules.env")
require("modules.executes")
require("modules.monitors")
require("modules.settings")
require("modules.windowrules")
+56
View File
@@ -0,0 +1,56 @@
hl.bind("SUPER + mouse:272", hl.dsp.window.drag(), { mouse = true })
hl.bind("SUPER + mouse:273", hl.dsp.window.resize(), { mouse = true })
hl.bind("SUPER + Q", hl.dsp.window.close())
hl.bind("SUPER + M", hl.dsp.exit())
hl.bind("SUPER + RETURN", hl.dsp.exec_cmd("ghostty"))
hl.bind("SUPER + E", hl.dsp.exec_cmd("dolphin"))
hl.bind("SUPER + B", hl.dsp.exec_cmd("firefox"))
hl.bind("SUPER + H", hl.dsp.focus({ direction = "l" }))
hl.bind("SUPER + L", hl.dsp.focus({ direction = "r" }))
hl.bind("SUPER + K", hl.dsp.focus({ direction = "u" }))
hl.bind("SUPER + J", hl.dsp.focus({ direction = "d" }))
hl.bind("SUPER + SHIFT + L", hl.dsp.window.resize({ x = 50, y = 0, relative = true }), { repeating = true })
hl.bind("SUPER + SHIFT + H", hl.dsp.window.resize({ x = -50, y = 0, relative = true }), { repeating = true })
hl.bind("SUPER + SHIFT + K", hl.dsp.window.resize({ x = 0, y = -50, relative = true }), { repeating = true })
hl.bind("SUPER + SHIFT + J", hl.dsp.window.resize({ x = 0, y = 50, relative = true }), { repeating = true })
for i = 1, 10 do
local key = i % 10 -- 10 maps to key 0
hl.bind("SUPER" .. " + " .. key, hl.dsp.focus({ workspace = i }))
hl.bind("ALT" .. " + " .. key, hl.dsp.window.move({ workspace = i, follow = true }))
-- hl.bind("SUPER" .. " + " .. key, hl.dsp.window.move({ workspace = i, follow = false }))
end
hl.bind("SUPER + F", hl.dsp.window.fullscreen())
hl.bind("SUPER + D", hl.dsp.exec_cmd("fuzzel"))
hl.bind(
"XF86AudioRaiseVolume",
hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"),
{ repeating = true, locked = true }
)
hl.bind(
"XF86AudioLowerVolume",
hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"),
{ repeating = true, locked = true }
)
hl.bind(
"XF86AudioMute",
hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"),
{ repeating = true, 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 })
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { locked = true })
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brighnessctl set +5%"), { locked = true, repeating = true })
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brighnessctl set -5%"), { locked = true, repeating = true })
hl.bind("XF86WebCam", hl.dsp.exec_cmd(""), { locked = true, repeating = true })
hl.bind("PRINT", hl.dsp.global("zshell:screenshotFreeze"))
hl.bind("SUPER + R", hl.dsp.global("zshell:toggle-launcher"))
hl.bind("SUPER + A", hl.dsp.global("zshell:toggle-nc"))
hl.bind("SUPER + V", hl.dsp.global("zshell:toggle-drawing"))
hl.bind("SUPER + F1", hl.dsp.global("zshell:lock"))
hl.bind("SUPER + F2", hl.dsp.global("zshell:toggle-settings"))
+29
View File
@@ -0,0 +1,29 @@
hl.env("ZSH","/usr/share/oh-my-zsh/")
hl.env("BROWSER","firefox")
hl.env("TERM","tmux-256color")
hl.env("VISUAL","nvim")
hl.env("EDITOR","nvim")
hl.env("HYPRCURSOR_THEME","catppuccin-macchiato-light-cursors")
hl.env("HYPRCURSOR_SIZE","28")
hl.env("ELECTRON_OZONE_PLATFORM_HINT","auto")
hl.env("QT_AUTO_SCREEN_SCALE_FACTOR","1")
hl.env("QT_QPA_PLATFORM","wayland")
hl.env("QT_QPA_PLATFORMTHEME","qt6ct")
hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION","1")
hl.env("XDG_SESSION_DESKTOP","Hyprland")
hl.env("XDG_SESSION_TYPE","wayland")
hl.env("CLUTTER_BACKEND","wayland")
hl.env("GDK_BACKEND","wayland")
hl.env("SDL_VIDEODRIVER","wayland")
hl.env("XDG_CONFIG_HOME","$HOME/.config")
hl.env("XDG_CACHE_HOME","$HOME/.cache")
hl.env("XDG_DATA_HOME","$HOME/.local/share")
hl.env("XDG_PICTRES_HOME","$HOME/Pictures")
hl.env("HYPRSHOT_DIR","$HOME/Pictures/Screenshots")
hl.env("RUSTICL_ENABLE","radeonsi")
hl.env("AMD_VULKAN_ICD","RADV")
+8
View File
@@ -0,0 +1,8 @@
hl.on("hyprland.start", function()
hl.exec_cmd("zshell-cli shell start")
hl.exec_cmd("nm-applet")
hl.exec_cmd("fcitx5")
hl.exec_cmd("wl-paste --type text --watch cliphist store")
hl.exec_cmd("wl-paste --type image --watch cliphist store")
hl.exec_cmd("hyprsunset -i")
end)
+58
View File
@@ -0,0 +1,58 @@
local M = {}
M.colors = {
rosewaterAlpha = "rgb(f4dbd6)",
flamingoAlpha = "rgb(f0c6c6)",
pinkAlpha = "rgb(f5bde6)",
mauveAlpha = "rgb(c6a0f6)",
redAlpha = "rgb(ed8796)",
maroonAlpha = "rgb(ee99a0)",
peachAlpha = "rgb(f5a97f)",
yellowAlpha = "rgb(eed49f)",
greenAlpha = "rgb(a6da95)",
tealAlpha = "rgb(8bd5ca)",
skyAlpha = "rgb(91d7e3)",
sapphireAlpha = "rgb(7dc4e4)",
blueAlpha = "rgb(8aadf4)",
lavenderAlpha = "rgb(b7bdf8)",
textAlpha = "rgb(cad3f5)",
subtext1Alpha = "rgb(b8c0e0)",
subtext0Alpha = "rgb(a5adcb)",
overlay2Alpha = "rgb(939ab7)",
overlay1Alpha = "rgb(8087a2)",
overlay0Alpha = "rgb(6e738d)",
surface2Alpha = "rgb(5b6078)",
surface1Alpha = "rgb(494d64)",
surface0Alpha = "rgb(363a4f)",
baseAlpha = "rgb(24273a)",
mantleAlpha = "rgb(1e2030)",
crustAlpha = "rgb(181926)",
}
return M
+18
View File
@@ -0,0 +1,18 @@
hl.monitor({
output = "eDP-1",
mode = "2560x1600@60",
position = "0x0",
scale = 1.25,
bitdepth = 10,
cm = "srgb",
})
hl.monitor({
output = "",
mode = "highres@highrr",
position = "right",
scale = 2,
bitdepth = 10,
cm = "srgb",
mirror = "eDP-1"
})
+123
View File
@@ -0,0 +1,123 @@
local C = require("modules.macchiato")
hl.layer_rule({
name = "blur_popups_bar",
blur = true,
match = { namespace = "ZShell-Bar" },
ignore_alpha = 0.5,
})
hl.layer_rule({
name = "blur_popups_auth",
blur = true,
match = { namespace = "ZShell-Auth" },
ignore_alpha = 0.5,
})
hl.config({
input = {
kb_layout = "us",
kb_variant = "intl",
kb_options = "fkeys:basic_13-24",
sensitivity = 0,
accel_profile = "flat",
follow_mouse = 1,
touchpad = {
natural_scroll = true,
scroll_factor = 0.4,
middle_button_emulation = true,
},
gestures = {
},
},
general = {
gaps_in = 2,
gaps_out = 2,
border_size = 2,
col = {
active_border = {
colors = { C.colors.mauveAlpha, C.colors.greenAlpha, C.colors.sapphireAlpha, C.colors.lavenderAlpha },
angle = 90,
},
inactive_border = {
colors = { C.colors.surface1Alpha },
angle = 90,
},
},
},
decoration = {
rounding = 1,
shadow = {
enabled = true,
range = 6,
render_power = 6,
color = C.colors.baseAlpha,
color_inactive = C.colors.mantleAlpha,
},
blur = {
enabled = true,
size = 2,
passes = 2,
new_optimizations = true,
ignore_opacity = true,
contrast = 1.0,
brightness = 1.0,
vibrancy = 0,
vibrancy_darkness = 0,
xray = false,
noise = 0.05,
popups = true,
input_methods = true,
},
},
ecosystem = {
no_donation_nag = true,
no_update_news = true,
},
misc = {
disable_hyprland_logo = true,
},
debug = {
full_cm_proto = true,
},
dwindle = {
preserve_split = true,
},
})
local animations = {
{ leaf = "border", enabled = true, speed = 4, bezier = "linear" },
{ leaf = "borderangle", enabled = true, speed = 3, bezier = "linear", style = "loop" },
{ leaf = "fadeOut", enabled = true, speed = 3, bezier = "default" },
{ leaf = "fadeIn", enabled = true, speed = 4, bezier = "default" },
{ leaf = "fadeLayers", enabled = true, speed = 1, bezier = "default" },
{ leaf = "fadePopups", enabled = true, speed = 1, bezier = "default" },
{ leaf = "global", enabled = true, speed = 6, bezier = "default" },
{ leaf = "layers", enabled = true, speed = 5, bezier = "cubic-bezier", style = "fade" },
{ leaf = "windows", enabled = true, speed = 3, bezier = "wind", style = "popin" },
{ leaf = "windowsIn", enabled = true, speed = 3, bezier = "winIn", style = "popin 90%" },
{ leaf = "windowsOut", enabled = true, speed = 3, bezier = "winOut", style = "popin 90%" },
{ leaf = "windowsMove", enabled = true, speed = 1, bezier = "wind", style = "slide" },
{ leaf = "workspaces", enabled = true, speed = 4, bezier = "default" },
}
local curves = {
{ name = "wind", config = { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1 } } } },
{ name = "winIn", config = { type = "bezier", points = { { 0.1, 1.0 }, { 0.1, 1 } } } },
{ name = "winOut", config = { type = "bezier", points = { { 1, 0.35 }, { 1, 1 } } } },
{ name = "linear", config = { type = "bezier", points = { { 1, 1 }, { 1, 1 } } } },
{ name = "cubic-bezier", config = { type = "bezier", points = { { 0.215, 0.61 }, { 0.355, 1 } } } },
{ name = "easeOutQuint", config = { type = "bezier", points = { { 0.23, 1 }, { 0.32, 1 } } } },
{ name = "easeInOutCubic", config = { type = "bezier", points = { { 0.65, 0.05 }, { 0.36, 1 } } } },
{ name = "almostLinear", config = { type = "bezier", points = { { 0.5, 0.5 }, { 0.75, 1 } } } },
{ name = "quick", config = { type = "bezier", points = { { 0.15, 0 }, { 0.1, 1 } } } },
{ name = "easy", config = { type = "spring", mass = 1, stiffness = 71.2633, dampening = 15.8273644 } },
}
for _, curve in ipairs(curves) do
hl.curve(curve.name, curve.config)
end
for _, animation in ipairs(animations) do
hl.animation(animation)
end
+34
View File
@@ -0,0 +1,34 @@
hl.window_rule({
name = "xwayland",
opacity = "0.0 override",
no_anim = true,
no_initial_focus = true,
max_size = { 1, 1 },
no_blur = true,
no_focus = true,
match = { class = "^(xwaylandvideobridge)$" },
})
hl.window_rule({
name = "fullscreen_idling",
idle_inhibit = "fullscreen",
match = { class = ".*" },
})
hl.window_rule({
name = "video_idling",
idle_inhibit = "always",
match = { content = "video" },
})
hl.window_rule({
name = "game_idling",
idle_inhibit = "always",
match = { content = "game" },
})
hl.window_rule({
name = "match_fullscreen",
idle_inhibit = "always",
match = { fullscreen_state_internal = 2, fullscreen_state_client = 2 },
})