moved hyprland to lua

This commit is contained in:
Kyattsukuro 2026-05-22 21:31:15 +02:00
parent 4967d61461
commit 53a47ebba0
44 changed files with 534 additions and 518 deletions

1
.gitignore vendored
View File

@ -6,6 +6,7 @@
/.git /.git
/.yolk_git /.yolk_git
**/Cache* **/Cache*
**.backup
eggs/i2p_librewolf/profile/* eggs/i2p_librewolf/profile/*
!eggs/i2p_librewolf/profile/settings !eggs/i2p_librewolf/profile/settings

5
.luarc.json Normal file
View File

@ -0,0 +1,5 @@
{
"diagnostics.globals": [
"hl"
]
}

Binary file not shown.

1
eggs/hypr/.luarc.json Symbolic link
View File

@ -0,0 +1 @@
/nix/store/44xc7k2v4avg6xl1nramh4nndlznyszz-home-manager-files/.config/hypr/.luarc.json

View File

@ -1,54 +0,0 @@
autogenerated = 0
# ── Program variables ──
$terminal = kitty
$browser = librewolf
$fileManager = thunar
$menu = rofi
$workspace-switcher = /home/someone/Builds/microscripts/workspace_manager
$special-workspace-movment = /home/someone/Builds/microscripts/specia-workspace-movment-toggle
$kill-on-unfocus = /home/someone/Builds/microscripts/kill-on-unfocus
# ── Modifier variables ──
$mainMod = SUPER
$subMod = SUPERCONTROL
$focusMod = ALT
$resizeMod = ALTSHIFT
$moveMod = CONTROLALT
# ── Plugin (disabled) ──
#plugin = /run/current-system/sw/lib/libhyprspace.so
#plugin {
# overview {
# drawActiveWorkspace = true
# centerAligned = true
# autoDrag = true
# autoScroll = false
# showEmptyWorkspace = false
# }
#}
#bind = SUPER, code:65, overview:toggle, all
#plugin {
# overview {
# workspaceBorderSize = 4
# workspaceActiveBorder = rgba(ca9ee6ff)
# workspaceInactiveBorder = rgba(232634ff)
# switchOnDrop = true
# exitOnSwitch = false
# showNewWorkspace = false
# disableGestures = true
# }
#}
# ── Includes ──
source = hyprland/monitors.conf
source = hyprland/env.conf
source = hyprland/input.conf
source = hyprland/general.conf
source = hyprland/appearance.conf
source = hyprland/workspaces.conf
source = hyprland/windowrules.conf
source = hyprland/exec.conf
source = hyprland/binds.conf

1
eggs/hypr/hyprland.lua Symbolic link
View File

@ -0,0 +1 @@
/nix/store/44xc7k2v4avg6xl1nramh4nndlznyszz-home-manager-files/.config/hypr/hyprland.lua

View File

@ -1,22 +0,0 @@
decoration {
rounding = 10
blur {
enabled = true
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
}

View File

@ -0,0 +1,20 @@
hl.config({
decoration = {
rounding = 10,
blur = {
enabled = true,
size = 3,
passes = 1,
},
},
})
-- FIXME: Unrecognized animations property: enabled = yes
hl.curve("myBezier", { type = "bezier", points = { {0.05, 0.9}, {0.1, 1.05} } })
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" })

View File

@ -1,103 +0,0 @@
# Dispatchers https://wiki.hyprland.org/Configuring/Dispatchers/
# Applications
bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod, code:51, exec, $browser
bind = $mainMod, code:48, exec, $fileManager
bind = $mainMod, V, exec, copyq show
bindr= $mainMod, SUPER_L, exec, if pgrep -x $menu; then kill $(pgrep -x $menu); else $menu -show drun; fi
bind = ,code:107, exec, grim -g "$(slurp)" - | swappy -f -
bind = $mainMod, code:107, exec, grim -o $(hyprctl activeworkspace -j | jq ".monitor" | tr -d "\"") - | swappy -f -
bind = $subMod, code:107, exec, $kill-on-unfocus normcap
bind = $focusMod, code:107, exec, dunstify -a System -r 1000 -t 5000 -i "$HOME/.config/assets/arch-maron.png" "Hyprpicker" "Color: $(hyprpicker -a -r)"
bind = $mainMod, O, exec, $HOME/.local/share/until-scripts/open_uri.sh
# Media Buttons
bind = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_SINK@ 1%-
bind = ,XF86AudioLowerVolume, exec, dunstify -a System -r 1000 -t 2000 -i $HOME/.config/assets/volume-down.png -h int:value:$(echo "100 * $(wpctl get-volume @DEFAULT_SINK@ | tr -d "Volume: ")" | bc) Volume
bind = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_SINK@ 1%+
bind = ,XF86AudioRaiseVolume, exec, dunstify -a System -r 1000 -t 2000 -i $HOME/.config/assets/volume-up.png -h int:value:$(echo "100 * $(wpctl get-volume @DEFAULT_SINK@ | tr -d "Volume: ")" | bc) Volume
bindl=, XF86AudioPlay, exec, playerctl play-pause
bindl=, XF86AudioPlay, exec, sleep 0.1; if [ "$(playerctl status)" = "Playing" ]; then dunstify -a System -r 1000 -t 2000 -i "$HOME/.config/assets/play.png" "Player" "resumed playback"; else dunstify -a System -r 1000 -t 2000 -i "$HOME/.config/assets/pause.png" "Player" "paused playback"; fi
bindl=, XF86AudioNext, exec, playerctl next
bindl=, XF86AudioPrev, exec, playerctl previous
# System ctl
bind =, XF86PowerOff, exec, bash ~/.local/share/until-scripts/sleep.sh hibernate
# Window management
bind = $mainMod, Q, killactive,
bind = $mainMod, W, fullscreen, 1
bind = $mainMod, T, fullscreen, 0
bind = $mainMod, M, forcerendererreload,
bind = $mainMod, F, togglefloating,
bind = $mainMod, R, togglespecialworkspace, scratchpad
bind = $mainMod, X, togglespecialworkspace, scratchpad2
bind = $mainMod, code:21, togglespecialworkspace, dump
bind = $resizeMod, e, layoutmsg, orientationnext
bind = $resizeMod, q, layoutmsg, orientationprev
# Change Focus
bind = $focusMod, a, movefocus, l
bind = $focusMod, d, movefocus, r
bind = $focusMod, w, movefocus, u
bind = $focusMod, s, movefocus, d
# Resize Window
binde = $resizeMod, a, resizeactive,-30 0
binde = $resizeMod, d, resizeactive, 30 0
binde = $resizeMod, s, resizeactive, 0 30
binde = $resizeMod, w, resizeactive, 0 -30
# Move Window
bind = $moveMod, a, movewindow, l
bind = $moveMod, d, movewindow, r
bind = $moveMod, s, movewindow, d
bind = $moveMod, w, movewindow, u
bind = $mainMod, code:112, movewindow, mon:DP-2
bind = $mainMod, code:117, movewindow, mon:DP-3
bind = $mainMod, E, exec, $special-workspace-movment scratchpad
bind = $mainMod, Y, exec, $special-workspace-movment scratchpad2
bind = $mainMod, code:20, exec, $special-workspace-movment dump
# Switch workspaces with mainMod
bind = $mainMod, code:113, exec, $workspace-switcher 1
bind = $mainMod, code:114, exec, $workspace-switcher 2
bind = $mainMod, code:111, exec, $workspace-switcher 3
bind = $mainMod, code:116, exec, $workspace-switcher 4
# Workspaces, carry window
bind = $mainMod SHIFT, code:113, exec, $workspace-switcher 1 carry
bind = $mainMod SHIFT, code:114, exec, $workspace-switcher 2 carry
bind = $mainMod SHIFT, code:111, exec, $workspace-switcher 3 carry
bind = $mainMod SHIFT, code:116, exec, $workspace-switcher 4 carry
# Workspace management
bind = $mainMod, c, swapactiveworkspaces, DP-2 DP-3
# Mousebinds
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Submaps
bind = $mainMod, g, submap, gaming
bind = $subMod, code:112, movecursor, 1720 720
bind = $subMod, code:117, movecursor, -2560 720
#bind = $mainMod, code:65, hyprexpo:expo, toggle
submap=gaming
bind = $mainMod, T, fullscreen, 0
bind = $mainMod, R, togglespecialworkspace, scratchpad
bind = $mainMod, g, submap,reset
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
bind = $mainMod, code:51, exec, $browser
submap=reset

View File

@ -0,0 +1,102 @@
-- Dispatchers https://wiki.hyprland.org/Configuring/Dispatchers/
local constants = require("hyprland/constants")
-- Applications
hl.bind(constants.mainMod .. " + RETURN", hl.dsp.exec_cmd("uwsm app -- " .. constants.terminal))
hl.bind(constants.mainMod .. " + code:51", hl.dsp.exec_cmd("uwsm app -- " .. constants.browser))
hl.bind(constants.mainMod .. " + code:48", hl.dsp.exec_cmd("uwsm app -- " .. constants.fileManager))
hl.bind(constants.mainMod .. " + V", hl.dsp.exec_cmd("copyq show"))
hl.bind(constants.mainMod .. " + SUPER_L", hl.dsp.exec_cmd("if pgrep -x " .. constants.menu .. "; then kill $(pgrep -x " .. constants.menu .. "); else uwsm app -- " .. constants.menu .. " -show drun; fi"), { release = true })
hl.bind("code:107", hl.dsp.exec_cmd("grim -g \"$(slurp)\" - | swappy -f -"))
hl.bind(constants.mainMod .. " + code:107", hl.dsp.exec_cmd("grim -o $(hyprctl activeworkspace -j | jq \".monitor\" | tr -d \"\\\"\") - | swappy -f -"))
hl.bind(constants.subMod .. " + code:107", hl.dsp.exec_cmd(constants.kill_on_unfocus .. " normcap"))
hl.bind(constants.focusMod .. " + code:107", hl.dsp.exec_cmd("dunstify -a System -r 1000 -t 5000 -i \"" .. os.getenv("HOME") .. "/.config/assets/arch-maron.png\" \"Hyprpicker\" \"Color: $(hyprpicker -a -r)\""))
hl.bind(constants.mainMod .. " + O", hl.dsp.exec_cmd(os.getenv("HOME") .. "/.local/share/until-scripts/open_uri.sh"))
-- Media Buttons
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_SINK@ 1%-"))
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("dunstify -a System -r 1000 -t 2000 -i " .. os.getenv("HOME") .. "/.config/assets/volume-down.png -h int:value:$(echo \"100 * $(wpctl get-volume @DEFAULT_SINK@ | tr -d \"Volume: \")\" | bc) Volume"))
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_SINK@ 1%+"))
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("dunstify -a System -r 1000 -t 2000 -i " .. os.getenv("HOME") .. "/.config/assets/volume-up.png -h int:value:$(echo \"100 * $(wpctl get-volume @DEFAULT_SINK@ | tr -d \"Volume: \")\" | bc) Volume"))
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("sleep 0.1; if [ \"$(playerctl status)\" = \"Playing\" ]; then dunstify -a System -r 1000 -t 2000 -i \"" .. os.getenv("HOME") .. "/.config/assets/play.png\" \"Player\" \"resumed playback\"; else dunstify -a System -r 1000 -t 2000 -i \"" .. os.getenv("HOME") .. "/.config/assets/pause.png\" \"Player\" \"paused playback\"; fi"), { locked = true })
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { locked = true })
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = true })
-- System ctl
hl.bind("XF86PowerOff", hl.dsp.exec_cmd("bash ~/.local/share/until-scripts/sleep.sh hibernate"))
-- Window management
hl.bind(constants.mainMod .. " + Q", hl.dsp.window.close())
hl.bind(constants.mainMod .. " + W", hl.dsp.window.fullscreen({ mode = "fullscreen", action = "toggle" }))
hl.bind(constants.mainMod .. " + T", hl.dsp.window.fullscreen({ mode = "fullscreen", action = "toggle" }))
-- FIXME: dispatcher 'forcerendererreload' not found in Hyprland 0.55 hl.dsp API. Original bind: $mainMod, M, forcerendererreload,
hl.bind(constants.mainMod .. " + F", hl.dsp.window.float({ action = "toggle" }))
hl.bind(constants.mainMod .. " + R", hl.dsp.workspace.toggle_special("scratchpad"))
hl.bind(constants.mainMod .. " + X", hl.dsp.workspace.toggle_special("scratchpad2"))
hl.bind(constants.mainMod .. " + code:21", hl.dsp.workspace.toggle_special("dump"))
-- FIXME: dispatcher 'layoutmsg' not found in Hyprland 0.55 hl.dsp API. Original bind: $resizeMod, e, layoutmsg, orientationnext
-- FIXME: dispatcher 'layoutmsg' not found in Hyprland 0.55 hl.dsp API. Original bind: $resizeMod, q, layoutmsg, orientationprev
-- Change Focus
hl.bind(constants.focusMod .. " + A", hl.dsp.focus({ direction = "l" }))
hl.bind(constants.focusMod .. " + D", hl.dsp.focus({ direction = "r" }))
hl.bind(constants.focusMod .. " + W", hl.dsp.focus({ direction = "u" }))
hl.bind(constants.focusMod .. " + S", hl.dsp.focus({ direction = "d" }))
-- Resize Window
hl.bind(constants.resizeMod .. " + A", hl.dsp.window.resize({ x = -30, y = 0, relative = true }), { repeating = true })
hl.bind(constants.resizeMod .. " + D", hl.dsp.window.resize({ x = 30, y = 0, relative = true }), { repeating = true })
hl.bind(constants.resizeMod .. " + S", hl.dsp.window.resize({ x = 0, y = 30, relative = true }), { repeating = true })
hl.bind(constants.resizeMod .. " + W", hl.dsp.window.resize({ x = 0, y = -30, relative = true }), { repeating = true })
-- Move Window
hl.bind(constants.moveMod .. " + A", hl.dsp.window.move({ direction = "l" }))
hl.bind(constants.moveMod .. " + D", hl.dsp.window.move({ direction = "r" }))
hl.bind(constants.moveMod .. " + S", hl.dsp.window.move({ direction = "d" }))
hl.bind(constants.moveMod .. " + W", hl.dsp.window.move({ direction = "u" }))
hl.bind(constants.mainMod .. " + code:112", hl.dsp.window.move({ monitor = "DP-2" }))
hl.bind(constants.mainMod .. " + code:117", hl.dsp.window.move({ monitor = "DP-3" }))
hl.bind(constants.mainMod .. " + E", hl.dsp.exec_cmd(constants.special_workspace_movment .. " scratchpad"))
hl.bind(constants.mainMod .. " + Y", hl.dsp.exec_cmd(constants.special_workspace_movment .. " scratchpad2"))
hl.bind(constants.mainMod .. " + code:20", hl.dsp.exec_cmd(constants.special_workspace_movment .. " dump"))
-- Overview
--hl.bind(constants.mainMod .. " + code:65", function()
-- constants.hyprspace.toggle()
-- end
--)
-- Switch workspaces with mainMod
hl.bind(constants.mainMod .. " + code:113", function() constants.smw.workspace("-1") end)
hl.bind(constants.mainMod .. " + code:114", function() constants.smw.workspace("+1") end)
hl.bind(constants.subMod .. " + code:113", function() constants.smw.move_to_workspace("-1") end)
hl.bind(constants.subMod .. " + code:114", function() constants.smw.move_to_workspace("+1") end)
-- Workspace management
-- Mousebinds
hl.bind(constants.mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
hl.bind(constants.mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
-- Submaps
hl.bind(constants.mainMod .. " + G", hl.dsp.submap("gaming"))
hl.define_submap("gaming", function()
hl.bind(constants.mainMod .. " + T", hl.dsp.window.fullscreen({ mode = "fullscreen", action = "toggle" }))
hl.bind(constants.mainMod .. " + R", hl.dsp.workspace.toggle_special("scratchpad"))
hl.bind(constants.mainMod .. " + G", hl.dsp.submap("reset"), {long_press = true})
hl.bind(constants.mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
hl.bind(constants.mainMod .. " + mouse:273", hl.dsp.window.drag(), { mouse = true })
hl.bind(constants.mainMod .. " + code:51", hl.dsp.exec_cmd(constants.browser))
end)

View File

@ -0,0 +1,31 @@
-- ── Program variables ──
local terminal = "kitty"
local browser = "librewolf"
local fileManager = "thunar"
local menu = "rofi"
local special_workspace_movment = "~/.config/hypr/scripts/specia-workspace-movment-toggle.sh"
local kill_on_unfocus = "/home/someone/Builds/microscripts/kill-on-unfocus"
-- ── Modifier variables ──
local mainMod = "SUPER"
local subMod = "SUPER + CONTROL"
local focusMod = "ALT"
local resizeMod = "ALT + SHIFT"
local moveMod = "CONTROL + ALT"
return {
terminal = terminal,
browser = browser,
fileManager = fileManager,
menu = menu,
special_workspace_movment = special_workspace_movment,
kill_on_unfocus = kill_on_unfocus,
mainMod = mainMod,
subMod = subMod,
focusMod = focusMod,
resizeMod = resizeMod,
moveMod = moveMod,
smw = hl.plugin.split_monitor_workspaces,
-- hyprspace = require("hyprland/Hyprspace")
}

View File

@ -1,15 +0,0 @@
# Some default env vars.
env = XCURSOR_SIZE,16
env = XCURSOR_THEME,catppuccin-frappe-mauve-cursors
env = QT_QPA_PLATFORMTHEME,qt5ct # should also aply to qt6ct
env = XDG_SESSION_TYPE,wayland
env = GTK_THEME,catppuccin-frappe-mauve-standard+default
env = ICON_THEME,catppuccin-frappe-mauve-cursors
env = GNOME22_USER_DIR,/home/someone/.config/gnome2 # For nemo and other gnome 2 apps
#env = DESKTOP_SESSION,gnome
# Fix for nvidia
#env = LIBV_DRIVER_NAME,nvidia
#env = GBM_BACKEND,nvidia-drm
#env = __GLX_VENDOR_LYBARY_NAME,nvidia
#env = WLR_NO_HARDWARE_CURSORS,1

View File

@ -0,0 +1,15 @@
-- Some default env vars.
hl.env("XCURSOR_SIZE", "16")
hl.env("XCURSOR_THEME", "catppuccin-frappe-mauve-cursors")
hl.env("QT_QPA_PLATFORMTHEME", "qt5ct") -- should also aply to qt6ct
hl.env("XDG_SESSION_TYPE", "wayland")
hl.env("GTK_THEME", "catppuccin-frappe-mauve-standard+default")
hl.env("ICON_THEME", "catppuccin-frappe-mauve-cursors")
hl.env("GNOME22_USER_DIR", "/home/someone/.config/gnome2") -- For nemo and other gnome 2 apps
-- env = DESKTOP_SESSION,gnome
-- Fix for nvidia
-- env = LIBV_DRIVER_NAME,nvidia
-- env = GBM_BACKEND,nvidia-drm
-- env = __GLX_VENDOR_LYBARY_NAME,nvidia
-- env = WLR_NO_HARDWARE_CURSORS,1

View File

@ -1,16 +0,0 @@
# Exec at start
exec-once= ~/.local/share/until-scripts/run-at-start.sh
exec-once= ~/.config/hypr/scripts/follow_workspace.sh
exec-once= systemctl --user start hyprpolkitagent
exec-once= sleep 3 && copyq --start-server
exec-once= waybar -c $HOME/.config/waybar/bar/config.jsonc -s $HOME/.config/waybar/bar/style.css
exec-once= hyprctl setcursor catppuccin-frappe-mauve-cursors 16
exec-once= dconf write /org/gnome/desktop/interface/cursor-size "16"
exec-once= dconf write /org/gnome/desktop/interface/cursor-theme "'catppuccin-frappe-mauve-cursors'"
exec-once= dconf write /org/gnome/desktop/interface/gtk-theme "'catppuccin-frappe-mauve-standard+default'"
exec-once= hyprpaper
exec-once= openrgb -p $HOME/.config/OpenRGB/Cat.orp
exec-once= sleep 3 && nextcloud --background
exec-once= $workspace-switcher 1
exec-once= kdeconnectd &

View File

@ -0,0 +1,16 @@
-- Exec at start
hl.on("hyprland.start", function()
hl.exec_cmd(os.getenv("HOME") .. "/.local/share/until-scripts/run-at-start.sh")
hl.exec_cmd("systemctl --user start hyprpolkitagent")
hl.exec_cmd("sleep 3 && copyq --start-server")
hl.exec_cmd("uwsm app -- waybar -c " .. os.getenv("HOME") .. "/.config/waybar/bar/config.jsonc -s " .. os.getenv("HOME") .. "/.config/waybar/bar/style.css")
hl.exec_cmd("hyprctl setcursor catppuccin-frappe-mauve-cursors 16")
hl.exec_cmd("dconf write /org/gnome/desktop/interface/cursor-size \"16\"")
hl.exec_cmd("dconf write /org/gnome/desktop/interface/cursor-theme \"'catppuccin-frappe-mauve-cursors'\"")
hl.exec_cmd("dconf write /org/gnome/desktop/interface/gtk-theme \"'catppuccin-frappe-mauve-standard+default'\"")
hl.exec_cmd("hyprpaper")
hl.exec_cmd("openrgb -p " .. os.getenv("HOME") .. "/.config/OpenRGB/Cat.orp")
hl.exec_cmd("sleep 3 && uwsm app -- nextcloud --background")
hl.exec_cmd("uwsm app -- kdeconnectd &")
end)

View File

@ -1,30 +0,0 @@
general {
gaps_in = 5
gaps_out = 10
border_size = 2
col.active_border = rgba(ca9ee6ff) rgba(8caaeeff) 90deg
col.inactive_border = rgba(232634ff)
layout = master
allow_tearing = false
}
dwindle {
preserve_split = yes
}
master {
new_status = master
}
misc {
force_default_wallpaper = -1
disable_splash_rendering = false
}
group {
groupbar {
enabled = true
}
}

View File

@ -0,0 +1,27 @@
hl.config({
general = {
gaps_in = 5,
gaps_out = 10,
border_size = 2,
col = { active_border = { colors = { "rgba(ca9ee6ff)", "rgba(8caaeeff)" }, angle = 90 },
inactive_border = "rgba(232634ff)" },
layout = "master",
allow_tearing = false,
},
dwindle = {
preserve_split = true,
},
master = {
new_status = "master",
},
misc = {
force_default_wallpaper = -1,
disable_splash_rendering = false,
},
group = {
groupbar = {
enabled = true,
},
},
})

View File

@ -1,13 +0,0 @@
input {
kb_layout = de
kb_variant =
kb_model =
kb_options =
kb_rules =
accel_profile = flat
force_no_accel = false
sensitivity = 0
follow_mouse = 2
}

View File

@ -0,0 +1,15 @@
hl.config({
input = {
kb_layout = "de",
-- FIXME: Unrecognized line: kb_variant =
-- FIXME: Unrecognized line: kb_model =
-- FIXME: Unrecognized line: kb_options =
-- FIXME: Unrecognized line: kb_rules =
accel_profile = "flat",
force_no_accel = false,
sensitivity = 0,
follow_mouse = 2,
},
})

View File

@ -1,5 +0,0 @@
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=DP-2, 3440x1440@165, 0x0, 1
monitor=DP-3, 3440x1440, -3440x0, 1
#monitor=HDMI-A-1, 800x480@60, 0x-480, 1

View File

@ -0,0 +1,29 @@
-- See https://wiki.hyprland.org/Configuring/Monitors/
hl.monitor({ output = "DP-2", mode = "3440x1440@165", position = "0x0", scale = 1 })
hl.monitor({ output = "DP-3", mode = "3440x1440", position = "-3440x0", scale = 1 })
hl.config({
plugin = {
split_monitor_workspaces = {
count = 4,
enable_wrapping = true,
link_monitors = true,
monitor_priority = { "DP-2", "DP-3" }
},
-- hyprspace = {
-- center_aligned = false,
-- exit_on_switch = true,
-- disable_gestures = true,
-- hide_real_layers = true,
-- on_bottom = true,
-- panel_height = 500,
-- panel_border_width = 2,
-- workspace_margin = 10,
-- reserved_area = 35,
-- workspace_border_size = 1,
-- }
},
})

View File

@ -1,50 +0,0 @@
# CopyQ - float, size, and position
windowrule = float on, match:initial_class ^(com.github.hluk.copyq)$
windowrule = size 500 300, match:initial_class ^(com.github.hluk.copyq)$
windowrule = move onscreen cursor 0 -100%, match:initial_class ^(com.github.hluk.copyq)$
# Dialect - fixed position
windowrule = size 600 300, match:title (.*)(Dialect)$
windowrule = move 0 2840, match:title (.*)(Dialect)$
# Thunar / FileRoller - file transfer window, float top right
windowrule = float on, match:initial_title [(Copying )|(Preparing to)|(File Operation Progress)], match:initial_class ^(thunar | org.gnome.FileRoller)$
windowrule = move 2753 12, match:initial_title [(Copying )|(Preparing to)|(File Operation Progress)], match:initial_class ^(thunar | org.gnome.FileRoller)$
windowrule = size 450 100, match:initial_title [(Copying )|(Preparing to)|(File Operation Progress)], match:initial_class ^(thunar | org.gnome.FileRoller)$
windowrule = float on, match:title ^(Extract*), match:initial_class ^(org.gnome.FileRoller)$
windowrule = move 2903 13, match:title ^(Extract*), match:initial_class ^(org.gnome.FileRoller)$
windowrule = size 450 100, match:title ^(Extract*), match:initial_class ^(org.gnome.FileRoller)$
# Steam drop down
windowrule = stay_focused on, match:title ^()$, match:class ^(steam)$
windowrule = min_size 1 1, match:title ^()$, match:class ^(steam)$
# XWaylandVideoBridge - hide and disable focus
windowrule = opacity 0.0 override 0.0 override, match:class ^(xwaylandvideobridge)$
windowrule = no_anim on, match:class ^(xwaylandvideobridge)$
windowrule = no_focus on, match:class ^(xwaylandvideobridge)$
windowrule = no_initial_focus on, match:class ^(xwaylandvideobridge)$
# Genshin Impact
windowrule = maximize on, match:class ^(genshinimpact.exe)$
windowrule = monitor 1, match:class ^(genshinimpact.exe)$
windowrule = no_anim on, match:class ^(genshinimpact.exe)$
windowrule = float on, match:class ^(genshinimpact.exe)$
# Bar popups / Nextcloud - float near bar
windowrule = float on, match:class ^(bar_popup|com.nextcloud.desktopclient.nextcloud)$
windowrule = move 2690 298, match:title ^(Weather Report)$, match:class ^(bar_popup)$
windowrule = size 670 850, match:title ^(Weather Report)$, match:class ^(bar_popup)$
windowrule = move 2755 608, match:title ^(Connection Editor|Pipewire Volume Control)$, match:class ^(bar_popup|com.saivert.pwvucontrol)$
windowrule = size 596 819, match:title ^(Connection Editor|Pipewire Volume Control)$, match:class ^(bar_popup|com.saivert.pwvucontrol)$
windowrule = move 2765 615, match:title ^(Nextcloud)$, match:class ^(com.nextcloud.desktopclient.nextcloud)$
windowrule = size 596 819, match:title ^(Nextcloud)$, match:class ^(com.nextcloud.desktopclient.nextcloud)$
windowrule = float on, match:class ^(Rofi)$
windowrule = float on, match:class FloatingTerminal
windowrule = move -205 15, match:class FloatingTerminal
windowrule = size 190 100, match:class FloatingTerminal

View File

@ -0,0 +1,50 @@
-- CopyQ - float, size, and position
hl.window_rule({ name = "rule_1", match = { initial_class = "^(com.github.hluk.copyq)$" }, float = true })
hl.window_rule({ name = "rule_2", match = { initial_class = "^(com.github.hluk.copyq)$" }, size = "500 300" })
hl.window_rule({ name = "rule_3", match = { initial_class = "^(com.github.hluk.copyq)$" }, move = "onscreen cursor 0 -100%" })
-- Dialect - fixed position
hl.window_rule({ name = "rule_4", match = { title = "(.*)(Dialect)$" }, size = "600 300" })
hl.window_rule({ name = "rule_5", match = { title = "(.*)(Dialect)$" }, move = "0 2840" })
-- Thunar / FileRoller - file transfer window, float top right
hl.window_rule({ name = "rule_6", match = { initial_title = "[(Copying )|(Preparing to)|(File Operation Progress)]", initial_class = "^(thunar | org.gnome.FileRoller)$" }, float = true })
hl.window_rule({ name = "rule_7", match = { initial_title = "[(Copying )|(Preparing to)|(File Operation Progress)]", initial_class = "^(thunar | org.gnome.FileRoller)$" }, move = "2753 12" })
hl.window_rule({ name = "rule_8", match = { initial_title = "[(Copying )|(Preparing to)|(File Operation Progress)]", initial_class = "^(thunar | org.gnome.FileRoller)$" }, size = "450 100" })
hl.window_rule({ name = "rule_9", match = { title = "^(Extract*)", initial_class = "^(org.gnome.FileRoller)$" }, float = true })
hl.window_rule({ name = "rule_10", match = { title = "^(Extract*)", initial_class = "^(org.gnome.FileRoller)$" }, move = "2903 13" })
hl.window_rule({ name = "rule_11", match = { title = "^(Extract*)", initial_class = "^(org.gnome.FileRoller)$" }, size = "450 100" })
-- Steam drop down
hl.window_rule({ name = "rule_12", match = { title = "^()$", class = "^(steam)$" }, stay_focused = true })
hl.window_rule({ name = "rule_13", match = { title = "^()$", class = "^(steam)$" }, min_size = "1 1" })
-- XWaylandVideoBridge - hide and disable focus
hl.window_rule({ name = "rule_14", match = { class = "^(xwaylandvideobridge)$" }, opacity = "0.0 override 0.0 override" })
hl.window_rule({ name = "rule_15", match = { class = "^(xwaylandvideobridge)$" }, no_anim = true })
hl.window_rule({ name = "rule_16", match = { class = "^(xwaylandvideobridge)$" }, no_focus = true })
hl.window_rule({ name = "rule_17", match = { class = "^(xwaylandvideobridge)$" }, no_initial_focus = true })
-- Genshin Impact
hl.window_rule({ name = "rule_18", match = { class = "^(genshinimpact.exe)$" }, maximize = true })
hl.window_rule({ name = "rule_19", match = { class = "^(genshinimpact.exe)$" }, monitor = "1" })
hl.window_rule({ name = "rule_20", match = { class = "^(genshinimpact.exe)$" }, no_anim = true })
hl.window_rule({ name = "rule_21", match = { class = "^(genshinimpact.exe)$" }, float = true })
-- Bar popups / Nextcloud - float near bar
hl.window_rule({ name = "rule_22", match = { class = "^(bar_popup|com.nextcloud.desktopclient.nextcloud)$" }, float = true })
hl.window_rule({ name = "rule_23", match = { title = "^(Weather Report)$", class = "^(bar_popup)$" }, move = "2690 298" })
hl.window_rule({ name = "rule_24", match = { title = "^(Weather Report)$", class = "^(bar_popup)$" }, size = "670 850" })
hl.window_rule({ name = "rule_25", match = { title = "^(Connection Editor|Pipewire Volume Control)$", class = "^(bar_popup|com.saivert.pwvucontrol)$" }, move = "2755 608" })
hl.window_rule({ name = "rule_26", match = { title = "^(Connection Editor|Pipewire Volume Control)$", class = "^(bar_popup|com.saivert.pwvucontrol)$" }, size = "596 819" })
hl.window_rule({ name = "rule_27", match = { title = "^(Nextcloud)$", class = "^(com.nextcloud.desktopclient.nextcloud)$" }, move = "2765 615" })
hl.window_rule({ name = "rule_28", match = { title = "^(Nextcloud)$", class = "^(com.nextcloud.desktopclient.nextcloud)$" }, size = "596 819" })
hl.window_rule({ name = "rule_29", match = { class = "^(Rofi)$" }, float = true })
hl.window_rule({ name = "rule_30", match = { class = "FloatingTerminal" }, float = true })
hl.window_rule({ name = "rule_31", match = { class = "FloatingTerminal" }, move = "-205 15" })
hl.window_rule({ name = "rule_32", match = { class = "FloatingTerminal" }, size = "190 100" })

View File

@ -1,14 +0,0 @@
# Workspaces
workspace = monitor:0, name:1, default:true
workspace = monitor:0, name:2
workspace = monitor:0, name:3
workspace = monitor:0, name:4
workspace = monitor:1, name:5, default:true
workspace = monitor:1, name:6
workspace = monitor:1, name:7
workspace = monitor:1, name:8
workspace = special:scratchpad
workspace = special:scratchpad2
workspace = special:dump

View File

@ -0,0 +1,14 @@
-- Workspaces
-- hl.workspace_rule({ workspace = "1", monitor = "0" })
-- hl.workspace_rule({ workspace = "2", monitor = "0" })
-- hl.workspace_rule({ workspace = "3", monitor = "0" })
-- hl.workspace_rule({ workspace = "4", monitor = "0" })
--
-- hl.workspace_rule({ workspace = "5", monitor = "1", default = true })
-- hl.workspace_rule({ workspace = "6", monitor = "1" })
-- hl.workspace_rule({ workspace = "7", monitor = "1" })
-- hl.workspace_rule({ workspace = "8", monitor = "1" })
--
--hl.workspace_rule({ workspace = "special:scratchpad" })
--hl.workspace_rule({ workspace = "special:scratchpad2" })
--hl.workspace_rule({ workspace = "special:dump" })

View File

@ -1,55 +0,0 @@
#!/usr/bin/env bash
instances=$(($(pgrep -f $0 | wc -l) -1))
if [ "$instances" -gt 1 ]; then
echo "Another instance of this script is already running."
exit 1
fi
monitors=$(hyprctl -j monitors | jq "length")
desired_workspaces=4
handle_workspace_change(){
params=("$@")
workspace_id=$(( ${params[0]} - 1 )) # -1 for we start at 1
#echo "Workspace ID: $workspace_id"
curent_state=$(hyprctl -j monitors)
relative_ws_id=$((($workspace_id % $desired_workspaces) + 1)) # +1 for we start at 1
ws_group=$(( ($workspace_id - 1) / $desired_workspaces))
transaction_occured=false
#echo "Following monitor $ws_group to (rel.) WS $relative_ws_id"
for ((dp=0; dp<monitors; dp++));
do
absolute_ws_id=$((($dp * $desired_workspaces) + $relative_ws_id))
if [ $(echo $curent_state | jq ".[$dp].activeWorkspace.id") = $absolute_ws_id ]; then
# This is the monitor we already changed the displat on
continue
fi
#echo "Switching to (abs.) WS $absolute_ws_id on monitor $dp"
hyprctl dispatch focusmonitor $dp
hyprctl dispatch workspace $absolute_ws_id
transaction_occured=true
done
if [ $transaction_occured = "true" ]; then
#echo "Focusing monitor $ws_group"
hyprctl dispatch focusmonitor $ws_group
fi
}
nc -U $XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock | while read -r line; do
cmd="${line%%>>*}"
# Extract everything after ">>" and split at commas
IFS=',' read -ra params <<< "${line#*>>}"
case $cmd in
"workspacev2")
handle_workspace_change ${params[@]}
;;
esac
done;

View File

@ -6,10 +6,10 @@ for (( i = 0; i < $(jq '. | length' <<< "$any_special_workspace"); i++ )); do
echo "$(jq ".[$i].specialWorkspace.name" <<< $any_special_workspace)" echo "$(jq ".[$i].specialWorkspace.name" <<< $any_special_workspace)"
echo "\"special:${1}\"" echo "\"special:${1}\""
if [ "$(jq ".[$i].specialWorkspace.name" <<< $any_special_workspace)" = "\"special:${1}\"" ] ; then if [ "$(jq ".[$i].specialWorkspace.name" <<< $any_special_workspace)" = "\"special:${1}\"" ] ; then
hyprctl dispatch movetoworkspacesilent $(hyprctl activeworkspace -j | jq '.id') hyprctl dispatch "hl.dsp.window.move({workspace=\"$(hyprctl activeworkspace -j | jq '.id')\", follow=false})"
exit exit
fi fi
done done
#else #else
hyprctl dispatch movetoworkspacesilent special:${1} hyprctl dispatch "hl.dsp.window.move({workspace=\"special:${1}\", follow=false})"

View File

@ -1,57 +0,0 @@
#!/usr/bin/env bash
# Args:
# $1: destination
# $2: mode
# TODO: check if script is running, if so, exit
WORKSPACES=4
function confirm_valid_destination() {
destination=$1
if [ "${str:0:1}" == "+" ]; then
destination=$(( ${destination:1} + 1 ))
elif [ "${str:0:1}" == "-" ]; then
destination=$(( ${destination:1} - 1 ))
fi
if [ $destination -lt 1 ]; then
destination=$WORKSPACES
elif [ $destination -gt $WORKSPACES ]; then
destination=1
fi
echo $destination
}
active_ws_id=$(hyprctl activeworkspace -j | jq -r '.id')
active_window_monitor_id=$(hyprctl activeworkspace -j | jq -r '.monitorID')
monitors=$(hyprctl monitors -j | jq -r '.[].id')
dp_iterator=0
destination=$(confirm_valid_destination $1)
# Adjust destination for monitor
destination_with_monitor=$((($active_window_monitor_id * 4) + $destination))
mode=$2
echo "Destination: $destination"
echo "Destination with monitor: $destination_with_monitor"
for dp in $monitors
do
echo "Display: $dp"
hyprctl dispatch focusmonitor $dp
real_destination=$((($dp_iterator * 4) + $destination))
echo "Real Destination $real_destination"
if [[ $real_destination -eq $destination_with_monitor && $mode == "carry" ]]; then
echo "Moving window"
hyprctl dispatch movetoworkspace $real_destination
else
echo "Changing workspace"
hyprctl dispatch workspace $real_destination
fi
dp_iterator=$((dp_iterator+1))
done

View File

@ -46,9 +46,9 @@ user_pref("browser.safebrowsing.provider.mozilla.lastupdatetime", "1778261332854
user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", "1778282932854"); user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", "1778282932854");
user_pref("browser.search.totalSearches", 98); user_pref("browser.search.totalSearches", 98);
user_pref("browser.sessionstore.upgradeBackup.latestBuildID", "20251027123126"); user_pref("browser.sessionstore.upgradeBackup.latestBuildID", "20251027123126");
user_pref("browser.shell.mostRecentDateSetAsDefault", "1779365322"); user_pref("browser.shell.mostRecentDateSetAsDefault", "1779471058");
user_pref("browser.startup.couldRestoreSession.count", 2); user_pref("browser.startup.couldRestoreSession.count", 2);
user_pref("browser.startup.lastColdStartupCheck", 1779365323); user_pref("browser.startup.lastColdStartupCheck", 1779471059);
user_pref("browser.termsofuse.prefMigrationCheck", true); user_pref("browser.termsofuse.prefMigrationCheck", true);
user_pref("browser.toolbarbuttons.introduced.sidebar-button", true); user_pref("browser.toolbarbuttons.introduced.sidebar-button", true);
user_pref("browser.toolbars.bookmarks.visibility", "never"); user_pref("browser.toolbars.bookmarks.visibility", "never");
@ -190,7 +190,7 @@ user_pref("storage.vacuum.last.content-prefs.sqlite", 1778077210);
user_pref("storage.vacuum.last.index", 2); user_pref("storage.vacuum.last.index", 2);
user_pref("storage.vacuum.last.places.sqlite", 1777853354); user_pref("storage.vacuum.last.places.sqlite", 1777853354);
user_pref("toolkit.profiles.storeID", "956ac82f"); user_pref("toolkit.profiles.storeID", "956ac82f");
user_pref("toolkit.startup.last_success", 1779365321); user_pref("toolkit.startup.last_success", 1779471057);
user_pref("toolkit.telemetry.cachedClientID", "39febed9-00b0-4794-9a65-91eb9f8a0e22"); user_pref("toolkit.telemetry.cachedClientID", "39febed9-00b0-4794-9a65-91eb9f8a0e22");
user_pref("toolkit.telemetry.cachedProfileGroupID", "d82d992e-64b6-451c-a9ef-522b45109ba9"); user_pref("toolkit.telemetry.cachedProfileGroupID", "d82d992e-64b6-451c-a9ef-522b45109ba9");
user_pref("toolkit.telemetry.reportingpolicy.firstRun", false); user_pref("toolkit.telemetry.reportingpolicy.firstRun", false);

View File

@ -2220,7 +2220,7 @@
"theme": "auto" "theme": "auto"
}, },
"UserInterface": { "UserInterface": {
"RunZoneChecks": true, "RunZoneChecks": false,
"autoload_profiles": { "autoload_profiles": {
"exit_profile": { "exit_profile": {
"enabled": false, "enabled": false,

View File

@ -4,6 +4,7 @@ configuration{
show-icons: true; show-icons: true;
terminal: "kitty"; terminal: "kitty";
drun-display-format: "{icon} {name}"; drun-display-format: "{icon} {name}";
run-command: "uwsm app -- {cmd}";
location: 0; location: 0;
disable-history: false; disable-history: false;
scroll-method: 0; scroll-method: 0;
@ -18,7 +19,7 @@ configuration{
kb-move-front: ""; kb-move-front: "";
kb-remove-char-forward: ""; kb-remove-char-forward: "";
kb-mode-next: "Control+Alt+e"; kb-mode-next: "Control+Alt+e";
kb-mode-previous: "Control+Alt+q"; kb-mode-previous: "Control+Alt+q";
@ -28,4 +29,3 @@ configuration{
} }
} }
@theme "catppuccin-frappe" @theme "catppuccin-frappe"

71
eggs/swaylock/config Executable file
View File

@ -0,0 +1,71 @@
# Info see: man swaylock
show-failed-attempts
#fade-in=2
#grace=3
# Aperance
#indicator
color=1e1e2e
image=DP-2:/home/someone/.config/assets/wallpaper/bg-dp1.png
image=DP-3:/home/someone/.config/assets/wallpaper/bg-dp2.png
#indicator-caps-lock
#scaling=solid_color
#indicator-image=/home/someone/.config/assets/def_window.png
inside-color=00000000
inside-clear-color=a6d189
inside-caps-lock-color=e5c890
inside-ver-color=8caaee
inside-wrong-color=e78284
key-hl-color=ca9ee6
layout-bg-color=00000000
#layout-border-color=ca9ee6
#layout-text-color=c6d0f5
line-color=00000000
#line-clear-color
#line-caps-lock-color
#line-ver-color
#line-wrong-color
ring-color=838ba7
ring-clear-color=a6d189
ring-caps-lock-color=e5c890
ring-ver-color=8caaee
ring-wrong-color=e78284
separator-color=ca9ee6
text-color=e78284
#text-clear-color
#text-caps-lock
#text-caps-lock-color
#text-ver-color
#text-wrong-color
font=DejaVuSansM Nerd Font
text-clear=ᓚᘏᗢ
text-ver=󱥸
text-wrong=
indicator-radius=140
indicator-thickness=24
#effect-blur
#effect-pixelate
#effect-scale
#effect-greyscale
#effect-vignette
#effect-compose
#effect-custom

View File

@ -31,8 +31,8 @@
; (gtk_accel_path "<Actions>/ThunarActionManager/restore" "") ; (gtk_accel_path "<Actions>/ThunarActionManager/restore" "")
; (gtk_accel_path "<Actions>/ThunarWindow/open-location-alt" "<Alt>d") ; (gtk_accel_path "<Actions>/ThunarWindow/open-location-alt" "<Alt>d")
; (gtk_accel_path "<Actions>/ThunarBookmarks/7b974f04fe696fe4ab4967eebde3d256" "") ; (gtk_accel_path "<Actions>/ThunarBookmarks/7b974f04fe696fe4ab4967eebde3d256" "")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out-alt" "<Primary>KP_Subtract")
; (gtk_accel_path "<Actions>/ThunarStandardView/select-by-pattern" "<Primary>s") ; (gtk_accel_path "<Actions>/ThunarStandardView/select-by-pattern" "<Primary>s")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out-alt" "<Primary>KP_Subtract")
; (gtk_accel_path "<Actions>/ThunarWindow/open-file-menu" "F10") ; (gtk_accel_path "<Actions>/ThunarWindow/open-file-menu" "F10")
; (gtk_accel_path "<Actions>/ThunarWindow/contents" "F1") ; (gtk_accel_path "<Actions>/ThunarWindow/contents" "F1")
; (gtk_accel_path "<Actions>/ThunarWindow/show-highlight" "") ; (gtk_accel_path "<Actions>/ThunarWindow/show-highlight" "")
@ -72,13 +72,13 @@
; (gtk_accel_path "<Actions>/ThunarWindow/remove-from-recent" "") ; (gtk_accel_path "<Actions>/ThunarWindow/remove-from-recent" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/open-with-other" "") ; (gtk_accel_path "<Actions>/ThunarActionManager/open-with-other" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/invert-selection" "<Primary><Shift>i") ; (gtk_accel_path "<Actions>/ThunarStandardView/invert-selection" "<Primary><Shift>i")
; (gtk_accel_path "<Actions>/ThunarBookmarks/9127cb22cbba11a90521bb66107f7d88" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-shortcuts" "<Primary>b") ; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-shortcuts" "<Primary>b")
; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt-2" "Reload") ; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt-2" "Reload")
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-menu" "") ; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-menu" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-mtime" "")
; (gtk_accel_path "<Actions>/ThunarWindow/edit-menu" "") ; (gtk_accel_path "<Actions>/ThunarWindow/edit-menu" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/copy" "<Primary>c") ; (gtk_accel_path "<Actions>/ThunarActionManager/copy" "<Primary>c")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-mtime" "") ; (gtk_accel_path "<Actions>/ThunarBookmarks/9127cb22cbba11a90521bb66107f7d88" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/forward-alt" "Forward") ; (gtk_accel_path "<Actions>/ThunarStandardView/forward-alt" "Forward")
; (gtk_accel_path "<Actions>/ThunarActionManager/move-to-trash" "") ; (gtk_accel_path "<Actions>/ThunarActionManager/move-to-trash" "")
; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt-1" "F5") ; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt-1" "F5")

View File

@ -6,7 +6,7 @@
<property name="last-window-maximized" type="bool" value="true"/> <property name="last-window-maximized" type="bool" value="true"/>
<property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/> <property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/>
<property name="last-details-view-visible-columns" type="string" value="THUNAR_COLUMN_DATE_CREATED,THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_GROUP,THUNAR_COLUMN_MIME_TYPE,THUNAR_COLUMN_NAME,THUNAR_COLUMN_OWNER,THUNAR_COLUMN_PERMISSIONS,THUNAR_COLUMN_SIZE"/> <property name="last-details-view-visible-columns" type="string" value="THUNAR_COLUMN_DATE_CREATED,THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_GROUP,THUNAR_COLUMN_MIME_TYPE,THUNAR_COLUMN_NAME,THUNAR_COLUMN_OWNER,THUNAR_COLUMN_PERMISSIONS,THUNAR_COLUMN_SIZE"/>
<property name="last-details-view-column-widths" type="string" value="159,159,159,127,159,886,74,345,514,214,118,81,126,156"/> <property name="last-details-view-column-widths" type="string" value="159,159,159,127,159,886,74,312,549,214,118,87,126,156"/>
<property name="last-separator-position" type="int" value="216"/> <property name="last-separator-position" type="int" value="216"/>
<property name="last-show-hidden" type="bool" value="true"/> <property name="last-show-hidden" type="bool" value="true"/>
<property name="misc-single-click" type="bool" value="false"/> <property name="misc-single-click" type="bool" value="false"/>

View File

@ -81,7 +81,7 @@
"trayIconPath": "", "trayIconPath": "",
"updateFrequency": 500, "updateFrequency": 500,
"windowBounds": { "windowBounds": {
"width": 2090, "width": 3416,
"height": 1416 "height": 1416
}, },
"__internal__": { "__internal__": {
@ -89,3 +89,4 @@
"version": "6.3.1" "version": "6.3.1"
} }
} }
}

View File

@ -65,7 +65,7 @@
"format-icons": "󰗽 ", "format-icons": "󰗽 ",
"exec-on-event": "true", "exec-on-event": "true",
"tooltip": false, "tooltip": false,
"on-click": "hyprctl dispatch exit", "on-click": "hyprctl dispatch 'hl.dsp.exit()'",
}, },
"custom/restart": { "custom/restart": {
"format": "{icon}", "format": "{icon}",
@ -110,7 +110,7 @@
"custom/specialWs": { "custom/specialWs": {
"format": "S", "format": "S",
"exec-on-event": "true", "exec-on-event": "true",
"on-click": "hyprctl dispatch togglespecialworkspace scratchpad", "on-click": "hyprctl dispatch 'hl.dsp.workspace.toggle_special(\"scratchpad\")'",
}, },
"group/activeApp": { "group/activeApp": {
"orientation": "vertical", "orientation": "vertical",
@ -142,7 +142,7 @@
"exec-on-event": "true", "exec-on-event": "true",
"justify": "center", "justify": "center",
"tooltip": false, "tooltip": false,
"on-click": "hyprctl dispatch killactive", "on-click": "hyprctl dispatch 'hl.dsp.window.kill()'",
}, },
"custom/activeWindowMaximize": { "custom/activeWindowMaximize": {
"format": "{icon}", "format": "{icon}",
@ -150,7 +150,7 @@
"justify": "center", "justify": "center",
"exec-on-event": "true", "exec-on-event": "true",
"tooltip": false, "tooltip": false,
"on-click": "hyprctl dispatch fullscreen 1", "on-click": "hyprctl dispatch 'hl.dsp.window.fullscreen({ mode = \"fullscreen\", action = \"toggle\" }'",
}, },
"custom/activeWindowFloating": { "custom/activeWindowFloating": {
"format": "{icon}", "format": "{icon}",
@ -158,7 +158,7 @@
"justify": "center", "justify": "center",
"exec-on-event": "true", "exec-on-event": "true",
"tooltip": false, "tooltip": false,
"on-click": "hyprctl dispatch togglefloating", "on-click": "hyprctl dispatch 'hl.dsp.window.float({ action = \"toggle\" })'",
}, },
"clock": { "clock": {
@ -225,7 +225,7 @@
"tooltip": true, "tooltip": true,
"tooltip-format": "Submap: {}", "tooltip-format": "Submap: {}",
"justify": "center", "justify": "center",
"on-click": "hyprctl dispatch submap reset", "on-click": "hyprctl dispatch 'hl.dsp.submap(\"reset\")'",
}, },
"cpu#avrage": { "cpu#avrage": {
@ -377,7 +377,7 @@
"car": "", "car": "",
"default": ["", "", ""], "default": ["", "", ""],
}, },
"on-click": "hyprctl dispatch exec '[float] bash ~/.local/share/until-scripts/kill-on-unfocus.sh pwvucontrol'", "on-click": "hyprctl dispatch 'hl.dsp.exec_cmd(\"[float] bash ~/.local/share/until-scripts/kill-on-unfocus.sh pwvucontrol\")'",
"on-click-middle": "", "on-click-middle": "",
}, },
"group/net": { "group/net": {

View File

@ -190,7 +190,7 @@
"debugger": { "debugger": {
"dock": "bottom", "dock": "bottom",
}, },
"disable_ai": true, "disable_ai": false,
"terminal": { "terminal": {
"toolbar": { "toolbar": {
"breadcrumbs": false, "breadcrumbs": false,

View File

@ -19,7 +19,8 @@ export let base_config = #{
//"xfce": "~/.config/xfce4" //"xfce": "~/.config/xfce4"
}, },
enabled: true}, enabled: true},
waybar: #{ targets: "~/.config/waybar", enabled: true} , waybar: #{ targets: "~/.config/waybar", enabled: true},
swaylock: #{ targets: "~/.config/swaylock", enabled: true},
yazi: #{ targets: "~/.config/yazi", enabled: true}, yazi: #{ targets: "~/.config/yazi", enabled: true},
minecraft: #{ targets: "~/.local/share/PrismLauncher/instances", enabled: true}, minecraft: #{ targets: "~/.local/share/PrismLauncher/instances", enabled: true},
i2p_librewolf: #{ targets: #{ i2p_librewolf: #{ targets: #{

View File

@ -161,7 +161,9 @@
"hyprutils": "hyprutils", "hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner", "hyprwayland-scanner": "hyprwayland-scanner",
"hyprwire": "hyprwire", "hyprwire": "hyprwire",
"nixpkgs": "nixpkgs", "nixpkgs": [
"nixpkgs"
],
"pre-commit-hooks": "pre-commit-hooks", "pre-commit-hooks": "pre-commit-hooks",
"systems": "systems", "systems": "systems",
"xdph": "xdph" "xdph": "xdph"
@ -281,6 +283,27 @@
"type": "github" "type": "github"
} }
}, },
"hyprland-split-monitor-workspaces": {
"inputs": {
"hyprland": [
"hyprland"
],
"nix-filter": "nix-filter"
},
"locked": {
"lastModified": 1778839317,
"narHash": "sha256-fqWPifkCkwkTPrGosPN+wLQcy8AJMD3UIzRcLUN/3rA=",
"owner": "zjeffer",
"repo": "split-monitor-workspaces",
"rev": "7fa10d87b486401549267edb73f6145dd524d6f0",
"type": "github"
},
"original": {
"owner": "zjeffer",
"repo": "split-monitor-workspaces",
"type": "github"
}
},
"hyprlang": { "hyprlang": {
"inputs": { "inputs": {
"hyprutils": [ "hyprutils": [
@ -441,23 +464,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs": { "nix-filter": {
"locked": { "locked": {
"lastModified": 1778443072, "lastModified": 1693833173,
"narHash": "sha256-zi7/fsqM/kFdNuED//4WOCUtezGtKKqRNORjMvfwjnA=", "narHash": "sha256-hlMABKrGbEiJD5dwUSfnw1CQ3bG7KKwDV+Nx3bEZd7U=",
"owner": "NixOS", "owner": "numtide",
"repo": "nixpkgs", "repo": "nix-filter",
"rev": "da5ad661ba4e5ef59ba743f0d112cbc30e474f32", "rev": "ac030bd9ba98e318e1f4c4328d60766ade8ebe8b",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "numtide",
"ref": "nixos-unstable", "repo": "nix-filter",
"repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1778869304, "lastModified": 1778869304,
"narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=", "narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=",
@ -517,7 +539,8 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins", "hyprland-plugins": "hyprland-plugins",
"nixpkgs": "nixpkgs_2", "hyprland-split-monitor-workspaces": "hyprland-split-monitor-workspaces",
"nixpkgs": "nixpkgs",
"pkgs-unstable": "pkgs-unstable" "pkgs-unstable": "pkgs-unstable"
} }
}, },

View File

@ -8,14 +8,27 @@
url = "github:nix-community/home-manager/master"; url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland.url = "github:hyprwm/Hyprland";
hyprland = {
url = "github:hyprwm/Hyprland";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland-plugins = { hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins"; url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland"; inputs.hyprland.follows = "hyprland";
}; };
hyprland-split-monitor-workspaces = {
url = "github:zjeffer/split-monitor-workspaces";
inputs.hyprland.follows = "hyprland";
};
#hyprland-hyprspace = {
# url = "github:KZDKM/Hyprspace";
# inputs.hyprland.follows = "hyprland";
#};
}; };
outputs = { self, nixpkgs, pkgs-unstable, home-manager, ... }@inputs: outputs = { self, nixpkgs, pkgs-unstable, home-manager, hyprland-split-monitor-workspaces, ... }@inputs:
let let
system = "x86_64-linux"; system = "x86_64-linux";
in { in {
@ -23,7 +36,7 @@
inherit system; inherit system;
specialArgs = { specialArgs = {
pkgs-unstable = import pkgs-unstable { inherit system; }; pkgs-unstable = import pkgs-unstable { inherit system; };
inputs = inputs; inputs = inputs;
}; };
modules = [ modules = [
./nixMain/configuration.nix ./nixMain/configuration.nix

View File

@ -1,11 +1,11 @@
# home.nix # home.nix
{ config, pkgs, pkgs-unstable, inputs, ... }: { config, pkgs, inputs, ... }:
{ {
home.stateVersion = "25.05"; home.stateVersion = "25.05";
home.username = "someone"; home.username = "someone";
home.homeDirectory = "/home/someone"; home.homeDirectory = "/home/someone";
programs.home-manager.enable = true; programs.home-manager.enable = true;
imports = imports =
[ [

View File

@ -1,4 +1,4 @@
{ config, pkgs, pkgs-unstable, ... }: { config, pkgs, pkgs-unstable, inputs, ... }:
let let
optionalPkgs = import ../optional-packages.nix { inherit pkgs; }; optionalPkgs = import ../optional-packages.nix { inherit pkgs; };
in in
@ -71,16 +71,6 @@ in
]; ];
}; };
# Configure keymap in X11
services.xserver.xkb = {
layout = "gb";
variant = "";
};
# Configure console keymap
console.keyMap = "uk";
users.groups.gpio = {}; users.groups.gpio = {};
users.groups.wireshark = {}; users.groups.wireshark = {};
users.users.someone = { users.users.someone = {
@ -112,23 +102,27 @@ in
enable = true; enable = true;
user = "someone"; user = "someone";
}; };
sessionPackages = [
config.home-manager.users.someone.wayland.windowManager.hyprland.package
];
defaultSession = "hyprland"; defaultSession = "hyprland";
}; };
xdg.portal = {
enable = true;
configPackages = [
config.home-manager.users.someone.wayland.windowManager.hyprland.portalPackage
];
};
# Docker # Docker
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
virtualisation.docker.storageDriver = "btrfs"; virtualisation.docker.storageDriver = "btrfs";
# Added docker group to user # Added docker group to user
# Desktop enviorment # Additional steam settings
programs.hyprland = {
enable = true;
withUWSM = false; # Universal Wayland Session Manage, ly dosnt like this
xwayland.enable = true; # Xwayland can be disabled.
};
# Additional steam settings
programs.steam = { programs.steam = {
enable = true; enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
@ -214,7 +208,8 @@ in
prismlauncher prismlauncher
# Monitoring # Monitoring
kdePackages.plasma-systemmonitor mission-center
nethogs
# nvtopPackages.full # nvtopPackages.full
# btop # btop
@ -236,6 +231,15 @@ in
# nerdfonts wher seperated into different packages, so nerdfonts dosnt work # nerdfonts wher seperated into different packages, so nerdfonts dosnt work
fonts.packages = with pkgs; [] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts); fonts.packages = with pkgs; [] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
# Per process network information for mission-center
security.wrappers.nethogs = {
owner = "root";
group = "root";
capabilities = "cap_net_admin,cap_net_raw,cap_dac_read_search,cap_sys_ptrace+pe";
source = "${pkgs.nethogs}/bin/nethogs";
};
security.pam.services.swaylock = {};
#Enviormant #Enviormant
# needet for electron apps under wayland # needet for electron apps under wayland
@ -245,8 +249,7 @@ in
security.polkit.enable = true; security.polkit.enable = true;
# Walet, needet for nextcloud login # Walet, needet for nextcloud login
services.gnome.gnome-keyring.enable = true; services.gnome.gnome-keyring.enable = true;
# security.pam.services.ly.enableGnomeKeyring = true;
security.pam.services.ly.enableGnomeKeyring = true;

View File

@ -5,31 +5,41 @@
home.stateVersion = "25.05"; home.stateVersion = "25.05";
home.username = "someone"; home.username = "someone";
home.homeDirectory = "/home/someone"; home.homeDirectory = "/home/someone";
programs.home-manager.enable = true; programs.home-manager.enable = true;
wayland.windowManager.hyprland = {
enable = true;
configType = "lua";
extraConfig = "
local constants = require('hyprland/constants')
hl.config({
autogenerated = 0,
})
-- ── Includes ──
require('hyprland/monitors')
require('hyprland/env')
require('hyprland/input')
require('hyprland/general')
require('hyprland/appearance')
require('hyprland/workspaces')
require('hyprland/windowrules')
require('hyprland/exec')
require('hyprland/binds')
";
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
systemd.enable = true;
xwayland.enable = true;
plugins = [
inputs.hyprland-split-monitor-workspaces.packages.${pkgs.stdenv.hostPlatform.system}.split-monitor-workspaces
#inputs.hyprland-hyprspace.packages.${pkgs.stdenv.hostPlatform.system}.Hyprspace
];
};
imports = imports =
[ [
../../homemanager/shared-conf.nix ../../homemanager/shared-conf.nix
]; ];
# wayland.windowManager.hyprland = {
# enable = true;
# plugins = [
# inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo
# ];
# settings = {
# bind = [
# "SUPER SHIFT, code:65, hyprexpo:expo, toggle"
# ];
# source = [
# "~/.config/hypr/general.conf"
# ];
# debug = {
# disable_logs = false;
# };
# };
# extraConfig = ''
# source=~/.config/hypr/hyprland/general.conf
# bind = SUPER SHIFT, code:65, hyprexpo:expo, toggle'';
#};
} }

View File

@ -13,13 +13,14 @@
experimental-features = ["nix-command" "flakes" ]; experimental-features = ["nix-command" "flakes" ];
trusted-users = [ "root" "someone" ]; trusted-users = [ "root" "someone" ];
}; };
environment.pathsToLink = [ "/share/applications" "/share/xdg-desktop-portal" ];
# Set your time zone. # Set your time zone.
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
# Select internationalisation properties. # Select internationalisation properties.
console.keyMap = "de";
i18n.defaultLocale = "en_GB.UTF-8"; i18n.defaultLocale = "en_GB.UTF-8";
i18n.extraLocaleSettings = { i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8"; LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8"; LC_IDENTIFICATION = "de_DE.UTF-8";