update to lua

This commit is contained in:
Hannes
2026-06-14 18:49:46 +02:00
parent 6082fb92a9
commit 610c5de813
25 changed files with 663 additions and 443 deletions
-2
View File
@@ -2,6 +2,4 @@
*.log
hyprlock.conf
hyprpaper.conf
user_config/*
config/autostart.conf
scripts/autostart/workspace
+31
View File
@@ -0,0 +1,31 @@
hl.on("hyprland.start", function ()
hl.exec_cmd("nm-applet")
hl.exec_cmd("gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'")
hl.exec_cmd("dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
hl.exec_cmd("systemctl --user start hyprpolkitagent")
hl.exec_cmd("tmux new-session -d -s keyring '/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg'")
hl.exec_cmd("hypridle")
hl.exec_cmd("hyprpaper")
if HOSTNAME == "archlinux-hypr" then
hl.exec_cmd("tmux new-session -d -s ydotool 'ydotoold'")
hl.exec_cmd("tmux new-session -d -s ollama '/usr/bin/ollama serve'")
hl.exec_cmd("tmux new-session -d -s fah 'cd ~/.local/share/fah && fah-client'")
hl.exec_cmd("tmux new-session -d -s carla 'carla -n /home/honney/Downloads/test.carxp'")
hl.exec_cmd("bash -c '~/.config/hypr/scripts/goxlr/goxlr-start.sh > ~/.config/hypr/scripts/goxlr/goxlr-start.log'")
hl.exec_cmd("bash -c 'sleep 2 && ~/.config/hypr/scripts/wallpapers/random_wallpaper.sh > ~/.config/hypr/scripts/wallpapers/random_wallpaper.log'")
hl.exec_cmd("nextcloud")
hl.exec_cmd("librewolf")
hl.exec_cmd("thunderbird")
hl.exec_cmd("discord")
elseif HOSTNAME == "hp-laptop" then
hl.exec_cmd("bash -c 'sleep 2 && ~/.config/hypr/scripts/wallpapers/random_wallpaper.sh > ~/.config/hypr/scripts/wallpapers/random_wallpaper.log'")
hl.exec_cmd("tmux new-session -d -s ydotool 'ydotoold'")
hl.exec_cmd("tmux new-session -d -s ollama '/usr/bin/ollama serve'")
hl.exec_cmd("nextcloud")
hl.exec_cmd("discord")
end
hl.exec_cmd("bash -c '~/.config/hypr/scripts/autostart/autostart.sh > ~/.config/hypr/scripts/autostart/autostart.log'")
end)
-92
View File
@@ -1,92 +0,0 @@
# -- keybinds --
$mod = SUPER
bind = $mod, RETURN, exec, $terminal
bind = $mod, W, killactive, # "Quit"
bind = $mod, Q, killactive, # "Quit"
bind = $mod, F, fullscreen,
bind = $mod, V, togglefloating,
bind = $mod, D, exec, $menu # "Apps"
bind = $mod SHIFT, D, pseudo, # dwindle
# bind = $mod, J, togglesplit, # dwindle
# file manager
bind = $mod, E, exec, $fileManager
# hyprlock
bind = $mod, L, exec, hyprlock
# switch workspaces
bind = $mod, 1, workspace, 1
bind = $mod, 2, workspace, 2
bind = $mod, 3, workspace, 3
bind = $mod, 4, workspace, 4
bind = $mod, 5, workspace, 5
bind = $mod, 6, workspace, 6
bind = $mod, 7, workspace, 7
bind = $mod, 8, workspace, 8
bind = $mod, 9, workspace, 9
bind = $mod, 0, workspace, 10
bind = $mod, TAB, workspace, e+1
bind = $mod, F1, workspace, 401
# move active window to a workspace
bind = $mod SHIFT, 1, movetoworkspace, 1
bind = $mod SHIFT, 2, movetoworkspace, 2
bind = $mod SHIFT, 3, movetoworkspace, 3
bind = $mod SHIFT, 4, movetoworkspace, 4
bind = $mod SHIFT, 5, movetoworkspace, 5
bind = $mod SHIFT, 6, movetoworkspace, 6
bind = $mod SHIFT, 7, movetoworkspace, 7
bind = $mod SHIFT, 8, movetoworkspace, 8
bind = $mod SHIFT, 9, movetoworkspace, 9
bind = $mod SHIFT, 0, movetoworkspace, 10
bind = $mod SHIFT, F1, movetoworkspace, 401
# move focus
bind = $mod, left, movefocus, l
bind = $mod, right, movefocus, r
bind = $mod, up, movefocus, u
bind = $mod, down, movefocus, d
# scroll through existing workspaces
bind = $mod, mouse_down, workspace, e+1
bind = $mod, mouse_up, workspace, e-1
# move/resize windows
bindm = $mod, mouse:272, movewindow
bindm = $mod SHIFT, mouse:272, resizewindow
bind = $mod SHIFT, right, resizeactive, 30 0
bind = $mod SHIFT, left, resizeactive, -30 0
bind = $mod SHIFT, up, resizeactive, 0 -30
bind = $mod SHIFT, down, resizeactive, 0 30
bind = $mod SHIFT, L, moveactive, 30 0
bind = $mod SHIFT, I, moveactive, -30 0
bind = $mod SHIFT, O, moveactive, 0 -30
bind = $mod SHIFT, K, moveactive, 0 30
# screenshots
bind = $mod, P, exec, ~/.config/hypr/scripts/screenshot/screenshot_window.sh
bind = $mod ALT, P, exec, ~/.config/hypr/scripts/screenshot/screenshot_monitor.sh
bind = $mod SHIFT, P, exec, ~/.config/hypr/scripts/screenshot/screenshot_area.sh
bind = $mod SHIFT, S, exec, ~/.config/hypr/scripts/screenshot/screenshot_area_2.sh
# Scrolling
bind = $mod CTRL, left, layoutmsg, focus l
bind = $mod CTRL, right, layoutmsg, focus r
bind = $mod CTRL SHIFT, left, layoutmsg, swapcol l
bind = $mod CTRL SHIFT, right, layoutmsg, swapcol r
# Audio keys
bindel = , XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bindel = , XF86AudioLowerVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
# Video Keys
bindel = , XF86AudioPlay, exec, playerctl play-pause || playerctl play-pause
bindel = , XF86AudioNext, exec, playerctl next
bindel = , XF86AudioPrev, exec, playerctl previous
+105
View File
@@ -0,0 +1,105 @@
-- Set default applications
local terminal = "kitty"
local fileManager = "nautilus"
local menu = "wofi --show drun, run"
local lockscreen = "hyprlock"
-- open Software
hl.bind("SUPER + SHIFT + Q", hl.dsp.exec_cmd("firefox"))
hl.bind("SUPER+RETURN", hl.dsp.exec_cmd(terminal))
hl.bind("SUPER+D", hl.dsp.exec_cmd(menu))
hl.bind("SUPER+E", hl.dsp.exec_cmd(fileManager))
hl.bind("SUPER+L", hl.dsp.exec_cmd(lockscreen), { locked = true })
-- Hyprland hl.binds
-- Manipulating Windows/Software
hl.bind("SUPER+W", hl.dsp.window.close())
hl.bind("SUPER+Q", hl.dsp.window.close())
hl.bind("SUPER+F", hl.dsp.window.fullscreen)
hl.bind("SUPER+V", hl.dsp.window.float({ action = "toggle" }))
hl.bind("SUPER+SHIFT+D", hl.dsp.window.pseudo)
-- Interacting with Workspaces
for i = 1, 9 do
hl.bind("SUPER+" .. tostring(i), hl.dsp.focus({ workspace = tostring(i) }))
hl.bind("SUPER+CTRL+" .. tostring(i), hl.dsp.window.move({workspace = tostring(i), follow = false}))
hl.bind("SUPER+SHIFT+" .. tostring(i), hl.dsp.window.move({workspace = tostring(i), follow = true}))
end
hl.bind("SUPER+0", hl.dsp.focus({ workspace = "10" }))
hl.bind("SUPER+CTRL+0", hl.dsp.window.move({workspace = "10", follow = false}))
hl.bind("SUPER+SHIFT+0", hl.dsp.window.move({workspace = "10", follow = true}))
hl.bind("SUPER+F1", hl.dsp.focus({ workspace = "401" }))
hl.bind("SUPER+CTRL+F1", hl.dsp.window.move({workspace = "401", follow = false}))
hl.bind("SUPER+SHIFT+F1", hl.dsp.window.move({workspace = "401", follow = true}))
-- -- Scrolling
-- hl.bind("SUPER+CTRL+left", hl.dsp.layout(move = "+col"))
-- hl.bind("SUPER+CTRL+right", hl.dsp.layout(move = "-col"))
-- hl.bind("SUPER+CTRL+SHIFT+left", hl.dsp.layout(swapcol = "l"))
-- hl.bind("SUPER+CTRL+SHIFT+right", hl.dsp.layout(swapcol = "r"))
-- -- Resizing windows
-- hl.bind("SUPER+SHIFT+right", "resizeactive", "30 0")
-- hl.bind("SUPER+SHIFT+left", "resizeactive", "-30 0")
-- hl.bind("SUPER+SHIFT+up", "resizeactive", "0 -30")
-- hl.bind("SUPER+SHIFT+down", "resizeactive", "0 30")
-- Mouse Commands for moving windows
-- hl.bind("SUPER+mouse_down", "workspace", "e+1")
-- hl.bind("SUPER+mouse_up", "workspace", "e-1")
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 + SHIFT + mouse:272", hl.dsp.window.resize(), { mouse = true })
-- Move between workspaces/screens
hl.bind("SUPER+left" , hl.dsp.focus({ direction = "l" }))
hl.bind("SUPER+right", hl.dsp.focus({ direction = "r" }))
hl.bind("SUPER+up" , hl.dsp.focus({ direction = "u" }))
hl.bind("SUPER+down" , hl.dsp.focus({ direction = "d" }))
hl.bind("SUPER+TAB" , hl.dsp.focus({ workspace = "e+1", on_current_monitor = true }))
-- Screenshots
hl.bind("SUPER+P", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot/screenshot_window.sh"))
hl.bind("SUPER+ALT+P", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot/screenshot_monitor.sh"))
hl.bind("SUPER+SHIFT+P", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot/screenshot_area.sh"))
hl.bind("SUPER+SHIFT+S", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot/screenshot_area_2.sh"))
-- Audio Control
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"))
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"))
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"))
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause || playerctl play-pause"))
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"))
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"))
-- German Umlaute
hl.bind("SUPER+a", hl.dsp.exec_cmd("wtype \"ä\""))
hl.bind("SUPER+SHIFT+a", hl.dsp.exec_cmd("wtype \"Ä\""))
hl.bind("SUPER+o", hl.dsp.exec_cmd("wtype \"ö\""))
hl.bind("SUPER+SHIFT+o", hl.dsp.exec_cmd("wtype \"Ö\""))
hl.bind("SUPER+u", hl.dsp.exec_cmd("wtype \"ü\""))
hl.bind("SUPER+SHIFT+u", hl.dsp.exec_cmd("wtype \"Ü\""))
hl.bind("SUPER+s", hl.dsp.exec_cmd("wtype \"ß\""))
hl.bind("SUPER+SHIFT+e", hl.dsp.exec_cmd("wtype \"\""))
-- Opening coder
hl.bind("SUPER+SHIFT+C", hl.dsp.exec_cmd("code"))
hl.bind("SUPER+SHIFT+V", hl.dsp.exec_cmd("vscodium"))
-- device specifics
if HOSTNAME == "archlinux-hypr" then
for i = 1, 12 do
hl.bind("SUPER+SHIFT+CTRL+F"..tostring(i), hl.dsp.exec_cmd("~/.config/hypr/scripts/makropad/button"..string.format("%02d", i)..".sh"))
end
hl.bind("ALT+T", hl.dsp.exec_cmd("~/.config/hypr/scripts/writing/todo.sh"))
hl.bind("ALT+Y", hl.dsp.exec_cmd("~/.config/hypr/scripts/writing/tmdb.sh"))
end
-- Quickshell
hl.bind("SUPER + SHIFT + W", hl.dsp.global("quickshell:Wallpaper"))
hl.bind("SUPER + SHIFT + J", hl.dsp.global("quickshell:JLearner"))
hl.bind("SUPER + SHIFT + L", hl.dsp.global("quickshell:WLogout"))
hl.bind("escape", hl.dsp.global("quickshell:Closer"))
-69
View File
@@ -1,69 +0,0 @@
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
# Environment variables. See https://wiki.hyprland.org/Configuring/Environment-variables/
env = GTK_USE_PORTAL,1
# Set your defaults editor through ENV in ~/.config/hypr/UserConfigs/01-UserDefaults.conf
# environment-variables
# Toolkit Backend Variables
env = GDK_BACKEND,wayland,x11,*
env = QT_QPA_PLATFORM,xcb
env = CLUTTER_BACKEND,wayland
#Run SDL2 applications on Wayland.
#Remove or set to x11 if games that provide older versions of SDL cause compatibility issues
#env = SDL_VIDEODRIVER,wayland
# xdg Specifications
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
# QT Variables
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_QPA_PLATFORMTHEME,hyprqt6engine
env = QT_STYLE_OVERRIDE,kvantum # Maybe qt5-fix?
env = KVANTUM_THEME,ColloidDark
env = QT_ENABLE_HIGHDPI_SCALING,1
env = QT_QPA_PLATFORM,wayland
# hyprland-qt-support
env = QT_QUICK_CONTROLS_STYLE,org.hyprland.style
# xwayland apps scale fix (useful if you are use monitor scaling).
# Set same value if you use scaling in Monitors.conf
# 1 is 100% 1.5 is 150%
# see https://wiki.hyprland.org/Configuring/XWayland/
env = GDK_SCALE,1
env = QT_SCALE_FACTOR,1
# Bibata-Modern-Ice-Cursor
# NOTE! You must have the hyprcursor version to activate this.
# https://wiki.hyprland.org/Hypr-Ecosystem/hyprcursor/
#env = HYPRCURSOR_THEME,Bibata-Modern-Ice
#env = HYPRCURSOR_SIZE,24
# firefox
env = MOZ_ENABLE_WAYLAND,1
# electron >28 apps (may help) ##
# https://www.electronjs.org/docs/latest/api/environment-variables
env = ELECTRON_OZONE_PLATFORM_HINT,auto # auto selects Wayland if possible, X11 otherwise
# Aquamarine Environment Variables #### ( Hyprland > 0.45 )
# https://wiki.hyprland.org/Configuring/Environment-variables/#aquamarine-environment-variables----ref-httpsgithubcomhyprwmaquamarineblobmaindocsenvmd---
# env = AQ_TRACE,1 # Enables more verbose logging.
# env = AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0 # Set an explicit list of DRM devices (GPUs) to use. Its a colon-separated list of paths, with the first being the primary. E.g. /dev/dri/card1:/dev/dri/card0
# env = AQ_MGPU_NO_EXPLICIT,1 # Disables explicit syncing on mgpu buffers
# env = AQ_NO_MODIFIERS,1 # Disables modifiers for DRM buffers
#### Hyprland Environment Variables ####
# https://wiki.hyprland.org/Configuring/Environment-variables/#hyprland-environment-variables
# env = HYPRLAND_TRACE,1 # Enables more verbose logging.
# env = HYPRLAND_NO_RT,1 # Disables realtime priority setting by Hyprland.
# env = HYPRLAND_NO_SD_NOTIFY,1 # If systemd, disables the 'sd_notify' calls.
# env = HYPRLAND_NO_SD_VARS,1 # Disables management of variables in systemd and dbus activation environments.
+37
View File
@@ -0,0 +1,37 @@
-- Hyprland env
-- https://wiki.hypr.land/Configuring/Advanced-and-Cool/Environment-variables/
hl.env("HYPRLAND_TRACE", "1")
-- Toolkit Backend Variables
hl.env("GDK_BACKEND", "wayland,x11,*")
hl.env("QT_QPA_PLATFORM", "wayland;xcb")
hl.env("SDL_VIDEODRIVER", "wayland") -- if older game fails set to x11
hl.env("CLUTTER_BACKEND", "wayland")
-- XDG Specifications
hl.env("XDG_CURRENT_DESKTOP", "Hyprland")
hl.env("XDG_SESSION_TYPE", "wayland")
hl.env("XDG_SESSION_DESKTOP", "Hyprland")
-- Qt Variables
hl.env("QT_AUTO_SCREEN_SCALE_FACTOR", "1")
hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION", "1")
-- enable hyprqt6engine
hl.env("QT_QPA_PLATFORMTHEME", "hyprqt6engine")
hl.env("QT_STYLE_OVERRIDE", "kvantum")
hl.env("QT_ENABLE_HIGHDPI_SCALING", "1")
-- hyprland-qt-support
hl.env("QT_ENABLE_HIGHDPI_SCALING", "1")
-- GDK Variables
hl.env("GTK_USE_PORTAL", "1")
hl.env("GDK_SCALE", "1")
-- Firefox
hl.env("MOZ_ENABLE_WAYLAND", "1")
-- electron
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
-- -- set XDG
-- hl.env("XDG_DATA_DIRS", "/usr/local/share:/usr/share:~/.local/share:~/.icons")
+6
View File
@@ -0,0 +1,6 @@
local f = io.popen("hostname 2>/dev/null")
HOSTNAME = "unknown"
if f then
HOSTNAME = (f:read("*l") or "unknown"):gsub("%s+", "")
f:close()
end
-12
View File
@@ -1,12 +0,0 @@
# The config where the resolution, position and
# other monitor Stuff is set up
# monitor = name, resolution, position, scale
misc {
vrr = 2 # 0: off, 1: on, 2: fullscreen only
}
render {
cm_auto_hdr = 1 # 0: off, 1: on, 2: edid
}
-76
View File
@@ -1,76 +0,0 @@
$GTK_THEME = "catppuccin-mocha-blue-standard+default"
$CURSOR_THEME = "DJ-FOX-C"
$ICON_THEME = "BeautyLine-Garuda"
$KVANTUM_THEME = "Catppuccin-Mocha-Blue"
# GTK Theming
env = GTK_THEME,Colloid-Dark
env = GTK_ICON_THEME,BeautyLine-Garuda
env = GTK_THEME_VARIANT,dark
env = XDG_CURRENT_DESKTOP,Hyprland
env = GDK_BACKEND,wayland,x11
env = GTK_USE_PORTAL,1
env = GTK_THEME_VARIANT,dark
# Qt/Kvantum Theming
# in env.conf
# Icons:
env = XDG_DATA_DIRS,/usr/local/share:/usr/share:~/.local/share:~/.icons
env = GTK_ICON_THEME,BeautyLine-Garuda
# Icons & Cursor
env = HYPRCURSOR_THEME,DJ-FOX-C
env = HYPRCURSOR_SIZE,24
env = XCURSOR_THEME,DJ-FOX-C
env = XCURSOR_SIZE,24
cursor {
no_hardware_cursors = true
}
# Window management
general {
gaps_in = 5
gaps_out = 8
border_size = 0
layout = dwindle
allow_tearing = false
}
decoration {
rounding = 5
active_opacity = 1
# inactive_opacity = 0.75
inactive_opacity = 1
fullscreen_opacity = 1
blur {
enabled = false
size = 3
passes = 1
}
}
animations {
enabled = yes
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
misc {
force_default_wallpaper = 0
disable_hyprland_logo = true
}
scrolling {
column_width = 1
follow_focus = true
fullscreen_on_one_column = true
# explicit_column_widths = 0.17,0.3
}
+132
View File
@@ -0,0 +1,132 @@
hl.config({
general = {
border_size = 1,
gaps_in = 5,
gaps_out = 8,
float_gaps = 0,
gaps_workspaces = 0,
col = {
inactive_border = 0xff444444,
active_border = 0xffffffff,
nogroup_border = 0xffffaaff,
nogroup_border_active = 0xffff00ff,
},
layout = "dwindle",
no_focus_fallback = false,
resize_on_border = false,
extend_border_grab_area = 15,
hover_icon_on_border = true,
allow_tearing = false,
resize_corner = 0,
modal_parent_blocking = true,
locale = "de",
}
})
hl.config({
dwindle = {
force_split = 0,
preserve_split = false,
smart_split = false,
smart_resizing = true,
permanent_direction_override = false,
special_scale_factor = 1,
split_width_multiplier = 1.0,
use_active_for_splits = true,
default_split_ratio = 1.0,
split_bias = 0,
precise_mouse_move = false,
},
})
hl.config({
scrolling = {
fullscreen_on_one_column = false,
column_width = 0.8,
focus_fit_method = 0,
follow_focus = true,
follow_min_visible = 1,
explicit_column_widths = "0.333, 0.5, 0.667, 1.0",
wrap_focus = true,
wrap_swapcol = true,
direction = "right",
},
})
hl.config({
decoration = {
rounding = 5,
active_opacity = 1,
inactive_opacity = 0.75,
dim_modal = true,
dim_inactive = true,
dim_strength = 0.5,
blur = {
enabled = true,
},
}
})
-- MISC
hl.config({
misc = {
disable_hyprland_logo = true,
font_family = "CodeNewRoman Nerd Font",
splash_font_family = "CodeNewRoman Nerd Font",
force_default_wallpaper = 0,
vrr = 3,
animate_manual_resizes = true,
animate_mouse_windowdragging = true,
background_color = 0x000000,
on_focus_under_fullscreen = 0,
middle_click_paste = false,
}
})
hl.config({
render = {
direct_scanout = 2,
cm_enabled = true,
cm_auto_hdr = 1,
}
})
hl.config({
cursor ={
no_hardware_cursors = 1,
}
})
if HOSTNAME == "archlinux-hypr" then
hl.config({
cursor ={
default_monitor = "BNQ BenQ EX2710U Y8P00876019",
}
})
end
hl.config({
quirks ={
prefer_hdr = 1,
}
})
hl.config({
debug={
full_cm_proto = true,
}
})
-- Kvantum
hl.env("KVANTUM_THEME", "ColloidDark")
-- GTK
hl.env("GTK_THEME", "Colloid-Dark")
hl.env("GTK_ICON_THEME", "BeautyLine-Garuda")
hl.env("GTK_THEME_VARIANT", "dark")
--
hl.env("HYPRCURSOR_THEME", "DJ-FOX-C")
hl.env("HYPRCURSOR_SIZE", "24")
hl.env("XCURSOR_THEME", "DJ-FOX-C")
hl.env("XCURSOR_SIZE", "24")
-9
View File
@@ -1,9 +0,0 @@
# Needs To start first
exec-once = hypridle
exec-once = hyprpaper
# now via:
exec-once = bash -c 'sleep 2 && ~/.config/hypr/scripts/wallpapers/random_wallpaper.sh > ~/.config/hypr/scripts/wallpapers/random_wallpaper.log'
exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user start hyprpolkitagent
exec-once = sleep 2 && hyprctl reload
-12
View File
@@ -1,12 +0,0 @@
# bind = modifier (win/shift/alt/CTRL), other_button, exec, command
# bind = $mod SHIFT, 1, movetoworkspace, 1
# Umlaute / German compatability on english Keyboard
bind = $mod, a, exec, wtype "ä"
bind = $mod SHIFT, a, exec, wtype "Ä"
bind = $mod, o, exec, wtype "ö"
bind = $mod SHIFT, o, exec, wtype "Ö"
bind = $mod, u, exec, wtype "ü"
bind = $mod SHIFT, u, exec, wtype "Ü"
bind = $mod, s, exec, wtype "ß"
bind = $mod SHIFT, e, exec, wtype "€"
Executable → Regular
-67
View File
@@ -1,67 +0,0 @@
general {
hide_cursor = true
no_fade_in = false
grace = 0
disable_loading_bar = true
}
background {
monitor =
path = ~/Pictures/Wallpapers/Static/blurred.jpg
blur_passes = 0
}
# -- time --
label {
monitor =
text = cmd[update:1000] echo "$(date +"%H:%M")"
color = 0xFFceca75
font_size = 80
font_family = JetBrains Mono ExtraBold
position = 0, 140
halign = center
valign = center
}
# -- quote --
label {
monitor =
text = - PAIN IS REAL, BUT SO IS HOPE -
color = 0xFFa5d0bb
font_size = 12
font_family = JetBrains Mono ExtraLight
position = 0, 80
halign = center
valign = center
}
# -- greeting --
label {
monitor =
text = Heya $USER :3
color = 0xFFceca75
font_size = 20
font_family = JetBrains Mono Light
position = 0, 0
halign = center
valign = center
}
# -- password input --
input-field {
monitor =
size = 230, 40
outline_thickness = 0
dots_size = 0.2
dots_spacing = 0.4
dots_center = true
inner_color = 0xFF4b4900
font_color = 0xFFceca75
fade_on_empty = false
placeholder_text = unlock the magic...
fail_color = 0xFFffb4ab
hide_input = false
position = 0, -50
halign = center
valign = center
}
+1 -1
View File
@@ -1,5 +1,5 @@
wallpaper {
monitor = *
path = /home/honney/Pictures/Wallpapers/Japanes_tempel_dark.png
path = /home/honney/Pictures/Wallpapers/japan_old_emperor_stream_with_bridge.png
fit_mode = cover
}
-16
View File
@@ -1,16 +0,0 @@
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
disable_while_typing = false
natural_scroll = true
scroll_factor = 0.15
tap-and-drag = true
}
sensitivity = 0 # -1.0 to 1.0; 0 means no modification.
numlock_by_default = true
}
-23
View File
@@ -1,23 +0,0 @@
monitor=,preferred,auto,auto
# Getting monitor info:
# hyprctl monitors -j
#
#
# Example:
# monitorv2 {
# output = desc:BNQ BenQ EX2710U Y8P00876019
# mode = 3840x2160@144
# position = 0x0
# scale = 1
# bitdepth = 10
# supports_hdr = 1
# transform = 0
# supports_wide_color = 1
# sdr_min_luminance = 1000
# sdr_max_luminance = 400
# }
#
# monitor = desc:LG Electronics LG ULTRAFINE 503NTKF3L437, 3840x2160@60, 0x-2160, 1, transform, 2, bitdepth, 10, cm, wide
#
# monitor = desc:LG Electronics LG ULTRAGEAR 107MAKR2RE65, 1920x1080@144, -1920x-1080, 1, transform, 2
-17
View File
@@ -1,17 +0,0 @@
# To get monitor names: hyprctl monitors -j
#
# To get the class/name: hyprctl clients -j | jq '.[] | select(.workspace.id == ID_OF_THE_WORKSPACE)'
# hyprctl clients -j | jq '.[] | select(.workspace.id == )'
#
# To enable scrolling
# workspace = 1, monitor:desc:BNQ BenQ EX2710U Y8P00876019, layout:scrolling, layoutopt:direction:right
#
# to put a specific workspace on a monitor
# workspace = 3, monitor:desc:LG Electronics LG ULTRAFINE 503NTKF3L437
#
# How to set windowrules:
# windowrule {
# name = Discord
# match:class = .*discord.*
# workspace = 4
# }
-18
View File
@@ -1,18 +0,0 @@
# _____ __ __ _____ _____ __ _____ _____ ____
# | | | | | _ | __ | | | _ | | | \
# | |_ _| __| -| |__| | | | | | |
# |__|__| |_| |__| |__|__|_____|__|__|_|___|____/
#
# by Bina & edited by Honney
# -- programs --
$terminal = kitty
$fileManager = nautilus# nemo # put your preffered fileManager here, choose keybind
$menu = wofi --show drun, run
# including all the sub configs
source = ~/.config/hypr/config/*
source = ~/.config/hypr/user_config/*
debug:disable_logs=false
debug:gl_debugging=true
+9
View File
@@ -0,0 +1,9 @@
require("config/hostname")
require("config/bind")
require("config/env")
require("config/theme")
require("config/autostart")
require("user_config/monitor")
require("user_config/input")
require("user_config/workspacerules")
require("user_config/windowrules")
+104 -28
View File
@@ -1,36 +1,112 @@
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
WALLPAPER_DIR=$(scripts/install/wallpaper_dir.sh)
copy_missing() {
local dest="$1"
local filename
filename="$(basename "$dest")"
local src="$SCRIPT_DIR/examples/$filename.example"
# ----------------------------
# UI helpers
# ----------------------------
info() { echo -e "\033[1;34m[INFO]\033[0m $*"; }
ok() { echo -e "\033[1;32m[ OK ]\033[0m $*"; }
warn() { echo -e "\033[1;33m[WARN]\033[0m $*"; }
fail() { echo -e "\033[1;31m[FAIL]\033[0m $*"; }
if [ -e "$dest" ]; then
echo "Already exists: $dest"
else
echo "Creating: $dest"
cp "$src" "$dest"
fi
# ----------------------------
# Packages
# ----------------------------
REQUIRED_PKGS=(
hyprland-qt-support
hyprcursor
hypridle
hyprlock
libnotify
jq
inetutils
)
OPTIONAL_PKGS=(
hyprpaper "Wallpaper daemon" OFF
carla "Audio plugin host" OFF
gnome-keyring "Secrets management" OFF
curl "HTTP requests" OFF
wofi "Launcher" OFF
kitty "Terminal" OFF
nautilus "File manager" OFF
wtype "Typing tool" OFF
ydotool "Input automation" OFF
imagemagick "Image tools" OFF
playerctl "Media control" OFF
wlopm "Monitor power" OFF
hyprshot "Screenshot tool" OFF
matugen "Theme generator" OFF
)
# ----------------------------
# Optional selection (ONLY whiptail use)
# ----------------------------
command -v whiptail &>/dev/null || {
fail "whiptail is required for selection"
exit 1
}
if [ ! -d "$SCRIPT_DIR/user_config" ]; then
mkdir "$SCRIPT_DIR/user_config"
echo "$SCRIPT_DIR/user_config created"
info "Selecting optional packages..."
SELECTED=$(whiptail --title "Optional Packages" --checklist \
"Select extras to install:" 18 70 10 \
"${OPTIONAL_PKGS[@]}" \
3>&1 1>&2 2>&3) || {
fail "Cancelled"
exit 1
}
OPT_ARGS=()
[[ -n "${SELECTED:-}" ]] && eval "OPT_ARGS=($SELECTED)"
ok "Selection complete"
# ----------------------------
# Config setup
# ----------------------------
info "Preparing config files..."
mkdir -p "$SCRIPT_DIR/scripts/autostart"
[[ ! -f "$SCRIPT_DIR/scripts/autostart/workspace" ]] && {
cp "$SCRIPT_DIR/examples/workspace.example" "$SCRIPT_DIR/scripts/autostart/workspace"
ok "workspace config created"
}
[[ ! -f "$SCRIPT_DIR/hyprlock.conf" ]] && {
cp "$SCRIPT_DIR/examples/hyprlock.conf.example" "$SCRIPT_DIR/hyprlock.conf"
ok "hyprlock config created"
}
[[ ! -f "$SCRIPT_DIR/hyprpaper.conf" ]] && {
cp "$SCRIPT_DIR/examples/hyprpaper.conf.example" "$SCRIPT_DIR/hyprpaper.conf"
ok "hyprpaper config created"
}
# ----------------------------
# Install
# ----------------------------
info "Updating system..."
sudo pacman -Syu --noconfirm
ok "System updated"
info "Installing required packages..."
sudo pacman -S --needed --noconfirm "${REQUIRED_PKGS[@]}"
ok "Required packages installed"
if [[ ${#OPT_ARGS[@]} -gt 0 ]]; then
info "Installing optional packages..."
sudo pacman -S --needed --noconfirm "${OPT_ARGS[@]}"
ok "Optional packages installed"
else
echo "$SCRIPT_DIR/user_config exists"
warn "No optional packages selected"
fi
copy_missing "$SCRIPT_DIR/user_config/monitor.conf"
copy_missing "$SCRIPT_DIR/user_config/input.conf"
copy_missing "$SCRIPT_DIR/user_config/workspace.conf"
copy_missing "$SCRIPT_DIR/scripts/autostart/workspace"
copy_missing "$SCRIPT_DIR/user_config/bind.conf"
copy_missing "$SCRIPT_DIR/user_config/input.conf"
copy_missing "$SCRIPT_DIR/hyprlock.conf"
copy_missing "$SCRIPT_DIR/hyprpaper.conf"
copy_missing "$SCRIPT_DIR/config/autostart.conf"
echo "The script will now install dependencies via pacman"
sudo pacman -S --needed hyprland-qt-support hyprcursor hypridle hyprlock hypridle
# ----------------------------
# Done
# ----------------------------
echo
ok "Setup complete"
info "Restart Hyprland to apply changes"
+3 -1
View File
@@ -103,4 +103,6 @@ done
hyprctl dispatch workspace 4
hyprctl dispatch workspace 3
hyprctl dispatch workspace 2
hyprctl dispatch workspace 1
hyprctl dispatch workspace 1
tmux new-session -d -s qs 'sleep 4 && quickshell'
+37
View File
@@ -0,0 +1,37 @@
hl.config({
input={
-- keyboard
kb_model = "",
kb_layout = "de",
kb_variant = "",
kb_options = "",
kb_rules = "",
kb_file = "",
numlock_by_default = true,
-- mouse
sensitivity = 0,
left_handed = false,
natural_scroll = false,
follow_mouse = 1,
touchpad = {
disable_while_typing = false,
natural_scroll = true,
scroll_factor = 0.15,
middle_button_emulation = true,
clickfinger_behavior = true,
drag_lock = 1,
tap_and_drag = true,
drag_3fg = 2,
},
}
})
-- hyprctl devices
hl.device({
name = "evision-rgb-keyboard",
kb_layout = "us",
})
hl.device({
name = "evision-rgb-keyboard-1",
kb_layout = "us",
})
+79
View File
@@ -0,0 +1,79 @@
if HOSTNAME == "archlinux-hypr" then
hl.monitor({
output = "desc:ASUSTek COMPUTER INC PA279CRV S5LMSB007609",
mode = "3840x2160@60",
position = "-3840x0",
scale = 1,
transform = 0,
bitdepth = 10,
cm = "srgb",
sdr_eotf = "default",
sdrbrightness = 1.0,
sdrsaturation = 1.0,
vrr = 0,
supports_wide_color = 1,
supports_hdr = 1,
sdr_min_luminance = 0.2,
sdr_max_luminance = 400,
})
hl.monitor({
output = "desc:BNQ BenQ EX2710U Y8P00876019",
mode = "3840x2160@144",
position = "0x0",
scale = 1,
transform = 0,
bitdepth = 10,
cm = "srgb",
sdr_eotf = "default",
sdrbrightness = 1.0,
sdrsaturation = 1.0,
vrr = 0,
supports_wide_color = 1,
supports_hdr = 1,
sdr_min_luminance = 0.2,
sdr_max_luminance = 600,
})
hl.monitor({
output = "desc:LG Electronics LG ULTRAFINE 503NTKF3L437",
mode = "3840x2160@60",
position = "0x-2160",
scale = 1,
transform = 2,
bitdepth = 10,
cm = "srgb",
sdr_eotf = "default",
sdrbrightness = 1.0,
sdrsaturation = 1.0,
vrr = 0,
supports_wide_color = 1,
supports_hdr = 1,
sdr_min_luminance = 0.2,
sdr_max_luminance = 400,
})
hl.monitor({
output = "desc:LG Electronics LG ULTRAGEAR 107MAKR2RE65",
mode = "1920x1080@144",
position = "-1920x-1080",
scale = 1,
transform = 2,
bitdepth = 10,
})
hl.monitor({
output = "desc:Dell Inc. DELL P2419H D4CN3Q2",
mode = "1920x1080@60",
position = "-1920x-2160",
scale = 1,
transform = 0,
})
elseif HOSTNAME == "hp-laptop" then
hl.monitor({
output = "desc:BOE 0x08A8",
mode = "1920x1080@60",
position = "0x0",
scale = 1,
transform = 0,
})
end
-- mirror string Output name to mirror
-- icc string Absolute path to an ICC profile
+61
View File
@@ -0,0 +1,61 @@
if HOSTNAME == "archlinux-hypr" then
--# Window rules on Monitor 3
hl.window_rule({
name = "Librewolf",
match = {
class = ".*librewolf.*"
},
workspace = "300 silent"
})
hl.window_rule({
name = "Mozilla Thunderbird",
match = {
class = ".*Thunderbird.*"
},
workspace = "301 silent"
})
--# Window rules on Monitor 4
hl.window_rule({
name = "Discord",
match = {
class = ".*discord.*"
},
workspace = "4 silent"
})
hl.window_rule({
name = "Signal",
match = {
class = ".*Signal.*"
},
workspace = "4"
})
hl.window_rule({
name = "Nextcloud",
match = {
class = ".*nextcloud.*"
},
workspace = "400"
})
elseif HOSTNAME == "hp-laptop" then
hl.window_rule({
name = "Discord",
match = {
class = ".*discord.*"
},
workspace = "4 silent"
})
hl.window_rule({
name = "Signal",
match = {
class = ".*Signal.*"
},
workspace = "4"
})
hl.window_rule({
name = "Nextcloud",
match = {
class = ".*nextcloud.*"
},
workspace = "400"
})
end
+58
View File
@@ -0,0 +1,58 @@
if HOSTNAME == "archlinux-hypr" then
--# Workspaces on Monitor 1
hl.workspace_rule({
workspace = "1",
monitor = "desc:BNQ BenQ EX2710U Y8P00876019",
default = true,
layout = "scrolling",
})
--# Workspaces on Monitor 2
hl.workspace_rule({
workspace = "2",
monitor = "desc:BNQ BenQ EX2710U Y8P00876019",
default = true,
layout = "scrolling",
})
hl.workspace_rule({
workspace = "200",
monitor = "desc:BNQ BenQ EX2710U Y8P00876019",
default = false,
})
--# Workspaces on Monitor 3
hl.workspace_rule({
workspace = "3",
monitor = "desc:BNQ BenQ EX2710U Y8P00876019",
default = true,
})
hl.workspace_rule({
workspace = "300",
monitor = "desc:BNQ BenQ EX2710U Y8P00876019",
default = false,
})
hl.workspace_rule({
workspace = "301",
monitor = "desc:BNQ BenQ EX2710U Y8P00876019",
default = false,
})
hl.workspace_rule({
workspace = "302",
monitor = "desc:BNQ BenQ EX2710U Y8P00876019",
default = false,
})
--# Workspaces on Monitor 4
hl.workspace_rule({
workspace = "4",
monitor = "desc:BNQ BenQ EX2710U Y8P00876019",
default = true,
})
hl.workspace_rule({
workspace = "400",
monitor = "desc:BNQ BenQ EX2710U Y8P00876019",
default = false,
})
hl.workspace_rule({
workspace = "401",
monitor = "desc:BNQ BenQ EX2710U Y8P00876019",
default = false,
})
end