mirror of
https://github.com/belsabbagh/dotfiles.git
synced 2026-06-12 03:29:51 +00:00
186 lines
3.2 KiB
Lua
186 lines
3.2 KiB
Lua
-- Hyprland Lua Config
|
|
-- Migrated from hyprland.conf + keymaps.conf
|
|
|
|
-- Environment Variables
|
|
hl.env("XDG_CURRENT_DESKTOP", "Hyprland")
|
|
hl.env("XDG_SESSION_TYPE", "wayland")
|
|
hl.env("XDG_SESSION_DESKTOP", "Hyprland")
|
|
hl.env("XDG_SCREENSHOTS_DIR", os.getenv("HOME") .. "/Pictures/Screenshots")
|
|
|
|
hl.env("AQ_DRM_DEVICES", "/dev/dri/card2:/dev/dri/card1")
|
|
hl.env("GDK_BACKEND", "wayland,x11,*")
|
|
hl.env("CLUTTER_BACKEND", "wayland")
|
|
hl.env("QT_AUTO_SCREEN_SCALE_FACTOR", "1")
|
|
hl.env("QT_QPA_PLATFORM", "wayland;xcb")
|
|
hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION", "1")
|
|
hl.env("QT_QPA_PLATFORMTHEME", "qt5ct")
|
|
hl.env("XCURSOR_SIZE", "24")
|
|
hl.env("HYPRCURSOR_SIZE", "24")
|
|
|
|
-- Monitor
|
|
hl.monitor({
|
|
output = "",
|
|
mode = "preferred",
|
|
position = "auto",
|
|
scale = "auto",
|
|
})
|
|
|
|
require("keymaps")
|
|
|
|
-- Autostart
|
|
hl.on("hyprland.start", function()
|
|
hl.exec_cmd("~/.config/hypr/start.sh")
|
|
hl.exec_cmd("wl-paste --type text --watch cliphist store")
|
|
hl.exec_cmd("wl-paste --type image --watch cliphist store")
|
|
end)
|
|
|
|
-- Look and Feel
|
|
hl.config({
|
|
general = {
|
|
gaps_in = 3,
|
|
gaps_out = 5,
|
|
border_size = 2,
|
|
col = {
|
|
active_border = "0xffd3869b",
|
|
inactive_border = "0xff45475a",
|
|
},
|
|
resize_on_border = false,
|
|
allow_tearing = false,
|
|
layout = "dwindle",
|
|
},
|
|
cursor = {
|
|
no_hardware_cursors = true,
|
|
},
|
|
decoration = {
|
|
rounding = 10,
|
|
active_opacity = 0.9,
|
|
inactive_opacity = 0.9,
|
|
shadow = {
|
|
enabled = true,
|
|
range = 4,
|
|
render_power = 3,
|
|
color = 0x33000000,
|
|
color_inactive = 0x22000000,
|
|
},
|
|
blur = {
|
|
enabled = true,
|
|
size = 2,
|
|
passes = 4,
|
|
vibrancy = 0.1696,
|
|
},
|
|
},
|
|
animations = {
|
|
enabled = true,
|
|
},
|
|
})
|
|
|
|
-- Bezier curves
|
|
hl.curve(
|
|
"myBezier",
|
|
{ type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.05 } } }
|
|
)
|
|
hl.curve(
|
|
"default",
|
|
{ type = "bezier", points = { { 0.25, 0.1 }, { 0.25, 1 } } }
|
|
)
|
|
|
|
-- Animations
|
|
hl.animation({
|
|
leaf = "windows",
|
|
enabled = true,
|
|
speed = 7,
|
|
bezier = "myBezier",
|
|
})
|
|
hl.animation({
|
|
leaf = "windowsOut",
|
|
enabled = true,
|
|
speed = 7,
|
|
bezier = "default",
|
|
style = "popin 80%",
|
|
})
|
|
hl.animation({
|
|
leaf = "border",
|
|
enabled = true,
|
|
speed = 10,
|
|
bezier = "default",
|
|
})
|
|
hl.animation({
|
|
leaf = "borderangle",
|
|
enabled = true,
|
|
speed = 8,
|
|
bezier = "default",
|
|
})
|
|
hl.animation({
|
|
leaf = "fade",
|
|
enabled = true,
|
|
speed = 7,
|
|
bezier = "default",
|
|
})
|
|
hl.animation({
|
|
leaf = "workspaces",
|
|
enabled = true,
|
|
speed = 6,
|
|
bezier = "default",
|
|
})
|
|
|
|
-- Dwindle layout
|
|
hl.config({
|
|
dwindle = {
|
|
preserve_split = true,
|
|
force_split = 2,
|
|
},
|
|
})
|
|
|
|
-- Master layout
|
|
hl.config({
|
|
master = {
|
|
new_status = "master",
|
|
},
|
|
})
|
|
|
|
-- Misc
|
|
hl.config({
|
|
misc = {
|
|
animate_manual_resizes = true,
|
|
animate_mouse_windowdragging = true,
|
|
enable_swallow = true,
|
|
disable_hyprland_logo = true,
|
|
},
|
|
})
|
|
|
|
-- Input
|
|
hl.config({
|
|
input = {
|
|
kb_layout = "us,eg",
|
|
kb_variant = "",
|
|
kb_model = "",
|
|
kb_options = "grp:alt_shift_toggle",
|
|
kb_rules = "",
|
|
follow_mouse = 1,
|
|
sensitivity = 0,
|
|
touchpad = {
|
|
natural_scroll = true,
|
|
},
|
|
},
|
|
})
|
|
|
|
-- Per-device config
|
|
hl.device({
|
|
name = "epic-mouse-v1",
|
|
sensitivity = -0.5,
|
|
})
|
|
|
|
-- Window rules
|
|
hl.window_rule({
|
|
name = "suppress-maximize",
|
|
match = { class = ".*" },
|
|
suppress_event = "maximize",
|
|
})
|
|
|
|
-- Gestures
|
|
hl.gesture({
|
|
fingers = 3,
|
|
direction = "horizontal",
|
|
action = "workspace",
|
|
})
|