diff options
| author | 2026-04-17 10:53:38 +0100 | |
|---|---|---|
| committer | 2026-04-17 10:53:38 +0100 | |
| commit | f8d471a07736b899dbffe0f4339e4f97748fd5e6 (patch) | |
| tree | a0c377fb25819bedf20c01f83cfa5b880a98384a /home | |
| parent | bc2edabb376d62c50445e4eda25f872db3ea9814 (diff) | |
| download | dotfiles-f8d471a07736b899dbffe0f4339e4f97748fd5e6.tar.gz dotfiles-f8d471a07736b899dbffe0f4339e4f97748fd5e6.tar.bz2 dotfiles-f8d471a07736b899dbffe0f4339e4f97748fd5e6.zip | |
refactor: replace tmux.nvim with smart-splits.nvim for zellij
- Swap aserowy/tmux.nvim for mrjones2014/smart-splits.nvim in init.lua
- Configure Ctrl h/j/k/l navigation keymaps (same keys as before)
- Add vim-zellij-navigator WASM plugin keybindings to zellij config
- Remove tmux treesitter parser (no longer needed)
smart-splits.nvim auto-detects zellij as the multiplexer and provides
seamless split/pane navigation across neovim and zellij boundaries.
Diffstat (limited to 'home')
| -rw-r--r-- | home/.config/nvim/init.lua | 2 | ||||
| -rw-r--r-- | home/.config/nvim/lua/plugins/init.lua | 11 | ||||
| -rw-r--r-- | home/.config/nvim/lua/plugins/treesitter.lua | 1 | ||||
| -rw-r--r-- | home/.config/nvim/nvim-pack-lock.json | 3 | ||||
| -rw-r--r-- | home/.config/zellij/config.kdl | 31 | ||||
| -rw-r--r-- | home/.copilot/config.json | 3 | ||||
| -rwxr-xr-x | home/.local/bin/display-setup | 4 | ||||
| -rwxr-xr-x | home/.local/bin/input-setup | 10 | ||||
| -rwxr-xr-x | home/.local/bin/togreta | 14 | ||||
| -rwxr-xr-x | home/.local/bin/tokodi | 11 |
10 files changed, 74 insertions, 16 deletions
diff --git a/home/.config/nvim/init.lua b/home/.config/nvim/init.lua index 63c1586..fc3271b 100644 --- a/home/.config/nvim/init.lua +++ b/home/.config/nvim/init.lua @@ -97,7 +97,7 @@ vim.pack.add({ -- Misc gh("iamcco/markdown-preview.nvim"), - gh("aserowy/tmux.nvim"), + gh("mrjones2014/smart-splits.nvim"), gh("folke/which-key.nvim"), gh("stevearc/quicker.nvim"), gh("stevearc/oil.nvim"), diff --git a/home/.config/nvim/lua/plugins/init.lua b/home/.config/nvim/lua/plugins/init.lua index 8dce4cd..a0a6d49 100644 --- a/home/.config/nvim/lua/plugins/init.lua +++ b/home/.config/nvim/lua/plugins/init.lua @@ -1,8 +1,9 @@ -require("tmux").setup({ - resize = { - enable_default_keybindings = false, - }, -}) +-- Seamless navigation between neovim splits and zellij panes +require("smart-splits").setup({}) +vim.keymap.set("n", "<C-h>", require("smart-splits").move_cursor_left, { desc = "Move to left split/pane" }) +vim.keymap.set("n", "<C-j>", require("smart-splits").move_cursor_down, { desc = "Move to below split/pane" }) +vim.keymap.set("n", "<C-k>", require("smart-splits").move_cursor_up, { desc = "Move to above split/pane" }) +vim.keymap.set("n", "<C-l>", require("smart-splits").move_cursor_right, { desc = "Move to right split/pane" }) require("which-key").setup({ spec = { diff --git a/home/.config/nvim/lua/plugins/treesitter.lua b/home/.config/nvim/lua/plugins/treesitter.lua index 8355a07..8e72384 100644 --- a/home/.config/nvim/lua/plugins/treesitter.lua +++ b/home/.config/nvim/lua/plugins/treesitter.lua @@ -59,7 +59,6 @@ require("nvim-treesitter").install({ "strace", "sxhkdrc", "tablegen", - "tmux", "todotxt", "toml", "typescript", diff --git a/home/.config/nvim/nvim-pack-lock.json b/home/.config/nvim/nvim-pack-lock.json new file mode 100644 index 0000000..a5b818f --- /dev/null +++ b/home/.config/nvim/nvim-pack-lock.json @@ -0,0 +1,3 @@ +{ + "plugins": [] +} diff --git a/home/.config/zellij/config.kdl b/home/.config/zellij/config.kdl index 3d7f976..f3d3aa7 100644 --- a/home/.config/zellij/config.kdl +++ b/home/.config/zellij/config.kdl @@ -20,3 +20,34 @@ copy_command "wl-copy" // Auto-attach to existing session with the same name instead of erroring attach_to_session true + +// Seamless navigation between neovim splits and zellij panes (Ctrl h/j/k/l). +// Requires smart-splits.nvim on the neovim side. +keybinds { + shared_except "locked" { + bind "Ctrl h" { + MessagePlugin "https://github.com/hiasr/vim-zellij-navigator/releases/download/0.2.1/vim-zellij-navigator.wasm" { + name "move_focus"; + payload "left"; + }; + } + bind "Ctrl j" { + MessagePlugin "https://github.com/hiasr/vim-zellij-navigator/releases/download/0.2.1/vim-zellij-navigator.wasm" { + name "move_focus"; + payload "down"; + }; + } + bind "Ctrl k" { + MessagePlugin "https://github.com/hiasr/vim-zellij-navigator/releases/download/0.2.1/vim-zellij-navigator.wasm" { + name "move_focus"; + payload "up"; + }; + } + bind "Ctrl l" { + MessagePlugin "https://github.com/hiasr/vim-zellij-navigator/releases/download/0.2.1/vim-zellij-navigator.wasm" { + name "move_focus"; + payload "right"; + }; + } + } +} diff --git a/home/.copilot/config.json b/home/.copilot/config.json index b056167..98deba8 100644 --- a/home/.copilot/config.json +++ b/home/.copilot/config.json @@ -1,10 +1,11 @@ { "banner": "never", "model": "claude-opus-4.6", - "effortLevel": 100, + "effortLevel": "max", "experimental": true, "includeCoAuthoredBy": false, "firstLaunchAt": "2026-03-11T00:00:00.000Z", "trusted_folders": [ + "/home/sommerfeld/dev/copilot" ] } diff --git a/home/.local/bin/display-setup b/home/.local/bin/display-setup index 94d5703..d8e86d8 100755 --- a/home/.local/bin/display-setup +++ b/home/.local/bin/display-setup @@ -14,8 +14,8 @@ if [ "$(uname -n)" = "hercules" ] && xrandr --query | grep "HDMI-1 connected"; t # xrandr --output HDMI-1 --primary --mode 2560x1080 --rate 75 # xrandr --output HDMI-1 --primary --mode 3840x2160 # xrandr --output HDMI-1 --mode 1920x1080 --sameas eDP-1 -elif [ "$(uname -n)" = "halley" ] && xrandr --query | grep "HDMI-1 connected"; then - xrandr --output HDMI-1 --mode 1920x1080 --same-as eDP-1 +elif [ "$(uname -n)" = "halley2" ] && xrandr --query | grep "HDMI-2 connected"; then + xrandr --output HDMI-2 --mode 1920x1080 --same-as eDP-1 fi bspc wm -r diff --git a/home/.local/bin/input-setup b/home/.local/bin/input-setup index b552871..d97f9c2 100755 --- a/home/.local/bin/input-setup +++ b/home/.local/bin/input-setup @@ -17,15 +17,11 @@ setmodmap() { } if [ "$(uname -n)" = "halley2" ]; then - setxkbmap -layout pt - xmodmap ~/.config/X11/Xmodmap + setxkbmap -layout us elif [ "$(uname -n)" = "hercules" ]; then setxkbmap -layout es - xmodmap ~/.config/X11/Xmodmap fi -setxkbmap -option "caps:escape" -xset r rate 250 30 setlayout "Kingston HyperX Alloy FPS Pro Mechanical Gaming Keyboard" us # setlayout "SONiX USB DEVICE" us @@ -38,6 +34,10 @@ setlayout "Dierya DK61 Keyboard" us setlayout "ZSA Technology Labs ErgoDox EZ" us +setxkbmap -option "caps:escape" +xset r rate 250 30 +xmodmap ~/.config/X11/Xmodmap + if [ "$(uname -n)" = "hercules" ]; then xinput set-prop "ELAN1205:00 04F3:30E9 Touchpad" "libinput Tapping Enabled" 1 xinput set-prop "ELAN1205:00 04F3:30E9 Touchpad" "libinput Natural Scrolling Enabled" 1 diff --git a/home/.local/bin/togreta b/home/.local/bin/togreta new file mode 100755 index 0000000..14caaa4 --- /dev/null +++ b/home/.local/bin/togreta @@ -0,0 +1,14 @@ +#!/usr/bin/env sh + +if [ -z "$1" ]; then + url=$(xclip -o -selection clipboard) +elif [ "$1" = "-" ]; then + read -r url +else + url="$1" +fi + +# shellcheck disable=SC2029 +ssh greta.wg restream toggle "$url" + +tokodi /storage/videos/greta.strm diff --git a/home/.local/bin/tokodi b/home/.local/bin/tokodi index 8393c8b..e8a2495 100755 --- a/home/.local/bin/tokodi +++ b/home/.local/bin/tokodi @@ -8,6 +8,15 @@ else url="$1" fi -payload="$(printf '{"jsonrpc":"2.0", "id": 1, "method":"Player.Open","params": {"item": {"file":"%s"}}}' "$url")" +case "$url" in +*.m3u8*) + prefix='' + ;; +*) + prefix='plugin://plugin.video.sendtokodi/?' + ;; +esac + +payload="$(printf '{"jsonrpc":"2.0", "id": 1, "method":"Player.Open","params": {"item": {"file":"%s%s"}}}' "$prefix" "$url")" curl -u kodi:kodi 'http://ruiflix.pulpo:8080/jsonrpc' -X POST --data-raw "$payload" -H 'Content-Type: application/json' |
