Compare commits
16
Commits
e5ce0d0957
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0d61477072 | ||
|
|
4846325583 | ||
|
|
1d654cf470 | ||
|
|
e9ad0175a1 | ||
|
|
093cd97a96 | ||
|
|
f9a44ac5aa | ||
|
|
7302e87fa3 | ||
|
|
4434feed16 | ||
|
|
94fa42672c | ||
|
|
3c1b727a7e | ||
|
|
c7bf98775b | ||
|
|
590e568061 | ||
|
|
0e7f76200c | ||
|
|
30cab18e60 | ||
|
|
e5dd0039a2 | ||
|
|
00e4931d29 |
+1
-1
@@ -3,7 +3,7 @@ hypr/.config/hypr/env.conf
|
|||||||
hypr/.config/hypr/env.sh
|
hypr/.config/hypr/env.sh
|
||||||
hypr/.config/hypr/monitor_setup.lua
|
hypr/.config/hypr/monitor_setup.lua
|
||||||
# Noctalia template output (shell-owned, regenerated on palette change)
|
# Noctalia template output (shell-owned, regenerated on palette change)
|
||||||
hypr/.config/kitty/themes/noctalia.conf
|
# hypr/.config/kitty/themes/noctalia.conf
|
||||||
# Caelestia runtime output (shell-owned, regenerated on scheme change)
|
# Caelestia runtime output (shell-owned, regenerated on scheme change)
|
||||||
hypr/.config/hypr/scheme/
|
hypr/.config/hypr/scheme/
|
||||||
*~lock.*#
|
*~lock.*#
|
||||||
|
|||||||
Executable
+47
@@ -0,0 +1,47 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -Eeuo pipefail
|
||||||
|
|
||||||
|
SERVER="buntes-monster"
|
||||||
|
SERVER_IP="192.168.0.4"
|
||||||
|
|
||||||
|
MOUNTS=(
|
||||||
|
"/mnt/anbau:/mnt/anbau"
|
||||||
|
"/mnt/bilder:/mnt/bilder"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Re-run as root when needed.
|
||||||
|
if [[ "${EUID}" -ne 0 ]]; then
|
||||||
|
exec sudo "$0" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Preserve ownership for the user who invoked sudo.
|
||||||
|
OWNER="${SUDO_USER:-${USER}}"
|
||||||
|
OWNER_UID="$(id -u "$OWNER")"
|
||||||
|
OWNER_GID="$(id -g "$OWNER")"
|
||||||
|
|
||||||
|
for entry in "${MOUNTS[@]}"; do
|
||||||
|
IFS=":" read -r remote_path local_path <<< "$entry"
|
||||||
|
|
||||||
|
# Create the mount point if necessary and give it to the invoking user.
|
||||||
|
install -d \
|
||||||
|
-o "$OWNER_UID" \
|
||||||
|
-g "$OWNER_GID" \
|
||||||
|
-m 0755 \
|
||||||
|
"$local_path"
|
||||||
|
|
||||||
|
# Do not remount an already-mounted location.
|
||||||
|
if mountpoint -q "$local_path"; then
|
||||||
|
echo "Already mounted: $local_path"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Mounting $SERVER:$remote_path at $local_path..."
|
||||||
|
|
||||||
|
mount \
|
||||||
|
-t nfs \
|
||||||
|
-o rw,sync,addr="$SERVER_IP" \
|
||||||
|
"$SERVER:$remote_path" \
|
||||||
|
"$local_path"
|
||||||
|
|
||||||
|
echo "Mounted: $local_path"
|
||||||
|
done
|
||||||
@@ -7,6 +7,9 @@
|
|||||||
"background": {
|
"background": {
|
||||||
"wallpaperEnabled": true
|
"wallpaperEnabled": true
|
||||||
},
|
},
|
||||||
|
"dashboard": {
|
||||||
|
"showWeather": true
|
||||||
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"apps": {
|
"apps": {
|
||||||
"audio": [
|
"audio": [
|
||||||
|
|||||||
@@ -9,135 +9,134 @@ local exec = reg.exec
|
|||||||
-- See https://wiki.hypr.land/Configuring/Keywords/
|
-- See https://wiki.hypr.land/Configuring/Keywords/
|
||||||
|
|
||||||
-- Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
|
-- Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
|
||||||
bind(var.mainMod .. " + RETURN", exec(var.terminal), { description = "Open terminal (kitty)" })
|
bind(var.mainMod .. " + RETURN", exec(var.terminal), { description = "Open terminal" })
|
||||||
bind(var.mainMod .. " + ALT + RETURN", exec(var.terminal_tmux), { description = "Open terminal (kitty)" })
|
bind(var.mainMod .. " + ALT + RETURN", exec(var.terminal_tmux), { description = "Open tmux in terminal" })
|
||||||
bind(var.mainMod .. " + Q", hl.dsp.window.close(), { description = "Close focused window" })
|
bind(var.mainMod .. " + Q", hl.dsp.window.close(), { description = "Close focused window" })
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + ESCAPE",
|
var.mainMod .. " + ESCAPE",
|
||||||
exec(command.session),
|
exec(command.session),
|
||||||
{ description = "Session menu (logout/reboot/shutdown)" }
|
{ description = "Session menu (logout/reboot/shutdown)" }
|
||||||
)
|
)
|
||||||
bind(var.mainMod .. " + SHIFT + ESCAPE", exec(command.logout), { description = "Exit Hyprland" })
|
bind(var.mainMod .. " + SHIFT + ESCAPE", exec(command.logout), { description = "Session: logout" })
|
||||||
bind(var.mainMod .. " + CTRL + ESCAPE", exec(command.shutdown), { description = "Power off the system" })
|
bind(var.mainMod .. " + CTRL + ESCAPE", exec(command.shutdown), { description = "Session: power off" })
|
||||||
bind(var.mainMod .. " + ALT + ESCAPE", exec(command.reboot), { description = "Reboot the system" })
|
bind(var.mainMod .. " + ALT + ESCAPE", exec(command.reboot), { description = "Session: reboot" })
|
||||||
bind(var.mainMod .. " + E", exec(var.fileManager), { description = "Open file manager (dolphin)" })
|
bind(var.mainMod .. " + E", exec(var.fileManager), { description = "Open file manager" })
|
||||||
bind(var.mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }), { description = "Toggle floating window" })
|
bind(var.mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }), { description = "Floating window toggle" })
|
||||||
bind(var.mainMod .. " + SPACE", exec(command.menu), { description = "Open app launcher" })
|
bind(var.mainMod .. " + SPACE", exec(command.menu), { description = "Open app launcher" })
|
||||||
bind(var.mainMod .. " + P", hl.dsp.window.pseudo(), { description = "Toggle pseudo-tiling" })
|
bind(var.mainMod .. " + P", hl.dsp.window.pseudo(), { description = "Pseudo-tiling toggle" })
|
||||||
bind(var.mainMod .. " + SHIFT + J", hl.dsp.layout("togglesplit"), { description = "Toggle split layout" })
|
bind(var.mainMod .. " + SHIFT + J", hl.dsp.layout("togglesplit"), { description = "Split layout toggle" })
|
||||||
bind(var.mainMod .. " + I", exec("firefox &"), { description = "Open Firefox" })
|
bind(var.mainMod .. " + I", exec(var.internet_explorer), { description = "Open internet explorer" })
|
||||||
bind(var.mainMod .. " + n", exec("nm-connection-editor"), { description = "Network manager" })
|
bind(var.mainMod .. " + n", exec("nm-connection-editor"), { description = "Open network manager" })
|
||||||
bind(var.mainMod .. " + comma", exec(command.settings), { description = "settings menu" })
|
bind(var.mainMod .. " + comma", exec(command.settings), { description = "Open settings" })
|
||||||
bind(var.mainMod .. " + S", exec(command.control_center), { description = "Control center" })
|
bind(var.mainMod .. " + S", exec(command.control_center), { description = "Open start menu" })
|
||||||
|
bind(var.mainMod .. " + ALT + H", exec("hyprmod"), {description = "Open hyprmod (hyprland config GUI)"})
|
||||||
|
bind(var.mainMod .. " + period", exec(command.emoji), { description = "Open emoji picker" })
|
||||||
|
bind(var.mainMod .. " + ALT + S", exec(var.systemmonitor), {description = "Open systemmonitor"})
|
||||||
|
|
||||||
|
bind(var.mainMod .. " + TAB", function()
|
||||||
|
hl.plugin.hyprtasking.toggle("cursor")
|
||||||
|
end, { description = "Workspace: overview" })
|
||||||
|
|
||||||
-- Move focus with mainMod or Vim-style
|
-- Move focus with mainMod or Vim-style
|
||||||
bind(var.mainMod .. " + CTRL + h", hl.dsp.focus({ direction = "left" }), { description = "Focus window left" })
|
bind(var.mainMod .. " + CTRL + h", hl.dsp.focus({ direction = "left" }), { description = "Window: focus left" })
|
||||||
bind(var.mainMod .. " + CTRL + l", hl.dsp.focus({ direction = "right" }), { description = "Focus window right" })
|
bind(var.mainMod .. " + CTRL + l", hl.dsp.focus({ direction = "right" }), { description = "Window: focus right" })
|
||||||
bind(var.mainMod .. " + CTRL + k", hl.dsp.focus({ direction = "up" }), { description = "Focus window up" })
|
bind(var.mainMod .. " + CTRL + k", hl.dsp.focus({ direction = "up" }), { description = "Window: focus up" })
|
||||||
bind(var.mainMod .. " + CTRL + j", hl.dsp.focus({ direction = "down" }), { description = "Focus window down" })
|
bind(var.mainMod .. " + CTRL + j", hl.dsp.focus({ direction = "down" }), { description = "Window: focus down" })
|
||||||
|
|
||||||
-- Move windows with mainMod or Vim-style
|
-- Move windows with mainMod or Vim-style
|
||||||
bind(var.mainMod .. " + SHIFT + h", hl.dsp.window.move({ direction = "left" }), { description = "Move window left" })
|
bind(var.mainMod .. " + SHIFT + h", hl.dsp.window.move({ direction = "left" }), { description = "Window: move left" })
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + SHIFT + l",
|
var.mainMod .. " + SHIFT + l",
|
||||||
hl.dsp.window.move({ direction = "right" }),
|
hl.dsp.window.move({ direction = "right" }),
|
||||||
{ description = "Move window right" }
|
{ description = "Window: move right" }
|
||||||
)
|
)
|
||||||
bind(var.mainMod .. " + SHIFT + k", hl.dsp.window.move({ direction = "up" }), { description = "Move window up" })
|
bind(var.mainMod .. " + SHIFT + k", hl.dsp.window.move({ direction = "up" }), { description = "Window: move up" })
|
||||||
bind(var.mainMod .. " + SHIFT + j", hl.dsp.window.move({ direction = "down" }), { description = "Move window down" })
|
bind(var.mainMod .. " + SHIFT + j", hl.dsp.window.move({ direction = "down" }), { description = "Window: move down" })
|
||||||
|
|
||||||
-- Resize focused window with mainMod + Arrows
|
-- Resize focused window with mainMod + Arrows
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + left",
|
var.mainMod .. " + left",
|
||||||
hl.dsp.window.resize({ x = -10, y = 0, relative = true }),
|
hl.dsp.window.resize({ x = -10, y = 0, relative = true }),
|
||||||
{ description = "Resize window left" }
|
{ description = "Window: resize left" }
|
||||||
)
|
)
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + right",
|
var.mainMod .. " + right",
|
||||||
hl.dsp.window.resize({ x = 10, y = 0, relative = true }),
|
hl.dsp.window.resize({ x = 10, y = 0, relative = true }),
|
||||||
{ description = "Resize window right" }
|
{ description = "Window: resize right" }
|
||||||
)
|
)
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + up",
|
var.mainMod .. " + up",
|
||||||
hl.dsp.window.resize({ x = 0, y = -10, relative = true }),
|
hl.dsp.window.resize({ x = 0, y = -10, relative = true }),
|
||||||
{ description = "Resize window up" }
|
{ description = "Window: resize up" }
|
||||||
)
|
)
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + down",
|
var.mainMod .. " + down",
|
||||||
hl.dsp.window.resize({ x = 0, y = 10, relative = true }),
|
hl.dsp.window.resize({ x = 0, y = 10, relative = true }),
|
||||||
{ description = "Resize window down" }
|
{ description = "Window: resize down" }
|
||||||
)
|
)
|
||||||
|
|
||||||
-- Switch workspaces with mainMod + [0-9]
|
-- Switch workspaces with mainMod + [0-9]
|
||||||
bind(var.mainMod .. " + 1", hl.dsp.focus({ workspace = 1 }), { description = "Switch to workspace 1" })
|
bind(var.mainMod .. " + 1", hl.dsp.focus({ workspace = 1 }), { description = "Workspace: switch to 1" })
|
||||||
bind(var.mainMod .. " + 2", hl.dsp.focus({ workspace = 2 }), { description = "Switch to workspace 2" })
|
bind(var.mainMod .. " + 2", hl.dsp.focus({ workspace = 2 }), { description = "Workspace: Switch to 2" })
|
||||||
bind(var.mainMod .. " + 3", hl.dsp.focus({ workspace = 3 }), { description = "Switch to workspace 3" })
|
bind(var.mainMod .. " + 3", hl.dsp.focus({ workspace = 3 }), { description = "Workspace: Switch to 3" })
|
||||||
bind(var.mainMod .. " + 4", hl.dsp.focus({ workspace = 4 }), { description = "Switch to workspace 4" })
|
bind(var.mainMod .. " + 4", hl.dsp.focus({ workspace = 4 }), { description = "Workspace: Switch to 4" })
|
||||||
bind(var.mainMod .. " + 5", hl.dsp.focus({ workspace = 5 }), { description = "Switch to workspace 5" })
|
bind(var.mainMod .. " + 5", hl.dsp.focus({ workspace = 5 }), { description = "Workspace: Switch to 5" })
|
||||||
bind(var.mainMod .. " + 6", hl.dsp.focus({ workspace = 6 }), { description = "Switch to workspace 6" })
|
bind(var.mainMod .. " + 6", hl.dsp.focus({ workspace = 6 }), { description = "Workspace: Switch to 6" })
|
||||||
bind(var.mainMod .. " + 7", hl.dsp.focus({ workspace = 7 }), { description = "Switch to workspace 7" })
|
bind(var.mainMod .. " + 7", hl.dsp.focus({ workspace = 7 }), { description = "Workspace: Switch to 7" })
|
||||||
bind(var.mainMod .. " + 8", hl.dsp.focus({ workspace = 8 }), { description = "Switch to workspace 8" })
|
bind(var.mainMod .. " + 8", hl.dsp.focus({ workspace = 8 }), { description = "Workspace: Switch to 8" })
|
||||||
bind(var.mainMod .. " + 9", hl.dsp.focus({ workspace = 9 }), { description = "Switch to workspace 9" })
|
bind(var.mainMod .. " + 9", hl.dsp.focus({ workspace = 9 }), { description = "Workspace: Switch to 9" })
|
||||||
bind(var.mainMod .. " + 0", hl.dsp.focus({ workspace = 10 }), { description = "Switch to workspace 10" })
|
bind(var.mainMod .. " + 0", hl.dsp.focus({ workspace = 10 }), { description = "Workspace: Switch to 10" })
|
||||||
bind("XF86AudioRaiseVolume", exec("wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"), {
|
|
||||||
repeating = true,
|
|
||||||
description = "Volume up",
|
|
||||||
})
|
|
||||||
bind("XF86AudioLowerVolume", exec("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), {
|
|
||||||
locked = true,
|
|
||||||
description = "Volume down",
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Move active window to a workspace with mainMod + SHIFT + [0-9]
|
-- Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + SHIFT + 1",
|
var.mainMod .. " + SHIFT + 1",
|
||||||
hl.dsp.window.move({ workspace = 1 }),
|
hl.dsp.window.move({ workspace = 1 }),
|
||||||
{ description = "Move window to workspace 1" }
|
{ description = "Window: move to workspace 1" }
|
||||||
)
|
)
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + SHIFT + 2",
|
var.mainMod .. " + SHIFT + 2",
|
||||||
hl.dsp.window.move({ workspace = 2 }),
|
hl.dsp.window.move({ workspace = 2 }),
|
||||||
{ description = "Move window to workspace 2" }
|
{ description = "Window: move to workspace 2" }
|
||||||
)
|
)
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + SHIFT + 3",
|
var.mainMod .. " + SHIFT + 3",
|
||||||
hl.dsp.window.move({ workspace = 3 }),
|
hl.dsp.window.move({ workspace = 3 }),
|
||||||
{ description = "Move window to workspace 3" }
|
{ description = "Window: move to workspace 3" }
|
||||||
)
|
)
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + SHIFT + 4",
|
var.mainMod .. " + SHIFT + 4",
|
||||||
hl.dsp.window.move({ workspace = 4 }),
|
hl.dsp.window.move({ workspace = 4 }),
|
||||||
{ description = "Move window to workspace 4" }
|
{ description = "Window: move to workspace 4" }
|
||||||
)
|
)
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + SHIFT + 5",
|
var.mainMod .. " + SHIFT + 5",
|
||||||
hl.dsp.window.move({ workspace = 5 }),
|
hl.dsp.window.move({ workspace = 5 }),
|
||||||
{ description = "Move window to workspace 5" }
|
{ description = "Window: move to workspace 5" }
|
||||||
)
|
)
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + SHIFT + 6",
|
var.mainMod .. " + SHIFT + 6",
|
||||||
hl.dsp.window.move({ workspace = 6 }),
|
hl.dsp.window.move({ workspace = 6 }),
|
||||||
{ description = "Move window to workspace 6" }
|
{ description = "Window: move to workspace 6" }
|
||||||
)
|
)
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + SHIFT + 7",
|
var.mainMod .. " + SHIFT + 7",
|
||||||
hl.dsp.window.move({ workspace = 7 }),
|
hl.dsp.window.move({ workspace = 7 }),
|
||||||
{ description = "Move window to workspace 7" }
|
{ description = "Window: move to workspace 7" }
|
||||||
)
|
)
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + SHIFT + 8",
|
var.mainMod .. " + SHIFT + 8",
|
||||||
hl.dsp.window.move({ workspace = 8 }),
|
hl.dsp.window.move({ workspace = 8 }),
|
||||||
{ description = "Move window to workspace 8" }
|
{ description = "Window: move to workspace 8" }
|
||||||
)
|
)
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + SHIFT + 9",
|
var.mainMod .. " + SHIFT + 9",
|
||||||
hl.dsp.window.move({ workspace = 9 }),
|
hl.dsp.window.move({ workspace = 9 }),
|
||||||
{ description = "Move window to workspace 9" }
|
{ description = "Window: move to workspace 9" }
|
||||||
)
|
)
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + SHIFT + 0",
|
var.mainMod .. " + SHIFT + 0",
|
||||||
hl.dsp.window.move({ workspace = 10 }),
|
hl.dsp.window.move({ workspace = 10 }),
|
||||||
{ description = "Move window to workspace 10" }
|
{ description = "Window: move to workspace 10" }
|
||||||
)
|
)
|
||||||
|
|
||||||
-- # Example special workspace (scratchpad)
|
-- # Example special workspace (scratchpad)
|
||||||
@@ -150,44 +149,44 @@ bind(
|
|||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + mouse_down",
|
var.mainMod .. " + mouse_down",
|
||||||
hl.dsp.focus({ workspace = "e+1" }),
|
hl.dsp.focus({ workspace = "e+1" }),
|
||||||
{ description = "Next workspace (scroll down)" }
|
{ description = "Workspace: next (scroll down)" }
|
||||||
)
|
)
|
||||||
bind(
|
bind(
|
||||||
var.mainMod .. " + mouse_up",
|
var.mainMod .. " + mouse_up",
|
||||||
hl.dsp.focus({ workspace = "e-1" }),
|
hl.dsp.focus({ workspace = "e-1" }),
|
||||||
{ description = "Previous workspace (scroll up)" }
|
{ description = "Workspace: previous (scroll up)" }
|
||||||
)
|
)
|
||||||
|
|
||||||
-- Move/resize windows with mainMod + LMB/RMB and dragging
|
-- Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
bind(var.mainMod .. " + mouse:272", hl.dsp.window.drag(), {
|
bind(var.mainMod .. " + mouse:272", hl.dsp.window.drag(), {
|
||||||
mouse = true,
|
mouse = true,
|
||||||
description = "Move window with mouse",
|
description = "Window: move with mouse",
|
||||||
})
|
})
|
||||||
bind(var.mainMod .. " + mouse:273", hl.dsp.window.resize(), {
|
bind(var.mainMod .. " + mouse:273", hl.dsp.window.resize(), {
|
||||||
mouse = true,
|
mouse = true,
|
||||||
description = "Resize window with mouse",
|
description = "Window: resize with mouse",
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Laptop multimedia keys for volume and LCD brightness
|
-- Laptop multimedia keys for volume and LCD brightness
|
||||||
bind("XF86AudioRaiseVolume", exec("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), {
|
bind("XF86AudioRaiseVolume", exec("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), {
|
||||||
repeating = true,
|
repeating = true,
|
||||||
locked = true,
|
locked = true,
|
||||||
description = "Volume up (repeat)",
|
description = "Media: volume up (repeat)",
|
||||||
})
|
})
|
||||||
bind("XF86AudioLowerVolume", exec("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), {
|
bind("XF86AudioLowerVolume", exec("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), {
|
||||||
repeating = true,
|
repeating = true,
|
||||||
locked = true,
|
locked = true,
|
||||||
description = "Volume down (repeat)",
|
description = "Media: volume down (repeat)",
|
||||||
})
|
})
|
||||||
bind("XF86AudioMute", exec("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), {
|
bind("XF86AudioMute", exec("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), {
|
||||||
repeating = true,
|
repeating = true,
|
||||||
locked = true,
|
locked = true,
|
||||||
description = "Mute audio",
|
description = "Media: mute audio",
|
||||||
})
|
})
|
||||||
bind("XF86AudioMicMute", exec("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), {
|
bind("XF86AudioMicMute", exec("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), {
|
||||||
repeating = true,
|
repeating = true,
|
||||||
locked = true,
|
locked = true,
|
||||||
description = "Mute microphone",
|
description = "Media: mute microphone",
|
||||||
})
|
})
|
||||||
bind("XF86MonBrightnessUp", exec("brightnessctl -e4 -n2 set 5%+"), {
|
bind("XF86MonBrightnessUp", exec("brightnessctl -e4 -n2 set 5%+"), {
|
||||||
repeating = true,
|
repeating = true,
|
||||||
@@ -203,19 +202,19 @@ bind("XF86MonBrightnessDown", exec("brightnessctl -e4 -n2 set 5%-"), {
|
|||||||
-- Requires playerctl
|
-- Requires playerctl
|
||||||
bind("XF86AudioNext", exec("playerctl next"), {
|
bind("XF86AudioNext", exec("playerctl next"), {
|
||||||
locked = true,
|
locked = true,
|
||||||
description = "Next track",
|
description = "Media: next track",
|
||||||
})
|
})
|
||||||
bind("XF86AudioPause", exec("playerctl play-pause"), {
|
bind("XF86AudioPause", exec("playerctl play-pause"), {
|
||||||
locked = true,
|
locked = true,
|
||||||
description = "Play/Pause",
|
description = "Media: play/pause",
|
||||||
})
|
})
|
||||||
bind("XF86AudioPlay", exec("playerctl play-pause"), {
|
bind("XF86AudioPlay", exec("playerctl play-pause"), {
|
||||||
locked = true,
|
locked = true,
|
||||||
description = "Play/Pause",
|
description = "Media: play/pause",
|
||||||
})
|
})
|
||||||
bind("XF86AudioPrev", exec("playerctl previous"), {
|
bind("XF86AudioPrev", exec("playerctl previous"), {
|
||||||
locked = true,
|
locked = true,
|
||||||
description = "Previous track",
|
description = "Media: previous track",
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Screenshots
|
-- Screenshots
|
||||||
@@ -233,13 +232,12 @@ bind("SHIFT + PRINT", exec("hyprshot -m active --output-folder " .. var.screensh
|
|||||||
})
|
})
|
||||||
|
|
||||||
bind(var.mainMod .. " + L", exec(command.lock), { locked = true, description = "Lock screen" })
|
bind(var.mainMod .. " + L", exec(command.lock), { locked = true, description = "Lock screen" })
|
||||||
bind(var.mainMod .. " + K", exec(command.keybinds_show), { description = "Show keybind overview" })
|
bind(var.mainMod .. " + K", exec(command.keybinds_show), { description = "Keybinds: show overview" })
|
||||||
bind(var.mainMod .. " + W", exec(command.wallpaper_select), { description = "Wallpaper select" })
|
bind(var.mainMod .. " + W", exec(command.wallpaper_select), { description = "Wallpaper select" })
|
||||||
|
|
||||||
-- Caelestia extras
|
-- Caelestia extras
|
||||||
if env.shell == "caelestia" then
|
if env.shell == "caelestia" then
|
||||||
bind(var.mainMod .. " + SHIFT + V", exec(command.clipboard), { description = "Clipboard history" })
|
bind(var.mainMod .. " + SHIFT + V", exec(command.clipboard), { description = "Clipboard history" })
|
||||||
bind(var.mainMod .. " + period", exec(command.emoji), { description = "Emoji picker" })
|
|
||||||
bind(var.mainMod .. " + SHIFT + K", exec(command.show_all), { description = "Toggle utilities" })
|
bind(var.mainMod .. " + SHIFT + K", exec(command.show_all), { description = "Toggle utilities" })
|
||||||
bind("CTRL + ALT + C", exec(command.clear_notifications), { description = "Clear notifications" })
|
bind("CTRL + ALT + C", exec(command.clear_notifications), { description = "Clear notifications" })
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
local env = require("env")
|
local env = require("env")
|
||||||
|
|
||||||
local commands = {
|
local commands = {
|
||||||
@@ -19,6 +18,7 @@ local commands = {
|
|||||||
clear_notifications = "",
|
clear_notifications = "",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- Noctalia
|
||||||
if env.shell == "noctalia" then
|
if env.shell == "noctalia" then
|
||||||
commands.session = "noctalia msg panel-toggle session"
|
commands.session = "noctalia msg panel-toggle session"
|
||||||
commands.logout = "command -v noctalia >/dev/null 2>&1 && noctalia msg session logout || hyprctl dispatch exit"
|
commands.logout = "command -v noctalia >/dev/null 2>&1 && noctalia msg session logout || hyprctl dispatch exit"
|
||||||
@@ -29,6 +29,9 @@ if env.shell == "noctalia" then
|
|||||||
commands.control_center = "noctalia msg panel-toggle control-center"
|
commands.control_center = "noctalia msg panel-toggle control-center"
|
||||||
commands.wallpaper_select = "noctalia msg panel-toggle wallpaper"
|
commands.wallpaper_select = "noctalia msg panel-toggle wallpaper"
|
||||||
commands.lock = "noctalia msg session lock"
|
commands.lock = "noctalia msg session lock"
|
||||||
|
commands.emoji = "noctalia msg panel-toggle launcher '/emo '"
|
||||||
|
|
||||||
|
-- Caelesia
|
||||||
elseif env.shell == "caelestia" then
|
elseif env.shell == "caelestia" then
|
||||||
commands.session = "caelestia shell drawers toggle session"
|
commands.session = "caelestia shell drawers toggle session"
|
||||||
commands.logout = "hyprctl dispatch exit"
|
commands.logout = "hyprctl dispatch exit"
|
||||||
@@ -37,7 +40,7 @@ elseif env.shell == "caelestia" then
|
|||||||
commands.menu = "caelestia shell drawers toggle launcher"
|
commands.menu = "caelestia shell drawers toggle launcher"
|
||||||
commands.settings = "caelestia shell drawers toggle dashboard"
|
commands.settings = "caelestia shell drawers toggle dashboard"
|
||||||
commands.control_center = "caelestia shell drawers toggle sidebar"
|
commands.control_center = "caelestia shell drawers toggle sidebar"
|
||||||
commands.wallpaper_select = "caelestia shell drawers toggle launcher && sleep 0.1 && wtype \">wallpaper \""
|
commands.wallpaper_select = 'caelestia shell drawers toggle launcher && sleep 0.1 && wtype ">wallpaper "'
|
||||||
commands.clipboard = "caelestia clipboard"
|
commands.clipboard = "caelestia clipboard"
|
||||||
commands.clipboard_delete = "caelestia clipboard -d"
|
commands.clipboard_delete = "caelestia clipboard -d"
|
||||||
commands.emoji = "caelestia emoji -p"
|
commands.emoji = "caelestia emoji -p"
|
||||||
@@ -46,5 +49,4 @@ elseif env.shell == "caelestia" then
|
|||||||
commands.lock = "caelestia shell lock lock"
|
commands.lock = "caelestia shell lock lock"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
return commands
|
return commands
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ return {
|
|||||||
mainMod = "SUPER",
|
mainMod = "SUPER",
|
||||||
terminal = terminal,
|
terminal = terminal,
|
||||||
terminal_tmux = terminal .. " -e tmux",
|
terminal_tmux = terminal .. " -e tmux",
|
||||||
fileManager = "dolphin",
|
fileManager = terminal .. " -e yazi", -- "dolphin",
|
||||||
screenshot_folder = "~/Bilder/Screenshots/",
|
screenshot_folder = "~/Bilder/Screenshots/",
|
||||||
|
internet_explorer = "firefox",
|
||||||
|
systemmonitor = terminal .. " -e btop",
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,6 +62,12 @@ hl.window_rule({
|
|||||||
},
|
},
|
||||||
opacity = "0.90 0.80",
|
opacity = "0.90 0.80",
|
||||||
})
|
})
|
||||||
|
hl.window_rule({
|
||||||
|
match = {
|
||||||
|
class = ".*keybinds.*",
|
||||||
|
},
|
||||||
|
opacity = "0.75 0.50",
|
||||||
|
})
|
||||||
-- Noctalia shell surfaces: blur bars/panels/dock/notifications and let
|
-- Noctalia shell surfaces: blur bars/panels/dock/notifications and let
|
||||||
-- Noctalia run its own animations (no Hyprland layer animation on top).
|
-- Noctalia run its own animations (no Hyprland layer animation on top).
|
||||||
hl.layer_rule({
|
hl.layer_rule({
|
||||||
@@ -103,6 +109,7 @@ hl.window_rule({
|
|||||||
|
|
||||||
hl.window_rule({
|
hl.window_rule({
|
||||||
name = "floating-windows",
|
name = "floating-windows",
|
||||||
match = { class = "(imv|.*hyprmod)" },
|
|
||||||
float = true,
|
float = true,
|
||||||
|
match = { class = "(imv|.*hyprmod|.*[Bb]itwarden.*|ktouch)" },
|
||||||
|
size = "1080 920",
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -135,7 +135,7 @@ for i in "${!rows[@]}"; do
|
|||||||
lines+=("${cmds[$i]}$SEP${rows[$i]}")
|
lines+=("${cmds[$i]}$SEP${rows[$i]}")
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
mapfile -t lines < <(printf '%s\n' "${lines[@]}" | LC_ALL=C sort -f -t "$SEP" -k2)
|
mapfile -t lines < <(printf '%s\n' "${lines[@]}" | LC_ALL=C sort -f -t "$SEP" -k2.29,2)
|
||||||
|
|
||||||
if [[ "${1:-}" == "--print" ]]; then
|
if [[ "${1:-}" == "--print" ]]; then
|
||||||
printf '%s\n' "${lines[@]}" | cut -d "$SEP" -f2-
|
printf '%s\n' "${lines[@]}" | cut -d "$SEP" -f2-
|
||||||
@@ -152,7 +152,8 @@ list="$(mktemp /tmp/keybinds.XXXXXX.list)"
|
|||||||
printf '%s\n' "${lines[@]}" >"$list"
|
printf '%s\n' "${lines[@]}" >"$list"
|
||||||
|
|
||||||
if command -v kitty >/dev/null 2>&1; then
|
if command -v kitty >/dev/null 2>&1; then
|
||||||
kitty --class keybinds --title Keybinds "$0" --internal-pick "$list"
|
kitty --override font_size=16 --class keybinds --title Keybinds "$0" \
|
||||||
|
--internal-pick "$list"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
color0 #45475a
|
||||||
|
color1 #f38ba8
|
||||||
|
color2 #a6e3a1
|
||||||
|
color3 #f9e2af
|
||||||
|
color4 #89b4fa
|
||||||
|
color5 #f5c2e7
|
||||||
|
color6 #94e2d5
|
||||||
|
color7 #a6adc8
|
||||||
|
color8 #585b70
|
||||||
|
color9 #f37799
|
||||||
|
color10 #89d88b
|
||||||
|
color11 #ebd391
|
||||||
|
color12 #74a8fc
|
||||||
|
color13 #f2aede
|
||||||
|
color14 #6bd7ca
|
||||||
|
color15 #bac2de
|
||||||
|
|
||||||
|
cursor #f5e0dc
|
||||||
|
cursor_text_color #1e1e2e
|
||||||
|
background #1e1e2e
|
||||||
|
foreground #cdd6f4
|
||||||
|
selection_foreground #cdd6f4
|
||||||
|
selection_background #585b70
|
||||||
|
active_border_color #cba6f7
|
||||||
|
inactive_border_color #313244
|
||||||
|
url_color #cba6f7
|
||||||
|
|
||||||
|
active_tab_foreground #11111b
|
||||||
|
active_tab_background #cba6f7
|
||||||
|
inactive_tab_foreground #a3b4eb
|
||||||
|
inactive_tab_background #313244
|
||||||
|
cursor_trail_color #a3b4eb
|
||||||
@@ -1,68 +1,153 @@
|
|||||||
# Portable Noctalia config — generated by noctalia-sync-from-gui.sh.
|
|
||||||
# Validate with: noctalia config validate ~/.config/noctalia/config.toml
|
|
||||||
|
|
||||||
[bar.default]
|
[bar.default]
|
||||||
background_opacity = 0.52
|
background_opacity = 0.50999998860061169
|
||||||
capsule = false
|
capsule = true
|
||||||
center = []
|
center = [ "session", "launcher", "control-center", "wallpaper" ]
|
||||||
end = []
|
end = [
|
||||||
|
"tray",
|
||||||
|
"notifications",
|
||||||
|
"network",
|
||||||
|
"bluetooth",
|
||||||
|
"volume",
|
||||||
|
"brightness",
|
||||||
|
"temp",
|
||||||
|
"cpu",
|
||||||
|
"sysmon",
|
||||||
|
"battery",
|
||||||
|
"clock"
|
||||||
|
]
|
||||||
margin_ends = 0
|
margin_ends = 0
|
||||||
panel_overlap = 0
|
panel_overlap = 0
|
||||||
position = "bottom"
|
position = "bottom"
|
||||||
radius = 0
|
radius = 0
|
||||||
start = []
|
start = [ "workspaces", "media" ]
|
||||||
thickness = 28
|
thickness = 28
|
||||||
|
|
||||||
|
[desktop_widgets]
|
||||||
|
enabled = false
|
||||||
|
schema_version = 2
|
||||||
|
widget_order = []
|
||||||
|
|
||||||
|
[desktop_widgets.grid]
|
||||||
|
cell_size = 16
|
||||||
|
major_interval = 4
|
||||||
|
visible = true
|
||||||
|
|
||||||
|
[desktop_widgets.widget]
|
||||||
|
|
||||||
[dock]
|
[dock]
|
||||||
background_opacity = 0.68
|
background_opacity = 0.67999998480081558
|
||||||
|
|
||||||
|
[idle]
|
||||||
|
behavior_order = [ "backlight-dim", "kbd-off", "lock", "screen-off", "suspend" ]
|
||||||
|
|
||||||
|
[idle.behavior.backlight-dim]
|
||||||
|
action = "command"
|
||||||
|
command = "brightnessctl -s set 10"
|
||||||
|
enabled = true
|
||||||
|
resume_command = "brightnessctl -r"
|
||||||
|
timeout = 300.0
|
||||||
|
|
||||||
|
[idle.behavior.kbd-off]
|
||||||
|
action = "command"
|
||||||
|
command = "brightnessctl -sd rgb:kbd_backlight set 0"
|
||||||
|
enabled = true
|
||||||
|
resume_command = "brightnessctl -rd rgb:kbd_backlight"
|
||||||
|
timeout = 300.0
|
||||||
|
|
||||||
|
[idle.behavior.lock]
|
||||||
|
action = "lock"
|
||||||
|
enabled = true
|
||||||
|
timeout = 900.0
|
||||||
|
|
||||||
|
[idle.behavior.screen-off]
|
||||||
|
action = "screen_off"
|
||||||
|
enabled = false
|
||||||
|
timeout = 1800.0
|
||||||
|
|
||||||
|
[idle.behavior.suspend]
|
||||||
|
action = "lock_and_suspend"
|
||||||
|
enabled = true
|
||||||
|
timeout = 2700.0
|
||||||
|
|
||||||
|
[keybinds]
|
||||||
|
down = [ "Down", "Ctrl+j" ]
|
||||||
|
left = [ "Left", "Ctrl+h" ]
|
||||||
|
right = [ "Right", "Ctrl+l" ]
|
||||||
|
up = [ "Up", "Ctrl+k" ]
|
||||||
|
|
||||||
|
[location]
|
||||||
|
auto_locate = true
|
||||||
|
|
||||||
[lockscreen_widgets]
|
[lockscreen_widgets]
|
||||||
enabled = false
|
enabled = false
|
||||||
schema_version = 2
|
schema_version = 2
|
||||||
|
widget_order = [ "lockscreen-login-box@eDP-1" ]
|
||||||
|
|
||||||
|
[lockscreen_widgets.grid]
|
||||||
|
cell_size = 16
|
||||||
|
major_interval = 4
|
||||||
|
visible = true
|
||||||
|
|
||||||
|
[lockscreen_widgets.widget."lockscreen-login-box@eDP-1"]
|
||||||
|
box_height = 196.0
|
||||||
|
box_width = 810.0
|
||||||
|
cx = 960.0
|
||||||
|
cy = 898.0
|
||||||
|
output = "eDP-1"
|
||||||
|
placement_height = 1080.0
|
||||||
|
placement_width = 1920.0
|
||||||
|
rotation = 0.0
|
||||||
|
type = "login_box"
|
||||||
|
|
||||||
|
[lockscreen_widgets.widget."lockscreen-login-box@eDP-1".settings]
|
||||||
|
background_color = "surface_variant"
|
||||||
|
background_opacity = 0.88
|
||||||
|
background_radius = 12.0
|
||||||
|
center_password_text = false
|
||||||
|
input_opacity = 1.0
|
||||||
|
input_radius = 6.0
|
||||||
|
layout = "regular"
|
||||||
|
show_caps_lock = true
|
||||||
|
show_keyboard_layout = true
|
||||||
|
show_login_button = true
|
||||||
|
show_media = true
|
||||||
|
show_session_buttons = true
|
||||||
|
show_unlock_hint = true
|
||||||
|
show_weather = true
|
||||||
|
|
||||||
[shell]
|
[shell]
|
||||||
font_family = "JetBrainsMono Nerd Font Mono"
|
font_family = "JetBrainsMono Nerd Font Mono"
|
||||||
|
telemetry_enabled = true
|
||||||
|
|
||||||
[shell.panel]
|
[shell.panel]
|
||||||
launcher_placement = "attached"
|
launcher_placement = "attached"
|
||||||
transparency_mode = "glass"
|
transparency_mode = "glass"
|
||||||
|
|
||||||
[theme]
|
[theme]
|
||||||
mode = "dark"
|
|
||||||
builtin = "Catppuccin"
|
builtin = "Catppuccin"
|
||||||
|
mode = "dark"
|
||||||
|
|
||||||
[theme.templates]
|
[theme.templates]
|
||||||
|
builtin_ids = [ "gtk3", "gtk4", "hyprland", "kitty" ]
|
||||||
enable_builtin_templates = true
|
enable_builtin_templates = true
|
||||||
builtin_ids = []
|
|
||||||
|
|
||||||
[wallpaper]
|
[wallpaper]
|
||||||
directory = ""
|
directory = "/home/mathias/nextcloud/Photos/Wallpapers"
|
||||||
|
|
||||||
[idle]
|
[wallpaper.default]
|
||||||
behavior_order = ["backlight-dim", "kbd-off", "lock", "screen-off", "suspend"]
|
path = "/home/mathias/nextcloud/Photos/Wallpapers/eigen/20180318-4825-Teneriffa_LaPalma-2.jpg"
|
||||||
|
|
||||||
[idle.behavior.backlight-dim]
|
[wallpaper.last]
|
||||||
timeout = 300
|
path = "/home/mathias/nextcloud/Photos/Wallpapers/eigen/20180318-4825-Teneriffa_LaPalma-2.jpg"
|
||||||
action = "command"
|
|
||||||
command = "brightnessctl -s set 10"
|
|
||||||
resume_command = "brightnessctl -r"
|
|
||||||
|
|
||||||
[idle.behavior.kbd-off]
|
[wallpaper.monitors.eDP-1]
|
||||||
timeout = 300
|
path = "/home/mathias/nextcloud/Photos/Wallpapers/eigen/20180318-4825-Teneriffa_LaPalma-2.jpg"
|
||||||
action = "command"
|
|
||||||
# This ThinkPad exposes the keyboard backlight as tpacpi::kbd_backlight;
|
|
||||||
# the previous rgb:kbd_backlight matched no device and errored out silently.
|
|
||||||
command = "brightnessctl -sd tpacpi::kbd_backlight set 0"
|
|
||||||
resume_command = "brightnessctl -rd tpacpi::kbd_backlight"
|
|
||||||
|
|
||||||
[idle.behavior.lock]
|
[widget.clock]
|
||||||
timeout = 900
|
format = "{:%Y-%m-%d|%H:%M}"
|
||||||
action = "lock"
|
|
||||||
|
|
||||||
[idle.behavior.screen-off]
|
[widget.network]
|
||||||
timeout = 1800
|
show_label = false
|
||||||
action = "screen_off"
|
|
||||||
|
|
||||||
[idle.behavior.suspend]
|
[widget.sysmon]
|
||||||
timeout = 2700
|
stat = "gpu_usage"
|
||||||
action = "lock_and_suspend"
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
@pacman
|
@pacman
|
||||||
hyprland
|
hyprland
|
||||||
hypridle
|
hypridle
|
||||||
|
hyprpm
|
||||||
xdg-desktop-portal-hyprland
|
xdg-desktop-portal-hyprland
|
||||||
hyprpolkitagent
|
hyprpolkitagent
|
||||||
pantheon-shortcut-overlay
|
pantheon-shortcut-overlay
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ rbw
|
|||||||
nfs-utils
|
nfs-utils
|
||||||
code
|
code
|
||||||
imv
|
imv
|
||||||
|
bitwarden
|
||||||
|
|
||||||
@aur
|
@aur
|
||||||
supersonic-desktop
|
supersonic-desktop
|
||||||
|
|||||||
@@ -46,3 +46,8 @@ fi
|
|||||||
if command -v fastfetch >/dev/null 2>&1; then
|
if command -v fastfetch >/dev/null 2>&1; then
|
||||||
fastfetch --config ~/.config/fastfetch/config.jsonc
|
fastfetch --config ~/.config/fastfetch/config.jsonc
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Added by LM Studio CLI (lms)
|
||||||
|
export PATH="$PATH:/home/mathias/.lmstudio/bin"
|
||||||
|
# End of LM Studio CLI section
|
||||||
|
|
||||||
|
|||||||
@@ -148,3 +148,9 @@ alias fdh="fd -H"
|
|||||||
alias fdhi="fd -HI"
|
alias fdhi="fd -HI"
|
||||||
alias rgh="rg --hidden"
|
alias rgh="rg --hidden"
|
||||||
alias rghi="rg --hidden --no-ignore"
|
alias rghi="rg --hidden --no-ignore"
|
||||||
|
|
||||||
|
export PATH="$HOME/.cargo/bin:$PATH"
|
||||||
|
# Added by LM Studio CLI (lms)
|
||||||
|
|
||||||
|
set -gx PATH $PATH /home/mathias/.lmstudio/bin
|
||||||
|
# End of LM Studio CLI section
|
||||||
|
|||||||
@@ -17,11 +17,22 @@ return {
|
|||||||
css = { "prettier" },
|
css = { "prettier" },
|
||||||
scss = { "prettier" },
|
scss = { "prettier" },
|
||||||
yaml = { "prettier" },
|
yaml = { "prettier" },
|
||||||
markdown = { "prettier" },
|
markdown = { "prettier_markdown" },
|
||||||
sh = { "shfmt" },
|
sh = { "shfmt" },
|
||||||
bash = { "shfmt" },
|
bash = { "shfmt" },
|
||||||
rust = { "rustfmt" },
|
rust = { "rustfmt" },
|
||||||
},
|
},
|
||||||
|
formatters = {
|
||||||
|
prettier_markdown = {
|
||||||
|
inherit = "prettier",
|
||||||
|
prepend_args = {
|
||||||
|
"--prose-wrap",
|
||||||
|
"always",
|
||||||
|
"--print-width",
|
||||||
|
"80",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.keymap.set({ "n", "v" }, "<leader>lf", function()
|
vim.keymap.set({ "n", "v" }, "<leader>lf", function()
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
"npm": "@ai-sdk/openai-compatible",
|
"npm": "@ai-sdk/openai-compatible",
|
||||||
"name": "LM Studio (local)",
|
"name": "LM Studio (local)",
|
||||||
"options": {
|
"options": {
|
||||||
"baseURL": "http://192.168.0.4:1234/v1"
|
"baseURL": "http://127.0.0.1:1234"
|
||||||
},
|
},
|
||||||
"models": {
|
"models": {
|
||||||
"qwen3.5-35b-a3b": {
|
"qwen3.5-35b-a3b": {
|
||||||
|
|||||||
@@ -9,3 +9,17 @@ id = "git"
|
|||||||
group = "git"
|
group = "git"
|
||||||
url = "*/"
|
url = "*/"
|
||||||
run = "git"
|
run = "git"
|
||||||
|
|
||||||
|
[opener]
|
||||||
|
imv = [
|
||||||
|
{ run = "imv %s", orphan = true, spread = false, desc = "imv" },
|
||||||
|
]
|
||||||
|
mpv = [
|
||||||
|
{ run = "mpv %s", orphan = true, spread = false, desc = "mpv" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[open]
|
||||||
|
prepend_rules = [
|
||||||
|
{ mime = "image/*", use = "imv" },
|
||||||
|
{ mime = "video/*", use = "mpv" },
|
||||||
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user