Compare commits

..

31 Commits

Author SHA1 Message Date
d0429d44a3 nvim: update to v0.11 2025-11-08 16:01:49 +02:00
33f87bc232 add wal 2025-10-04 23:01:26 +03:00
9726936f96 add mic mute button support 2025-09-12 22:43:52 +03:00
eb3fbb2047 sway: support screenshare 2025-08-30 16:37:08 +03:00
b64f4f3af4 polybar: remove wlan and eth modules 2025-08-30 16:36:54 +03:00
8336aed99b nvim: change tabstop size for gleam 2025-08-30 16:36:38 +03:00
3730973a77 i3: update startup and music player 2025-08-30 16:36:19 +03:00
91b3537d89 gtk3: change theme 2025-08-30 16:35:59 +03:00
90bbd37e14 fish: clean up xdg + remove old aliases 2025-08-30 16:35:38 +03:00
eead409480 x11: create config directory 2025-08-30 16:19:10 +03:00
ff836e7ea2 dots: remove old notes 2025-06-22 19:04:58 +03:00
bd192e3d2f gtk: use catppuccin 2025-06-20 19:37:00 +03:00
ef13f19d90 sway: switch to misc wayland native apps 2025-06-20 19:36:10 +03:00
f1ab7300e8 polybar: fix broken font 2025-06-20 19:35:46 +03:00
e8a527e15d zellij: add catppuccin themes 2025-06-20 19:35:29 +03:00
52da056884 waybar: remove network 2025-06-20 19:35:16 +03:00
c462171b4f nvim: lots of random lsps and coloring configuration 2025-06-20 19:28:33 +03:00
842859344e nvim: update diagnostic mappings to not use Trouble by default 2025-06-08 18:02:44 +00:00
dd2b6da3a8 waybar: almost finish polybar clone 2025-02-01 21:06:03 +02:00
55837f4a0a nvim: pylsp + catpuccin 2025-02-01 21:05:49 +02:00
3d7c530095 sway: add everything 2025-02-01 21:05:31 +02:00
c38495c56b waybar: update config to be similar to polybar 2025-01-31 10:57:51 +02:00
d46b5bc1b2 add waybar and sway 2025-01-17 20:54:59 +02:00
7e5f42cd3e nvim: luasnip 2024-12-06 14:01:53 +02:00
68784e1fc5 userdirs: put documents in ~/.local/share 2024-11-19 20:19:50 +02:00
e448f093cf xinitrc: add some random wms. i don't really use this anymore 2024-11-19 20:19:18 +02:00
816b9ae215 sxhkd: use rofi -drun 2024-11-19 20:19:01 +02:00
e98ba9e7f4 polybar: add pipewire buffer size module 2024-11-19 20:18:42 +02:00
532f2eb9ee fish: xdg cleanup 2024-11-19 20:18:13 +02:00
6c4159d112 i3: make rofi run with -drun 2024-11-19 20:17:50 +02:00
8e916634f5 bspwm: focus follows mouse 2024-11-19 20:17:35 +02:00
48 changed files with 1541 additions and 525 deletions

View File

@ -6,7 +6,9 @@ xsetwacom set "Wacom One by Wacom S Pen stylus" MapToOutput 1920x1200+2560+0
xsetwacom set "Wacom One by Wacom S Pen stylus" Rotate half
xset r rate 300 50
exec herbstluftwm
# qtile start
# exec gnome-session
# exec xfce4-session
# exec awesome
# exec bspwm
# exec i3

View File

@ -3,11 +3,7 @@
# Load colors from wal
[ -f "${HOME}/.cache/wal/colors.sh" ] && . "${HOME}/.cache/wal/colors.sh"
# Define mod keys
mod=Mod4 # Usually the Super key
alt=Mod1 # Usually the Alt key
ctrl=Control
shift=Shift
bspc config focus_follows_pointer true
# Set bspwm settings
bspc monitor -d a s d f g z x c v b

View File

@ -0,0 +1,31 @@
# cleanup
set -Ux ANDROID_HOME "$XDG_DATA_HOME"/android
set -Ux CARGO_HOME "$XDG_DATA_HOME"/cargo
set -Ux CUDA_CACHE_PATH "$XDG_CACHE_HOME"/nv
set -Ux GDBHISTFILE "$XDG_DATA_HOME"/gdb/history
set -Ux GNUPGHOME "$XDG_DATA_HOME"/gnupg
set -Ux GOPATH "$XDG_DATA_HOME"/go
set -Ux ICEAUTHORITY "$XDG_CACHE_HOME"/ICEauthority
set -Ux IPYTHONDIR "$XDG_CONFIG_HOME"/ipython
set -Ux LESSHISTFILE -
set -Ux MYPY_CACHE_DIR "$XDG_CACHE_HOME"/mypy
set -Ux NPM_CONFIG_USERCONFIG "$XDG_CONFIG_HOME"/npm/npmrc
set -Ux PASSWORD_STORE_DIR "$XDG_DATA_HOME"/pass
set -Ux RUSTUP_HOME "$XDG_DATA_HOME"/rustup
set -Ux SQLITE_HISTORY "$XDG_CACHE_HOME"/sqlite_history
set -Ux UNCRUSTIFY_CONFIG "$XDG_CONFIG_HOME"/uncrustify/uncrustify.cfg
set -Ux XAUTHORITY "$XDG_RUNTIME_DIR"/Xauthority
set -Ux _JAVA_OPTIONS -Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
set -Ux ERRFILE "$XDG_CACHE_HOME/X11/xsession-errors"
set -Ux XAUTHORITY "$XDG_RUNTIME_DIR"/Xauthority
set -Ux RUSTUP_HOME "$XDG_DATA_HOME"/rustup
set -Ux CARGO_HOME "$XDG_DATA_HOME"/cargo
set -Ux XINITRC "$XDG_CONFIG_HOME"/X11/xinitrc
set -Ux ANDROID_USER_HOME "$XDG_DATA_HOME"/android
set -Ux DOCKER_CONFIG "$XDG_CONFIG_HOME"/docker
set -Ux GNUPGHOME "$XDG_DATA_HOME"/gnupg
set -Ux GTK2_RC_FILES "$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
set -Ux MINIKUBE_HOME "$XDG_DATA_HOME"/minikube
set -Ux _JAVA_OPTIONS '-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java'
set -Ux PYENV_ROOT "$XDG_DATA_HOME"/pyenv
set -Ux PYTHONSTARTUP "$XDG_CONFIG_HOME"/python/pythonrc

View File

@ -16,30 +16,11 @@ set -Ux XDG_CONFIG_HOME "$HOME/.config"
set -Ux XDG_DATA_HOME "$HOME/.local/share"
set -Ux XDG_CACHE_HOME "$HOME/.cache"
# cleanup
set -Ux ANDROID_HOME "$XDG_DATA_HOME"/android
set -Ux CARGO_HOME "$XDG_DATA_HOME"/cargo
set -Ux CUDA_CACHE_PATH "$XDG_CACHE_HOME"/nv
set -Ux GDBHISTFILE "$XDG_DATA_HOME"/gdb/history
set -Ux GNUPGHOME "$XDG_DATA_HOME"/gnupg
set -Ux GOPATH "$XDG_DATA_HOME"/go
set -Ux ICEAUTHORITY "$XDG_CACHE_HOME"/ICEauthority
set -Ux IPYTHONDIR "$XDG_CONFIG_HOME"/ipython
set -Ux LESSHISTFILE -
set -Ux MYPY_CACHE_DIR "$XDG_CACHE_HOME"/mypy
set -Ux NPM_CONFIG_USERCONFIG "$XDG_CONFIG_HOME"/npm/npmrc
set -Ux PASSWORD_STORE_DIR "$XDG_DATA_HOME"/pass
set -Ux RUSTUP_HOME "$XDG_DATA_HOME"/rustup
set -Ux SQLITE_HISTORY "$XDG_CACHE_HOME"/sqlite_history
set -Ux UNCRUSTIFY_CONFIG "$XDG_CONFIG_HOME"/uncrustify/uncrustify.cfg
set -Ux XAUTHORITY "$XDG_RUNTIME_DIR"/Xauthority
set -Ux _JAVA_OPTIONS -Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
# wine prefix
set -Ux WINEPREFIX "$XDG_DATA_HOME/wine/"
# set -Ux WINEPREFIX "$XDG_DATA_HOME/wine/"
# kvantum
set -Ux QT_STYLE_OVERRIDE kvantum
set -Ux QT_QPA_PLATFORMTHEME qt5ct
# use nvim for stuff
set -Ux EDITOR nvim
@ -48,4 +29,7 @@ set -Ux MANPAGER nvimpager
# zoxide
set -Ux _ZO_MAXAGE 100000
# kubectl
set -Ux KUBECONFIG ~/.kube/config
starship init fish | source

View File

@ -0,0 +1,65 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR --export ANDROID_HOME:/home/trt/\x2elocal/share/android
SETUVAR --export ANDROID_USER_HOME:/home/trt/\x2elocal/share/android
SETUVAR --export CARGO_HOME:/home/trt/\x2elocal/share/cargo
SETUVAR --export --path CUDA_CACHE_PATH:/home/trt/\x2ecache/nv
SETUVAR --export DOCKER_CONFIG:/home/trt/\x2econfig/docker
SETUVAR --export EDITOR:nvim
SETUVAR --export ERRFILE:/home/trt/\x2ecache/X11/xsession\x2derrors
SETUVAR --export GDBHISTFILE:/home/trt/\x2elocal/share/gdb/history
SETUVAR --export GNUPGHOME:/home/trt/\x2elocal/share/gnupg
SETUVAR --export --path GOPATH:/home/trt/\x2elocal/share/go
SETUVAR --export GTK2_RC_FILES:/home/trt/\x2econfig/gtk\x2d2\x2e0/gtkrc
SETUVAR --export ICEAUTHORITY:/home/trt/\x2ecache/ICEauthority
SETUVAR --export IPYTHONDIR:/home/trt/\x2econfig/ipython
SETUVAR --export KUBECONFIG:/home/trt/\x2ekube/config
SETUVAR --export LESSHISTFILE:\x2d
SETUVAR --export MANPAGER:nvimpager
SETUVAR --export MINIKUBE_HOME:/home/trt/\x2elocal/share/minikube
SETUVAR --export MYPY_CACHE_DIR:/home/trt/\x2ecache/mypy
SETUVAR --export NPM_CONFIG_USERCONFIG:/home/trt/\x2econfig/npm/npmrc
SETUVAR --export PASSWORD_STORE_DIR:/home/trt/\x2elocal/share/pass
SETUVAR --export PYENV_ROOT:/home/trt/\x2elocal/share/pyenv
SETUVAR --export PYTHONSTARTUP:/home/trt/\x2econfig/python/pythonrc
SETUVAR --export QT_QPA_PLATFORMTHEME:qt5ct
SETUVAR --export RUSTUP_HOME:/home/trt/\x2elocal/share/rustup
SETUVAR --export SQLITE_HISTORY:/home/trt/\x2ecache/sqlite_history
SETUVAR --export UNCRUSTIFY_CONFIG:/home/trt/\x2econfig/uncrustify/uncrustify\x2ecfg
SETUVAR --export XAUTHORITY:/run/user/1000/Xauthority
SETUVAR --export XDG_CACHE_HOME:/home/trt/\x2ecache
SETUVAR --export XDG_CONFIG_HOME:/home/trt/\x2econfig
SETUVAR --export XDG_DATA_HOME:/home/trt/\x2elocal/share
SETUVAR --export XINITRC:/home/trt/\x2econfig/X11/xinitrc
SETUVAR --export _JAVA_OPTIONS:\x2dDjava\x2eutil\x2eprefs\x2euserRoot\x3d\x22\x24XDG_CONFIG_HOME\x22/java
SETUVAR --export _ZO_MAXAGE:100000
SETUVAR __fish_initialized:3800
SETUVAR fish_color_autosuggestion:brblack
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:normal
SETUVAR fish_color_comment:red
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:green
SETUVAR fish_color_error:brred
SETUVAR fish_color_escape:brcyan
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:brcyan
SETUVAR fish_color_param:cyan
SETUVAR fish_color_quote:yellow
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
SETUVAR fish_color_search_match:white\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline
SETUVAR fish_key_bindings:fish_vi_key_bindings
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:yellow\x1e\x2di
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_selected_background:\x2dr
SETUVAR fish_user_paths:/home/trt/\x2econfig/scripts/util\x1e/home/trt/\x2econfig/scripts/applications\x1e/home/trt/\x2elocal/share/go/bin\x1e/home/trt/\x2elocal/bin

View File

@ -1,4 +0,0 @@
function pm --wraps=pulsemixer --description 'alias pm=pulsemixer'
pulsemixer $argv
end

View File

@ -1,4 +0,0 @@
function py --wraps=python --description 'alias py=python'
python $argv
end

View File

@ -0,0 +1,3 @@
function adb
env HOME="$XDG_DATA_HOME/android" adb $argv
end

View File

@ -1,18 +1,17 @@
[Settings]
gtk-button-images=0
gtk-theme-name=Catppuccin-Dark-Macchiato
gtk-icon-theme-name=Papirus-Dark
gtk-font-name=Sans 9
gtk-cursor-theme-name=Adwaita
gtk-cursor-theme-size=24
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=0
gtk-icon-theme-name=Papirus-Dark
gtk-menu-images=0
gtk-theme-name=Everforest-Dark
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=0
gtk-menu-images=0
gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintmedium
gtk-font-name=Cantarell 11
gtk-xft-rgba=none
gtk-modules=canberra-gtk-module
gtk-application-prefer-dark-theme=0
gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb
gtk-application-prefer-dark-theme=1

View File

@ -1,8 +1,9 @@
#!/bin/bash
pidof mpd || mpd &
pidof flameshot || flameshot &
pidof lxpolkit || lxpolkit &
pidof picom || picom &
# pidof mpd || mpd &
# pidof flameshot || flameshot &
# pidof lxpolkit || lxpolkit &
# pidof picom || picom &
wal -R
~/.fehbg
systemctl --user enable --now awatcher

View File

@ -6,8 +6,7 @@ set $calculator "rofi -show calc"
set $calendar "$terminal -e nvim +Agenda"
set $feed_reader "$terminal -e newsboat"
set $file_manager thunar
set $launcher "rofi -show run"
set $music_player "kitty -e ncmpcpp"
set $music_player "kitty -e rmpc"
set $screen_locker "i3lock -c 000000"
@ -79,7 +78,8 @@ bindsym $mod+Control+q floating toggle
#
bindsym $mod+Return exec $terminal
bindsym $mod+space exec --no-startup-id $launcher
bindsym $mod+space exec --no-startup-id "rofi -show drun"
bindsym $mod+Control+space exec --no-startup-id "rofi -show run"
bindsym $mod+grave exec flameshot gui
bindsym $mod+1 exec $file_manager

View File

@ -1,28 +0,0 @@
alsa-plugins
ams-lv2
ardour
aubio
bshapr
calf
carla
distrho-ports
dragonfly-reverb
ebumeter
eq10q
fluidsynth
geonkick
guitarix
jack_mixer
lsp-plugins
ninjas2
noise-repellent
qjackctl
samplv1
sfizz
surge
tap-plugins
vamp-plugin-sdk
wolf-shaper
x42-plugins
zam-plugins
zyn-fusion

View File

@ -1,7 +0,0 @@
some notes for when reinstalling this setup:
# Xorg client limit
Xorg has a weird limit on the amount of clients, and every yabridge plugin is a new X client. The limit is 256, which can be easily be achieved. To change the limit to the maximum:
```bash
printf 'Section "ServerFlags"\n\tOption "MaxClients" "2048"\nEndSection\n' > /etc/X11/xorg.conf.d/99-maxclients.conf
```

View File

@ -1,49 +0,0 @@
colorpicker
dunst
dzen2
engrampa
feh
firefox
flameshot
fzf
gvfs
herbstluftwm
htop
i3lock-color
kitty
libqalculate
lxappearance-gtk3
lxqt-policykit
lxsession-gtk3
mpd
ncmpcpp
neovim-qt
nerd-fonts-mononoki
newsboat
nvimpager-git
openssh
pamixer
papirus-icon-theme
picom-git
pipewire
pipewire-alsa
pipewire-jack
python-pywal
qpwgraph
qtile
ripgrep
rofi
rofi-calc
themix-theme-oomox-git
thunar
thunar-archive-plugin
thunar-volman
ttf-dejavu
ttf-mononoki
vimiv
wireplumber
xclip
xorg
xorg-server
xorg-xinit
xournalpp

View File

@ -1,54 +1,59 @@
{
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" },
"bufferline.nvim": { "branch": "main", "commit": "81820cac7c85e51e4cf179f8a66d13dbf7b032d9" },
"LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"bufresize.nvim": { "branch": "master", "commit": "3b19527ab936d6910484dcc20fb59bdb12322d8b" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
"catppuccin": { "branch": "main", "commit": "234fc048de931a0e42ebcad675bf6559d75e23df" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" },
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"dressing.nvim": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" },
"formatter.nvim": { "branch": "master", "commit": "ad246d34ce7a32f752071ed81b09b94e6b127fad" },
"friendly-snippets": { "branch": "main", "commit": "682157939e57bd6a2c86277dfd4d6fbfce63dbac" },
"gitlab.nvim": { "branch": "main", "commit": "dc70c978103e9960ab39feceb67d2f724b12d0c3" },
"gitsigns.nvim": { "branch": "main", "commit": "39b5b6f48bde0595ce68007ffce408c5d7ac1f79" },
"indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" },
"lazy.nvim": { "branch": "main", "commit": "d901d2166fef0304e360316e7a04316f11ab62d0" },
"lspkind.nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" },
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" },
"mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" },
"maximize.nvim": { "branch": "master", "commit": "02588e7b20df1a0692aa96f83cc4670199f74d71" },
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
"formatter.nvim": { "branch": "master", "commit": "b9d7f853da1197b83b8edb4cc4952f7ad3a42e41" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"gitlab.nvim": { "branch": "main", "commit": "e29909cd1064a7b53c3150bff49449a548dadf8d" },
"gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" },
"gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
"image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
"lspkind.nvim": { "branch": "master", "commit": "3ddd1b4edefa425fda5a9f95a4f25578727c0bb3" },
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
"maximize.nvim": { "branch": "master", "commit": "d688b66344b03ee6e5a32a0a40af85d174490af8" },
"mbc-colorscheme.nvim": { "branch": "main", "commit": "02c404d2a58acf527a0de600678c612335cc8416" },
"mini.bracketed": { "branch": "main", "commit": "abbaf7711dffabf7db180c6d61deb4a321b2a2cd" },
"neogen": { "branch": "main", "commit": "6de0add4805165317ab7d3d36b5cef48b1b865f3" },
"neogit": { "branch": "master", "commit": "a20031fb5d7d12148764764059243135085e5c9b" },
"neotest": { "branch": "master", "commit": "26ed90509c377d10dbdebd25b7094a886323b32b" },
"neotest-python": { "branch": "master", "commit": "2e83d2bc00acbcc1fd529dbf0a0e677cabfe6b50" },
"nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" },
"nvim-autopairs": { "branch": "master", "commit": "c15de7e7981f1111642e7e53799e1211d4606cb9" },
"nvim-bqf": { "branch": "main", "commit": "1b24dc6050c34e8cd377b6b4cd6abe40509e0187" },
"nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" },
"mini.bracketed": { "branch": "main", "commit": "e50e3abcf6a3a5d234f58e4a247dfb3035f30a65" },
"mini.icons": { "branch": "main", "commit": "ff2e4f1d29f659cc2bad0f9256f2f6195c6b2428" },
"neogen": { "branch": "main", "commit": "d7f9461727751fb07f82011051338a9aba07581d" },
"neogit": { "branch": "master", "commit": "d2a2ae4415872fbddb2441920ab109ee52fd4916" },
"neotest": { "branch": "master", "commit": "deadfb1af5ce458742671ad3a013acb9a6b41178" },
"neotest-python": { "branch": "master", "commit": "b0d3a861bd85689d8ed73f0590c47963a7eb1bf9" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" },
"nvim-bqf": { "branch": "main", "commit": "a77b17e39b1b707b6feee86a36c83703c1534c08" },
"nvim-cmp": { "branch": "main", "commit": "106c4bcc053a5da783bf4a9d907b6f22485c2ea0" },
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
"nvim-dap": { "branch": "master", "commit": "6f79b822997f2e8a789c6034e147d42bc6706770" },
"nvim-dap-go": { "branch": "main", "commit": "3999f0744e80d2dba5775189fc7c7a5e9846053e" },
"nvim-dap-python": { "branch": "master", "commit": "d777c2b32ed39f61209c09bede28d7491621a631" },
"nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" },
"nvim-lspconfig": { "branch": "master", "commit": "cf97d2485fc3f6d4df1b79a3ea183e24c272215e" },
"nvim-surround": { "branch": "main", "commit": "ec2dc7671067e0086cdf29c2f5df2dd909d5f71f" },
"nvim-tree.lua": { "branch": "master", "commit": "2086e564c4d23fea714e8a6d63b881e551af2f41" },
"nvim-treesitter": { "branch": "master", "commit": "a8c082b4f5b3b70bde2ffb08cc112dfd7e515fb3" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" },
"nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" },
"obsidian.nvim": { "branch": "main", "commit": "f0bc495b4a3852a83b48636e9f564586f5e2d29e" },
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" },
"refactoring.nvim": { "branch": "master", "commit": "d07218748c48e756c27aa6859bfa6e62a3d271af" },
"nvim-dap": { "branch": "master", "commit": "e97dc47e134ffb33da008658fecfae8f8547c528" },
"nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" },
"nvim-dap-python": { "branch": "master", "commit": "64652d1ae1db80870d9aac7132d76e37acd86a26" },
"nvim-lint": { "branch": "master", "commit": "8b349e822a36e9480aed96c6dd2f757f80524a35" },
"nvim-lspconfig": { "branch": "master", "commit": "2010fc6ec03e2da552b4886fceb2f7bc0fc2e9c0" },
"nvim-surround": { "branch": "main", "commit": "fcfa7e02323d57bfacc3a141f8a74498e1522064" },
"nvim-tree.lua": { "branch": "master", "commit": "321bc61580fd066b76861c32de3319c3a6d089e7" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-context": { "branch": "master", "commit": "ec308c7827b5f8cb2dd0ad303a059c945dd21969" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" },
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"refactoring.nvim": { "branch": "master", "commit": "6784b54587e6d8a6b9ea199318512170ffb9e418" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"term-edit.nvim": { "branch": "master", "commit": "32e802c6ea08304db6cbbf44e6ca9805b8c2ad51" },
"toggleterm.nvim": { "branch": "main", "commit": "cd55bf6aab3f88c259fa29ea86bbdcb1a325687d" },
"trouble.nvim": { "branch": "main", "commit": "e32c194558ebeb433ccfd580a34c66770bc102bd" },
"vim-vsnip": { "branch": "master", "commit": "02a8e79295c9733434aab4e0e2b8c4b7cea9f3a9" },
"term-edit.nvim": { "branch": "master", "commit": "29c4584c2cef44a3fdcc55860957d081b892a569" },
"toggleterm.nvim": { "branch": "main", "commit": "9a88eae817ef395952e08650b3283726786fb5fb" },
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
"wal-colors.nvim": { "branch": "main", "commit": "f0f052ae2dd5054200b98ff308c864579c2983ea" },
"which-key.nvim": { "branch": "main", "commit": "ca2d995c1f7d1ba4ce54a9936a6cdd8cfa594f2d" }
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}

View File

@ -40,6 +40,7 @@ vim.keymap.set("n", "<leader>C", ":ToggleTerm<CR>", { desc = "Toggle Terminal" }
vim.keymap.set("n", "<leader>ac", "<cmd>Telescope find_files cwd=~/.config/nvim<CR>", { desc = "Find Config Files" })
vim.keymap.set("n", "<leader>an", "<cmd>NoNeckPain<CR>", { desc = "No Neck Pain" })
vim.keymap.set("n", "<leader>ag", "<cmd>Neogit<CR>", { desc = "Neogit" })
vim.keymap.set("n", "<leader>af", "<cmd>NvimTreeFindFile<CR>", { desc = "Find File In File Manager" })
vim.keymap.set("n", "<leader>am", function()
require("maximize").toggle()
end, { desc = "Maximize" })
@ -62,7 +63,8 @@ vim.keymap.set("n", "<leader>gr", "<cmd>Telescope lsp_references<CR>", { desc =
vim.keymap.set("n", "<leader>gq", "<cmd>Telescope diagnostics<CR>", { desc = "Show Diagnostics" })
vim.keymap.set("n", "<leader>gs", "<cmd>LspRestart<CR>", { desc = "Restart LSP" })
vim.keymap.set("n", "<leader>gf", "<cmd>Format<CR>", { desc = "Format" })
vim.keymap.set("n", "<leader>ge", "<cmd>Trouble diagnostics<CR>", { desc = "Toggle Trouble" })
vim.keymap.set("n", "<leader>ge", function() vim.diagnostic.open_float() end , { desc = "Show Diagnostic" })
vim.keymap.set("n", "<leader>gE", "<cmd>Trouble diagnostics<CR>", { desc = "Toggle Trouble" })
vim.keymap.set("n", "<leader>ga", function()
vim.lsp.buf.code_action()
end, { desc = "Code Actions" })

View File

@ -30,6 +30,15 @@ vim.api.nvim_create_autocmd({ "FocusGained", "BufEnter", "CursorHold", "CursorHo
vim.api.nvim_create_autocmd("TextYankPost", {
pattern = "*",
callback = function()
require("vim.highlight").on_yank({ "IncSearch", 1000 })
vim.highlight.on_yank({ "IncSearch", 1000 })
end,
})
vim.api.nvim_create_autocmd("FileType", {
pattern = "gleam",
callback = function()
vim.bo.shiftwidth = 2
vim.bo.tabstop = 2
vim.bo.expandtab = true
end,
})

View File

@ -0,0 +1,8 @@
return {
"catppuccin/nvim",
name = "catppuccin",
config = function()
pcall(vim.cmd, "colorscheme catppuccin-mocha")
end,
priority = 1000,
}

View File

@ -5,10 +5,10 @@ return {
end,
dependencies = {
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-vsnip",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"hrsh7th/cmp-nvim-lsp-signature-help",
"saadparwaiz1/cmp_luasnip",
"onsails/lspkind.nvim",
},
opts = function()
@ -16,12 +16,13 @@ return {
local cmp = require("cmp")
local neogen = require("neogen")
local luasnip = require("luasnip")
local lspkind = require("lspkind")
cmp.setup({
snippet = {
expand = function(args)
vim.fn["vsnip#anonymous"](args.body)
luasnip.lsp_expand(args.body)
end,
},
mapping = {
@ -35,34 +36,36 @@ return {
behavior = cmp.ConfirmBehavior.Replace,
select = false,
}),
["<tab>"] = cmp.mapping(function(fallback)
if neogen.jumpable() then
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.locally_jumpable(1) then
luasnip.jump(1)
elseif neogen.jumpable() then
neogen.jump_next()
else
fallback()
end
end, {
"i",
"s",
}),
["<S-tab>"] = cmp.mapping(function(fallback)
if neogen.jumpable(true) then
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.locally_jumpable(-1) then
luasnip.jump(-1)
elseif neogen.jumpable() then
neogen.jump_prev()
else
fallback()
end
end, {
"i",
"s",
}),
end, { "i", "s" }),
},
sources = {
{ name = "nvim_lsp" },
{ name = "nvim_lsp_signature_help" },
{ name = "path" },
{ name = "buffer", keyword_length = 5 },
{ name = "vsnip" },
{ name = "orgmode" },
{ name = "luasnip" },
},
formatting = {
format = lspkind.cmp_format({

View File

@ -11,7 +11,7 @@ return {
},
go = {
require("formatter.filetypes.go").gofumpt,
require("formatter.filetypes.go").goimports_reviser,
-- require("formatter.filetypes.go").goimports_reviser,
},
json = {
require("formatter.filetypes.json").jq,
@ -40,6 +40,21 @@ return {
yaml = {
require("formatter.filetypes.yaml").yamlfmt,
},
elixir = {
require("formatter.filetypes.elixir").mixformat,
},
gleam = {
function()
return {
exe = "gleam",
args = {
"format",
"--stdin",
},
stdin = true,
}
end,
},
},
})
end,

View File

@ -0,0 +1,7 @@
return {
"ellisonleao/gruvbox.nvim",
-- config = function()
-- pcall(vim.cmd, "colorscheme gruvbox")
-- end,
priority = 1000,
}

View File

@ -0,0 +1,7 @@
return {
"3rd/image.nvim",
build = false, -- so that it doesn't build the rock https://github.com/3rd/image.nvim/issues/91#issuecomment-2453430239
opts = {
processor = "magick_cli",
}
}

View File

@ -3,31 +3,33 @@ return {
"neovim/nvim-lspconfig",
config = function()
local lsp = require("lspconfig")
lsp.pyright.setup({})
lsp.gopls.setup({})
lsp.rust_analyzer.setup({})
lsp.clangd.setup({})
lsp.ts_ls.setup({})
lsp.lua_ls.setup({
settings = {
Lua = {
runtime = {
version = "LuaJIT",
},
diagnostics = {
globals = { "vim" },
},
workspace = {
library = vim.api.nvim_get_runtime_file("", true),
},
telemetry = {
enable = false,
},
},
},
})
lsp.helm_ls.setup({
filetypes= { "helm", "yaml" },
-- lsp.pylsp.setup({})
vim.lsp.enable("pyright")
vim.lsp.enable("gopls")
vim.lsp.enable("rust_analyzer")
vim.lsp.enable("clangd")
vim.lsp.enable("ts_ls")
vim.lsp.enable("gleam")
-- lsp.lua_ls.setup({
-- settings = {
-- Lua = {
-- runtime = {
-- version = "LuaJIT",
-- },
-- diagnostics = {
-- globals = { "vim" },
-- },
-- workspace = {
-- library = vim.api.nvim_get_runtime_file("", true),
-- },
-- telemetry = {
-- enable = false,
-- },
-- },
-- },
-- })
vim.lsp.config("helm_ls", {
filetypes = { "helm", "yaml" },
})
end,
},

View File

@ -0,0 +1,14 @@
return {
"L3MON4D3/LuaSnip",
version = "v2.*",
-- install jsregexp (optional!).
build = "make install_jsregexp",
dependencies = {
"rafamadriz/friendly-snippets",
},
config = function()
require("luasnip.loaders.from_vscode").lazy_load()
end,
}

View File

@ -3,8 +3,8 @@ return {
dependencies = {
{ "mbrea-c/wal-colors.nvim" },
},
config = function()
pcall(vim.cmd, "colorscheme mbc")
end,
-- config = function()
-- pcall(vim.cmd, "colorscheme mbc")
-- end,
priority = 1000,
}

View File

@ -1,19 +0,0 @@
return {
"hrsh7th/vim-vsnip",
dependencies = {
"rafamadriz/friendly-snippets",
},
config = function()
-- jumpable mappings
vim.api.nvim_exec(
[[
imap <expr> <Tab> vsnip#jumpable(1) ? '<Plug>(vsnip-jump-next)' : '<Tab>'
smap <expr> <Tab> vsnip#jumpable(1) ? '<Plug>(vsnip-jump-next)' : '<Tab>'
imap <expr> <S-Tab> vsnip#jumpable(-1) ? '<Plug>(vsnip-jump-prev)' : '<S-Tab>'
smap <expr> <S-Tab> vsnip#jumpable(-1) ? '<Plug>(vsnip-jump-prev)' : '<S-Tab>'
]],
false
)
end,
}

View File

@ -0,0 +1 @@
HexDocs

Binary file not shown.

View File

@ -28,11 +28,11 @@ module-margin = 1
separator = |
separator-foreground = ${colors.disabled}
font-0 = mononoki-12;1
font-0 = MononokiNerdFontMono-Regular-12;1
modules-left = ewmh
modules-center = date
modules-right = mpd filesystem pulseaudio xkeyboard memory cpu wlan eth
modules-right = mpd filesystem pipewire_buffer_size pulseaudio xkeyboard memory cpu
cursor-click = pointer
cursor-scroll = ns-resize
@ -43,10 +43,16 @@ enable-ipc = true
; wm-restack = generic
; wm-restack = bspwm
; wm-restack = i3
wm-restack = i3
; override-redirect = true
[module/pipewire_buffer_size]
type = custom/script
exec = ~/.config/polybar/pipewire_buffer_size.sh
interval = 10
click-right = ~/.config/polybar/pipewire_buffer_size.sh click
[module/info-hlwm-workspaces]
type = custom/script
exec = ~/.config/polybar/info-hlwm-workspaces/info-hlwm-workspaces.sh

View File

@ -0,0 +1,18 @@
#!/bin/bash
BUFFER_SIZES=("64" "128" "256" "512" "1024" "2048" "4096")
current_buffer_size=$(pw-metadata -n settings 0 clock.force-quantum | grep -oP "value:'\K[0-9]+")
if [[ $1 == "click" ]]; then
new_buffer_size=$(echo "${BUFFER_SIZES[@]}" | tr ' ' '\n' | xmenu)
if [[ -n $new_buffer_size ]]; then
pw-metadata -n settings 0 clock.force-quantum "$new_buffer_size"
current_buffer_size=$new_buffer_size
fi
exit 0
fi
echo "$current_buffer_size"

10
.config/sway/autostart.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
# pidof mpd || mpd &
# pidof flameshot || flameshot &
# pidof lxpolkit || lxpolkit &
# pidof picom || picom &
# wal -R
# pkill swaybg; swaybg -i ~/docs/bg/catpuccin/cat-bg-black3-fg-rosewater.png -m fill
pkill swaybg; swaybg -i ~/docs/bg/catpuccin/cat-bg-black3-fg-rosewater.png -m fill
systemctl --user enable --now awatcher

180
.config/sway/config Normal file
View File

@ -0,0 +1,180 @@
include "$HOME/.cache/wal/colors-sway"
include ~/.config/sway/outputs
set $mod Mod4
set $terminal kitty
set $browser firefox
set $calculator "rofi -show calc"
set $calendar "$terminal -e nvim +Agenda"
set $feed_reader "$terminal -e newsboat"
set $file_manager nemo
set $music_player "kitty -e rmpc"
set $screen_locker "swaylock -c 000000"
font pango:mononoki 12
# Start XDG autostart .desktop files using dex. See also
# https://wiki.archlinux.org/index.php/XDG_Autostart
exec --no-startup-id dex --autostart --environment i3
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
exec --no-startup-id nm-applet
# Use pactl to adjust volume in PulseAudio.
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# move tiling windows via drag & drop by left-clicking into the title bar,
# or left-clicking anywhere into the window while holding the floating modifier.
# tiling_drag modifier titlebar
# basics
bindsym $mod+w kill
bindsym $mod+r reload
# focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# shift
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# frame splitting
bindsym $mod+o split h
bindsym $mod+u split v
# resize
bindsym $mod+Control+h resize grow left 2 px or 2 ppt
bindsym $mod+Control+j resize grow down 2 px or 2 ppt
bindsym $mod+Control+k resize grow up 2 px or 2 ppt
bindsym $mod+Control+l resize grow right 2 px or 2 ppt
# cycle layouts
bindsym $mod+Control+e layout stacking
bindsym $mod+Control+r layout tabbed
bindsym $mod+Control+t layout toggle split
# window attributes
bindsym $mod+Control+w fullscreen toggle
bindsym $mod+Control+q floating toggle
#
# launchers
#
bindsym $mod+Return exec $terminal
bindsym $mod+space exec --no-startup-id "rofi -show drun"
bindsym $mod+grave exec grim -g "$(slurp)" - | swappy -f -
bindsym $mod+1 exec $file_manager
bindsym $mod+2 exec $browser
bindsym $mod+3 exec $calculator
bindsym $mod+4 exec $music_player
bindsym $mod+5 exec $calendar
bindsym $mod+6 exec $virt-manager
bindsym $mod+0 exec $screen_locker
# change focus between tiling / floating windows
# bindsym $mod+space focus mode_toggle
# focus the parent container
# bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "a"
set $ws2 "s"
set $ws3 "d"
set $ws4 "f"
set $ws5 "g"
set $ws6 "z"
set $ws7 "x"
set $ws8 "c"
set $ws9 "v"
set $ws10 "b"
# switch to workspace
bindsym $mod+a workspace $ws1
bindsym $mod+s workspace $ws2
bindsym $mod+d workspace $ws3
bindsym $mod+f workspace $ws4
bindsym $mod+g workspace $ws5
bindsym $mod+z workspace $ws6
bindsym $mod+x workspace $ws7
bindsym $mod+c workspace $ws8
bindsym $mod+v workspace $ws9
bindsym $mod+b workspace $ws10
# move focused container to workspace
bindsym $mod+Shift+a move container to workspace $ws1
bindsym $mod+Shift+s move container to workspace $ws2
bindsym $mod+Shift+d move container to workspace $ws3
bindsym $mod+Shift+f move container to workspace $ws4
bindsym $mod+Shift+g move container to workspace $ws5
bindsym $mod+Shift+z move container to workspace $ws6
bindsym $mod+Shift+x move container to workspace $ws7
bindsym $mod+Shift+c move container to workspace $ws8
bindsym $mod+Shift+v move container to workspace $ws9
bindsym $mod+Shift+b move container to workspace $ws10
bindsym $mod+p move workspace to output right
#
# theme
#
gaps inner 12
default_border pixel 2
# set_from_resource $color0 sway.color0 #000000
# set_from_resource $color1 sway.color1 #000000
# set_from_resource $color8 sway.color8 #000000
# class border backgr. text indicator child_border
client.focused $color8 $color0 $color6 $color0 $color8
client.focused_inactive $color8 $color0 $color6 $color0 $color0
client.unfocused $color0 $color0 $color6 $color0 $color0
client.urgent $color1 $color0 $color6 $color0 $color0
client.placeholder $color1 $color0 $color6 $color0 $color0
client.background $color0
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
# bar {
# status_command i3status
# }
exec_always --no-startup-id $HOME/.config/sway/autostart.sh
exec_always --no-startup-id $HOME/.config/sway/panel.sh
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
input "type:keyboard" {
repeat_rate 45
repeat_delay 300
xkb_layout "eu,il"
xkb_options "grp:alt_shift_toggle"
}
for_window [class="REAPER" title="^(?!.*REAPER).*$"] floating enable
for_window [class="REAPER" title=".*REAPER - .*" instance="REAPER"] floating disable

20
.config/sway/outputs Normal file
View File

@ -0,0 +1,20 @@
# Generated by nwg-displays on 2025-01-25 at 11:05:15. Do not edit manually.
output "HDMI-A-1" {
mode 2560x1080@74.991Hz
pos 1920 0
transform normal
scale 1.0
scale_filter nearest
adaptive_sync off
dpms on
}
output "DP-1" {
mode 1920x1080@60.0Hz
pos 0 0
transform normal
scale 1.0
scale_filter nearest
adaptive_sync off
dpms on
}

6
.config/sway/panel.sh Executable file
View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
pkill waybar
waybar
# polybar-msg cmd quit
# polybar main 2>&1 & disown

0
.config/sway/workspaces Normal file
View File

View File

@ -49,6 +49,9 @@ super + {a,s,d,f,g,z,x,c,v,b}
bspc desktop -f "$d.local" || bspc desktop -s "$d"
# this is running on fish for some reason
super + shift + {a,s,d,f,g,z,x,c,v,b}
bspc node -d {a,s,d,f,g,z,x,c,v,b}
# Monitor
super + m
bspc monitor -f next
@ -86,6 +89,9 @@ super + Return
kitty
super + space
rofi -show drun
super + control + space
rofi -show run
super + grave

View File

@ -10,6 +10,6 @@ XDG_MUSIC_DIR="$HOME/docs/music"
XDG_DESKTOP_DIR="$HOME/"
XDG_TEMPLATES_DIR="$HOME/"
XDG_PUBLICSHARE_DIR="$HOME/"
XDG_DOCUMENTS_DIR="$HOME/"
XDG_DOCUMENTS_DIR="$HOME/.local/share/documents"
XDG_PICTURES_DIR="$HOME/"
XDG_VIDEOS_DIR="$HOME/"

View File

@ -0,0 +1,25 @@
{
"special": {
"background": "#1e2030",
"foreground": "#cad3f5",
"cursor": "#f4dbd6"
},
"colors": {
"color0": "#24273a",
"color1": "#ed8796",
"color2": "#f5a97f",
"color3": "#eed49f",
"color4": "#a6da95",
"color5": "#8bd5ca",
"color6": "#8aadf4",
"color7": "#c6a0f6",
"color8": "#363a4f",
"color9": "#ed8796",
"color10": "#f5a97f",
"color11": "#eed49f",
"color12": "#a6da95",
"color13": "#8bd5ca",
"color14": "#8aadf4",
"color15": "#c6a0f6"
}
}

152
.config/waybar/config.jsonc Normal file
View File

@ -0,0 +1,152 @@
// -*- mode: jsonc -*-
{
// "layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 29, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": [
"sway/workspaces"
// "sway/mode",
// "sway/scratchpad",
// "custom/media"
],
"modules-center": [
// "sway/window"
"clock"
],
"modules-right": [
"mpd",
"custom/separator",
"custom/pipewire-buffer",
"custom/separator",
"pulseaudio",
"custom/separator",
"sway/language",
"custom/separator",
"memory",
"custom/separator",
"cpu"
// "custom/separator",
// "network"
],
"custom/separator": {
"format": "|",
"interval": "once",
"tooltip": false
},
// Modules configuration
// "sway/workspaces": {
// "disable-scroll": true,
// "all-outputs": true,
// "warp-on-scroll": false,
// "format": "{name}: {icon}",
// "format-icons": {
// "1": "",
// "2": "",
// "3": "",
// "4": "",
// "5": "",
// "urgent": "",
// "focused": "",
// "default": ""
// }
// },
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"mpd": {
"format": "{artist} - {title}",
"format-disconnected": "Disconnected ",
"format-paused": "MPD paused",
"unknown-tag": "N/A",
"interval": 5,
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)"
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "CPU {usage}%"
},
"memory": {
"format": "MEM {}%"
},
"custom/pipewire_buffer_size": {
"exec": "~/.config/waybar/pipewire_buffer_size.sh",
"interval": 10,
"on-click": "~/.config/waybar/pipewire_buffer_size.sh click"
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}",
"format-icons": ["", "", ""]
},
"backlight": {
// "device": "acpi_video1",
"format": "{percent}% {icon}",
"format-icons": ["", "", "", "", "", "", "", "", ""]
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{capacity}% {icon}",
"format-full": "{capacity}% {icon}",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%)",
"format-ethernet": "{ipaddr}/{cidr}",
"tooltip-format": "{ifname} via {gwaddr}",
"format-linked": "{ifname} (No IP)",
"format-disconnected": "Disconnected",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "VOL {volume}% {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": "MUTED {icon} {format_source}",
"format-muted": "MUTED {format_source}",
"format-source": "MIC",
"format-source-muted": "MUTED",
"on-click": "pavucontrol"
},
"custom/pipewire-buffer": {
"format": "BUF {}",
"tooltip": false,
"on-click": "$HOME/.config/waybar/pipewire_buffer_size.sh",
"menu-file": "$HOME/.config/waybar/pipewire_buffer_menu.xml",
"menu-actions": {
"buffer_64": "$HOME/.config/waybar/set_pipewire_buffer.sh 64",
"buffer_128": "$HOME/.config/waybar/set_pipewire_buffer.sh 128",
"buffer_256": "$HOME/.config/waybar/set_pipewire_buffer.sh 256",
"buffer_512": "$HOME/.config/waybar/set_pipewire_buffer.sh 512",
"buffer_1024": "$HOME/.config/waybar/set_pipewire_buffer.sh 1024",
"buffer_2048": "$HOME/.config/waybar/set_pipewire_buffer.sh 2048",
"buffer_4096": "$HOME/.config/waybar/set_pipewire_buffer.sh 4096",
"buffer_8192": "$HOME/.config/waybar/set_pipewire_buffer.sh 8192"
},
"exec": "$HOME/.config/waybar/get_pipewire_buffer.sh",
"interval": 10
}
}

View File

@ -0,0 +1,2 @@
#!/bin/bash
pw-metadata -n settings 0 clock.force-quantum | grep -oP "value:'\K[0-9]+"

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkMenu" id="menu">
<child>
<object class="GtkMenuItem" id="suspend">
<property name="label">Suspend</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="hibernate">
<property name="label">Hibernate</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="shutdown">
<property name="label">Shutdown</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
</child>
<child>
<object class="GtkMenuItem" id="reboot">
<property name="label">Reboot</property>
</object>
</child>
</object>
</interface>

View File

@ -0,0 +1,12 @@
#!/bin/bash
BUFFER_SIZES=("64" "128" "256" "512" "1024" "2048" "4096" "8192")
new_buffer_size=$(echo "${BUFFER_SIZES[@]}" | tr ' ' '\n' | wofi --show dmenu)
if [[ -n $new_buffer_size ]]; then
pw-metadata -n settings 0 clock.force-quantum "$new_buffer_size"
current_buffer_size=$new_buffer_size
fi
exit 0

View File

@ -0,0 +1,4 @@
#!/bin/bash
BUFFER_SIZE=$1
pw-metadata -n settings 0 clock.force-quantum $BUFFER_SIZE

55
.config/waybar/style.css Normal file
View File

@ -0,0 +1,55 @@
@import url("../../.cache/wal/colors-waybar.css");
* {
font-family: "mononoki Nerd Font";
font-size: 16;
}
#waybar {
background-color: @background;
color: @foreground;
}
#mpd {
color: @color1;
}
#custom-pipewire-buffer {
color: @color2;
}
#pulseaudio {
color: @color3;
}
#language {
color: @color4;
}
#memory {
color: @color5;
}
#cpu {
color: @color6;
}
#network {
color: @color1;
}
#workspaces button {
color: @foreground;
}
#workspaces button.active {
color: @color4;
}
#workspaces button.visible {
color: @color4;
}
#workspaces button.urgent {
background-color: @color6;
}

View File

@ -1,219 +1,236 @@
// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
//
// THIS FILE WAS AUTOGENERATED BY ZELLIJ, THE PREVIOUS FILE AT THIS LOCATION WAS COPIED TO: /home/trt/.config/zellij/config.kdl.bak
//
keybinds clear-defaults=true {
normal {
// uncomment this and adjust key if using copy_on_select=false
// bind "Alt c" { Copy; }
}
locked {
bind "Alt g" { SwitchToMode "Normal"; }
}
resize {
bind "Alt n" { SwitchToMode "Normal"; }
bind "h" "Left" { Resize "Increase Left"; }
bind "j" "Down" { Resize "Increase Down"; }
bind "k" "Up" { Resize "Increase Up"; }
bind "l" "Right" { Resize "Increase Right"; }
bind "H" { Resize "Decrease Left"; }
bind "J" { Resize "Decrease Down"; }
bind "K" { Resize "Decrease Up"; }
bind "L" { Resize "Decrease Right"; }
bind "=" "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; }
bind "Alt g" { SwitchToMode "normal"; }
}
pane {
bind "Alt p" { SwitchToMode "Normal"; }
bind "h" "Left" { MoveFocus "Left"; }
bind "l" "Right" { MoveFocus "Right"; }
bind "j" "Down" { MoveFocus "Down"; }
bind "k" "Up" { MoveFocus "Up"; }
bind "left" { MoveFocus "left"; }
bind "down" { MoveFocus "down"; }
bind "up" { MoveFocus "up"; }
bind "right" { MoveFocus "right"; }
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
bind "d" { NewPane "down"; SwitchToMode "normal"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; }
bind "j" { MoveFocus "down"; }
bind "k" { MoveFocus "up"; }
bind "l" { MoveFocus "right"; }
bind "n" { NewPane; SwitchToMode "normal"; }
bind "p" { SwitchFocus; }
bind "n" { NewPane; SwitchToMode "Normal"; }
bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
bind "x" { CloseFocus; SwitchToMode "Normal"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
}
move {
bind "Alt h" { SwitchToMode "Normal"; }
bind "n" "Tab" { MovePane; }
bind "p" { MovePaneBackwards; }
bind "h" "Left" { MovePane "Left"; }
bind "j" "Down" { MovePane "Down"; }
bind "k" "Up" { MovePane "Up"; }
bind "l" "Right" { MovePane "Right"; }
bind "Alt p" { SwitchToMode "normal"; }
bind "r" { NewPane "right"; SwitchToMode "normal"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
bind "x" { CloseFocus; SwitchToMode "normal"; }
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
}
tab {
bind "Alt t" { SwitchToMode "Normal"; }
bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
bind "h" "Left" "Up" "k" { GoToPreviousTab; }
bind "l" "Right" "Down" "j" { GoToNextTab; }
bind "n" { NewTab; SwitchToMode "Normal"; }
bind "x" { CloseTab; SwitchToMode "Normal"; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
bind "b" { BreakPane; SwitchToMode "Normal"; }
bind "]" { BreakPaneRight; SwitchToMode "Normal"; }
bind "[" { BreakPaneLeft; SwitchToMode "Normal"; }
bind "1" { GoToTab 1; SwitchToMode "Normal"; }
bind "2" { GoToTab 2; SwitchToMode "Normal"; }
bind "3" { GoToTab 3; SwitchToMode "Normal"; }
bind "4" { GoToTab 4; SwitchToMode "Normal"; }
bind "5" { GoToTab 5; SwitchToMode "Normal"; }
bind "6" { GoToTab 6; SwitchToMode "Normal"; }
bind "7" { GoToTab 7; SwitchToMode "Normal"; }
bind "8" { GoToTab 8; SwitchToMode "Normal"; }
bind "9" { GoToTab 9; SwitchToMode "Normal"; }
bind "Tab" { ToggleTab; }
bind "left" { GoToPreviousTab; }
bind "down" { GoToNextTab; }
bind "up" { GoToPreviousTab; }
bind "right" { GoToNextTab; }
bind "1" { GoToTab 1; SwitchToMode "normal"; }
bind "2" { GoToTab 2; SwitchToMode "normal"; }
bind "3" { GoToTab 3; SwitchToMode "normal"; }
bind "4" { GoToTab 4; SwitchToMode "normal"; }
bind "5" { GoToTab 5; SwitchToMode "normal"; }
bind "6" { GoToTab 6; SwitchToMode "normal"; }
bind "7" { GoToTab 7; SwitchToMode "normal"; }
bind "8" { GoToTab 8; SwitchToMode "normal"; }
bind "9" { GoToTab 9; SwitchToMode "normal"; }
bind "[" { BreakPaneLeft; SwitchToMode "normal"; }
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
bind "b" { BreakPane; SwitchToMode "normal"; }
bind "h" { GoToPreviousTab; }
bind "j" { GoToNextTab; }
bind "k" { GoToPreviousTab; }
bind "l" { GoToNextTab; }
bind "n" { NewTab; SwitchToMode "normal"; }
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
bind "Alt t" { SwitchToMode "normal"; }
bind "x" { CloseTab; SwitchToMode "normal"; }
bind "tab" { ToggleTab; }
}
resize {
bind "left" { Resize "Increase left"; }
bind "down" { Resize "Increase down"; }
bind "up" { Resize "Increase up"; }
bind "right" { Resize "Increase right"; }
bind "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; }
bind "=" { Resize "Increase"; }
bind "H" { Resize "Decrease left"; }
bind "J" { Resize "Decrease down"; }
bind "K" { Resize "Decrease up"; }
bind "L" { Resize "Decrease right"; }
bind "h" { Resize "Increase left"; }
bind "j" { Resize "Increase down"; }
bind "k" { Resize "Increase up"; }
bind "l" { Resize "Increase right"; }
bind "Alt n" { SwitchToMode "normal"; }
}
move {
bind "left" { MovePane "left"; }
bind "down" { MovePane "down"; }
bind "up" { MovePane "up"; }
bind "right" { MovePane "right"; }
bind "h" { MovePane "left"; }
bind "Alt h" { SwitchToMode "normal"; }
bind "j" { MovePane "down"; }
bind "k" { MovePane "up"; }
bind "l" { MovePane "right"; }
bind "n" { MovePane; }
bind "p" { MovePaneBackwards; }
bind "tab" { MovePane; }
}
scroll {
bind "Alt s" { SwitchToMode "Normal"; }
bind "e" { EditScrollback; SwitchToMode "Normal"; }
bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
bind "Alt c" { ScrollToBottom; SwitchToMode "Normal"; }
bind "j" "Down" { ScrollDown; }
bind "k" "Up" { ScrollUp; }
bind "Alt f" "PageDown" "Right" "l" { PageScrollDown; }
bind "Alt b" "PageUp" "Left" "h" { PageScrollUp; }
bind "d" { HalfPageScrollDown; }
bind "u" { HalfPageScrollUp; }
// uncomment this and adjust key if using copy_on_select=false
// bind "Alt c" { Copy; }
bind "e" { EditScrollback; SwitchToMode "normal"; }
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
}
search {
bind "Alt s" { SwitchToMode "Normal"; }
bind "Alt c" { ScrollToBottom; SwitchToMode "Normal"; }
bind "j" "Down" { ScrollDown; }
bind "k" "Up" { ScrollUp; }
bind "Alt f" "PageDown" "Right" "l" { PageScrollDown; }
bind "Alt b" "PageUp" "Left" "h" { PageScrollUp; }
bind "d" { HalfPageScrollDown; }
bind "u" { HalfPageScrollUp; }
bind "n" { Search "down"; }
bind "p" { Search "up"; }
bind "c" { SearchToggleOption "CaseSensitivity"; }
bind "w" { SearchToggleOption "Wrap"; }
bind "n" { Search "down"; }
bind "o" { SearchToggleOption "WholeWord"; }
}
entersearch {
bind "Alt c" "Esc" { SwitchToMode "Scroll"; }
bind "Enter" { SwitchToMode "Search"; }
}
renametab {
bind "Alt c" { SwitchToMode "Normal"; }
bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
}
renamepane {
bind "Alt c" { SwitchToMode "Normal"; }
bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
bind "p" { Search "up"; }
bind "w" { SearchToggleOption "Wrap"; }
}
session {
bind "Alt o" { SwitchToMode "Normal"; }
bind "Alt s" { SwitchToMode "Scroll"; }
bind "d" { Detach; }
bind "Alt o" { SwitchToMode "normal"; }
bind "w" {
LaunchOrFocusPlugin "session-manager" {
floating true
move_to_focused_tab true
};
SwitchToMode "Normal"
}
SwitchToMode "normal"
}
tmux {
bind "[" { SwitchToMode "Scroll"; }
bind "Alt b" { Write 2; SwitchToMode "Normal"; }
bind "\"" { NewPane "Down"; SwitchToMode "Normal"; }
bind "%" { NewPane "Right"; SwitchToMode "Normal"; }
bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
bind "c" { NewTab; SwitchToMode "Normal"; }
bind "," { SwitchToMode "RenameTab"; }
bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
bind "n" { GoToNextTab; SwitchToMode "Normal"; }
bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; }
bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; }
bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; }
bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; }
bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; }
bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; }
bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; }
bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; }
bind "o" { FocusNextPane; }
bind "d" { Detach; }
bind "Space" { NextSwapLayout; }
bind "x" { CloseFocus; SwitchToMode "Normal"; }
}
shared_except "locked" {
bind "Alt g" { SwitchToMode "Locked"; }
bind "Alt q" { Quit; }
bind "Alt n" { NewPane; }
bind "Alt i" { MoveTab "Left"; }
bind "Alt o" { MoveTab "Right"; }
bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
bind "Alt j" "Alt Down" { MoveFocus "Down"; }
bind "Alt k" "Alt Up" { MoveFocus "Up"; }
bind "Alt =" "Alt +" { Resize "Increase"; }
bind "Alt left" { MoveFocusOrTab "left"; }
bind "Alt down" { MoveFocus "down"; }
bind "Alt up" { MoveFocus "up"; }
bind "Alt right" { MoveFocusOrTab "right"; }
bind "Alt +" { Resize "Increase"; }
bind "Alt -" { Resize "Decrease"; }
bind "Alt =" { Resize "Increase"; }
bind "Alt [" { PreviousSwapLayout; }
bind "Alt ]" { NextSwapLayout; }
bind "Alt g" { SwitchToMode "locked"; }
bind "Alt i" { MoveTab "left"; }
bind "Alt j" { MoveFocus "down"; }
bind "Alt k" { MoveFocus "up"; }
bind "Alt l" { MoveFocusOrTab "right"; }
bind "Alt q" { Quit; }
}
shared_except "normal" "locked" {
bind "Enter" "Esc" { SwitchToMode "Normal"; }
shared_except "locked" "move" {
bind "Alt h" { MoveFocusOrTab "left"; }
}
shared_except "pane" "locked" {
bind "Alt p" { SwitchToMode "Pane"; }
shared_except "locked" "session" {
bind "Alt o" { SwitchToMode "session"; }
}
shared_except "resize" "locked" {
bind "Alt n" { SwitchToMode "Resize"; }
shared_except "locked" "scroll" "search" "tmux" {
bind "Alt b" { SwitchToMode "tmux"; }
}
shared_except "scroll" "locked" {
bind "Alt s" { SwitchToMode "Scroll"; }
shared_except "locked" "scroll" "search" {
bind "Alt f" { ToggleFocusFullscreen; }
bind "Alt s" { SwitchToMode "scroll"; }
}
shared_except "session" "locked" {
bind "Alt o" { SwitchToMode "Session"; }
shared_except "locked" "tab" {
bind "Alt t" { SwitchToMode "tab"; }
}
shared_except "tab" "locked" {
bind "Alt t" { SwitchToMode "Tab"; }
shared_except "locked" "pane" {
bind "Alt p" { SwitchToMode "pane"; }
}
// shared_except "move" "locked" {
// bind "Alt h" { SwitchToMode "Move"; }
// }
shared_except "tmux" "locked" {
bind "Alt b" { SwitchToMode "Tmux"; }
shared_except "locked" "resize" {
bind "Alt n" { SwitchToMode "resize"; }
}
shared_except "normal" "locked" "entersearch" {
bind "enter" { SwitchToMode "normal"; }
}
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
bind "esc" { SwitchToMode "normal"; }
}
shared_among "scroll" "search" {
bind "PageDown" { PageScrollDown; }
bind "PageUp" { PageScrollUp; }
bind "left" { PageScrollUp; }
bind "down" { ScrollDown; }
bind "up" { ScrollUp; }
bind "right" { PageScrollDown; }
bind "Alt b" { PageScrollUp; }
bind "Alt c" { ScrollToBottom; SwitchToMode "normal"; }
bind "d" { HalfPageScrollDown; }
bind "Alt f" { PageScrollDown; }
bind "h" { PageScrollUp; }
bind "j" { ScrollDown; }
bind "k" { ScrollUp; }
bind "l" { PageScrollDown; }
bind "Alt s" { SwitchToMode "normal"; }
bind "u" { HalfPageScrollUp; }
}
entersearch {
bind "Alt c" { SwitchToMode "scroll"; }
bind "esc" { SwitchToMode "scroll"; }
bind "enter" { SwitchToMode "search"; }
}
renametab {
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
}
shared_among "renametab" "renamepane" {
bind "Alt c" { SwitchToMode "normal"; }
}
renamepane {
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
}
}
// Plugin aliases - can be used to change the implementation of Zellij
// changing these requires a restart to take effect
plugins {
tab-bar location="zellij:tab-bar"
status-bar location="zellij:status-bar"
strider location="zellij:strider"
about location="zellij:about"
compact-bar location="zellij:compact-bar"
session-manager location="zellij:session-manager"
welcome-screen location="zellij:session-manager" {
welcome_screen true
}
configuration location="zellij:configuration"
filepicker location="zellij:strider" {
cwd "/"
}
plugin-manager location="zellij:plugin-manager"
session-manager location="zellij:session-manager"
status-bar location="zellij:status-bar"
strider location="zellij:strider"
tab-bar location="zellij:tab-bar"
welcome-screen location="zellij:session-manager" {
welcome_screen true
}
}
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// Options:
// - detach (Default)
// - quit
//
// on_force_close "quit"
// Plugins to load in the background when a new session starts
// eg. "file:/path/to/my-plugin.wasm"
// eg. "https://example.com/my-plugin.wasm"
load_plugins {
}
// Send a request for a simplified ui (without arrow fonts) to plugins
// Use a simplified UI without special fonts (arrow glyphs)
// Options:
// - true
// - false (Default)
//
// simplified_ui true
// Choose the theme that is specified in the themes section.
// Default: default
//
// theme "gruvbox-dark"
theme "catppuccin-macchiato"
// Choose the base input mode of zellij.
// Default: normal
//
// default_mode "locked"
// Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL
//
@ -221,75 +238,22 @@ plugins {
// Choose the path to override cwd that zellij will use for opening new panes
//
// default_cwd ""
// Toggle between having pane frames around the panes
// Options:
// - true (default)
// - false
//
// pane_frames true
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
// Options:
// - true (default)
// - false
//
// auto_layout true
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
// Options:
// - true (default)
// - false
//
// session_serialization false
// Whether pane viewports are serialized along with the session, default is false
// Options:
// - true
// - false (default)
// serialize_pane_viewport true
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
//
// scrollback_lines_to_serialize 10000
// Define color themes for Zellij
// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
// Once these themes are defined, one of them should to be selected in the "theme" section of this file
//
// themes {
// dracula {
// fg 248 248 242
// bg 40 42 54
// red 255 85 85
// green 80 250 123
// yellow 241 250 140
// blue 98 114 164
// magenta 255 121 198
// orange 255 184 108
// cyan 139 233 253
// black 0 0 0
// white 255 255 255
// }
// }
// Choose the theme that is specified in the themes section.
// Default: default
//
// theme "default"
// default_cwd "/tmp"
// The name of the default layout to load on startup
// Default: "default"
//
// default_layout "compact"
// Choose the mode that zellij uses when starting up.
// Default: normal
// The folder in which Zellij will look for layouts
// (Requires restart)
//
// default_mode "locked"
// layout_dir "/tmp"
// The folder in which Zellij will look for themes
// (Requires restart)
//
// theme_dir "/tmp"
// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
@ -300,9 +264,34 @@ plugins {
//
// mouse_mode false
// Toggle having pane frames around the panes
// Options:
// - true (default, enabled)
// - false
//
// pane_frames false
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// (Requires restart)
// Default: false
//
// mirror_session true
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// (Requires restart)
// Options:
// - detach (Default)
// - quit
//
// on_force_close "quit"
// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// (Requires restart)
// Valid values: positive integers
// Default value: 10000
//
@ -317,6 +306,8 @@ plugins {
// copy_command "xclip -selection clipboard" // x11
// copy_command "wl-copy" // wayland
// copy_command "pbcopy" // osx
//
// copy_command "pbcopy"
// Choose the destination for copied text
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
@ -327,39 +318,90 @@ plugins {
//
// copy_clipboard "primary"
// Enable or disable automatic copy (and clear) of selection when releasing mouse
// Enable automatic copying (and clearing) of selection when releasing mouse
// Default: true
//
// copy_on_select false
// copy_on_select true
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
//
// scrollback_editor "/usr/bin/vim"
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// A fixed name to always give the Zellij session.
// Consider also setting `attach_to_session true,`
// otherwise this will error if such a session exists.
// Default: <RANDOM>
//
// session_name "My singleton session"
// When `session_name` is provided, attaches to that session
// if it is already running or creates it otherwise.
// Default: false
//
// mirror_session true
// attach_to_session true
// The folder in which Zellij will look for layouts
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
// Options:
// - true (default)
// - false
//
// layout_dir "/path/to/my/layout_dir"
// auto_layout false
// The folder in which Zellij will look for themes
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
// Options:
// - true (default)
// - false
//
// theme_dir "/path/to/my/theme_dir"
// session_serialization false
// Whether pane viewports are serialized along with the session, default is false
// Options:
// - true
// - false (default)
//
// serialize_pane_viewport false
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
//
// scrollback_lines_to_serialize 10000
// Enable or disable the rendering of styled and colored underlines (undercurl).
// May need to be disabled for certain unsupported terminals
// (Requires restart)
// Default: true
//
// styled_underlines false
// How often in seconds sessions are serialized
//
// serialization_interval 10000
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
// metadata info on this session)
// (Requires restart)
// Default: false
//
// disable_session_metadata true
// disable_session_metadata false
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
// (Requires restart)
// Default: true (if the host terminal supports it)
//
// support_kitty_keyboard_protocol false
// Whether to stack panes when resizing beyond a certain size
// Default: true
//
// stacked_resize false
// Whether to show tips on startup
// Default: true
//
show_startup_tips false
// Whether to show release notes on first version run
// Default: true
//
// show_release_notes false

View File

@ -0,0 +1,344 @@
// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
keybinds clear-defaults=true {
normal {
// uncomment this and adjust key if using copy_on_select=false
// bind "Alt c" { Copy; }
}
locked {
bind "Alt g" { SwitchToMode "Normal"; }
}
resize {
bind "Alt n" { SwitchToMode "Normal"; }
bind "h" "Left" { Resize "Increase Left"; }
bind "j" "Down" { Resize "Increase Down"; }
bind "k" "Up" { Resize "Increase Up"; }
bind "l" "Right" { Resize "Increase Right"; }
bind "H" { Resize "Decrease Left"; }
bind "J" { Resize "Decrease Down"; }
bind "K" { Resize "Decrease Up"; }
bind "L" { Resize "Decrease Right"; }
bind "=" "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; }
}
pane {
bind "Alt p" { SwitchToMode "Normal"; }
bind "h" "Left" { MoveFocus "Left"; }
bind "l" "Right" { MoveFocus "Right"; }
bind "j" "Down" { MoveFocus "Down"; }
bind "k" "Up" { MoveFocus "Up"; }
bind "p" { SwitchFocus; }
bind "n" { NewPane; SwitchToMode "Normal"; }
bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
bind "x" { CloseFocus; SwitchToMode "Normal"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
}
move {
bind "Alt h" { SwitchToMode "Normal"; }
bind "n" "Tab" { MovePane; }
bind "p" { MovePaneBackwards; }
bind "h" "Left" { MovePane "Left"; }
bind "j" "Down" { MovePane "Down"; }
bind "k" "Up" { MovePane "Up"; }
bind "l" "Right" { MovePane "Right"; }
}
tab {
bind "Alt t" { SwitchToMode "Normal"; }
bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
bind "h" "Left" "Up" "k" { GoToPreviousTab; }
bind "l" "Right" "Down" "j" { GoToNextTab; }
bind "n" { NewTab; SwitchToMode "Normal"; }
bind "x" { CloseTab; SwitchToMode "Normal"; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
bind "b" { BreakPane; SwitchToMode "Normal"; }
bind "]" { BreakPaneRight; SwitchToMode "Normal"; }
bind "[" { BreakPaneLeft; SwitchToMode "Normal"; }
bind "1" { GoToTab 1; SwitchToMode "Normal"; }
bind "2" { GoToTab 2; SwitchToMode "Normal"; }
bind "3" { GoToTab 3; SwitchToMode "Normal"; }
bind "4" { GoToTab 4; SwitchToMode "Normal"; }
bind "5" { GoToTab 5; SwitchToMode "Normal"; }
bind "6" { GoToTab 6; SwitchToMode "Normal"; }
bind "7" { GoToTab 7; SwitchToMode "Normal"; }
bind "8" { GoToTab 8; SwitchToMode "Normal"; }
bind "9" { GoToTab 9; SwitchToMode "Normal"; }
bind "Tab" { ToggleTab; }
}
scroll {
bind "Alt s" { SwitchToMode "Normal"; }
bind "e" { EditScrollback; SwitchToMode "Normal"; }
bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
bind "Alt c" { ScrollToBottom; SwitchToMode "Normal"; }
bind "j" "Down" { ScrollDown; }
bind "k" "Up" { ScrollUp; }
bind "Alt f" "PageDown" "Right" "l" { PageScrollDown; }
bind "Alt b" "PageUp" "Left" "h" { PageScrollUp; }
bind "d" { HalfPageScrollDown; }
bind "u" { HalfPageScrollUp; }
// uncomment this and adjust key if using copy_on_select=false
// bind "Alt c" { Copy; }
}
search {
bind "Alt s" { SwitchToMode "Normal"; }
bind "Alt c" { ScrollToBottom; SwitchToMode "Normal"; }
bind "j" "Down" { ScrollDown; }
bind "k" "Up" { ScrollUp; }
bind "Alt f" "PageDown" "Right" "l" { PageScrollDown; }
bind "Alt b" "PageUp" "Left" "h" { PageScrollUp; }
bind "d" { HalfPageScrollDown; }
bind "u" { HalfPageScrollUp; }
bind "n" { Search "down"; }
bind "p" { Search "up"; }
bind "c" { SearchToggleOption "CaseSensitivity"; }
bind "w" { SearchToggleOption "Wrap"; }
bind "o" { SearchToggleOption "WholeWord"; }
}
entersearch {
bind "Alt c" "Esc" { SwitchToMode "Scroll"; }
bind "Enter" { SwitchToMode "Search"; }
}
renametab {
bind "Alt c" { SwitchToMode "Normal"; }
bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
}
renamepane {
bind "Alt c" { SwitchToMode "Normal"; }
bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
}
session {
bind "Alt o" { SwitchToMode "Normal"; }
bind "Alt s" { SwitchToMode "Scroll"; }
bind "d" { Detach; }
bind "w" {
LaunchOrFocusPlugin "session-manager" {
floating true
move_to_focused_tab true
};
SwitchToMode "Normal"
}
}
shared_except "locked" {
bind "Alt g" { SwitchToMode "Locked"; }
bind "Alt q" { Quit; }
bind "Alt n" { NewPane; }
bind "Alt i" { MoveTab "Left"; }
bind "Alt o" { MoveTab "Right"; }
bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
bind "Alt j" "Alt Down" { MoveFocus "Down"; }
bind "Alt k" "Alt Up" { MoveFocus "Up"; }
bind "Alt =" "Alt +" { Resize "Increase"; }
bind "Alt -" { Resize "Decrease"; }
bind "Alt [" { PreviousSwapLayout; }
bind "Alt ]" { NextSwapLayout; }
bind "Alt f" { ToggleFocusFullscreen; }
}
shared_except "normal" "locked" {
bind "Enter" "Esc" { SwitchToMode "Normal"; }
}
shared_except "pane" "locked" {
bind "Alt p" { SwitchToMode "Pane"; }
}
shared_except "resize" "locked" {
bind "Alt n" { SwitchToMode "Resize"; }
}
shared_except "scroll" "locked" {
bind "Alt s" { SwitchToMode "Scroll"; }
}
shared_except "session" "locked" {
bind "Alt o" { SwitchToMode "Session"; }
}
shared_except "tab" "locked" {
bind "Alt t" { SwitchToMode "Tab"; }
}
// shared_except "move" "locked" {
// bind "Alt h" { SwitchToMode "Move"; }
// }
shared_except "tmux" "locked" {
bind "Alt b" { SwitchToMode "Tmux"; }
}
}
plugins {
tab-bar location="zellij:tab-bar"
status-bar location="zellij:status-bar"
strider location="zellij:strider"
compact-bar location="zellij:compact-bar"
session-manager location="zellij:session-manager"
welcome-screen location="zellij:session-manager" {
welcome_screen true
}
filepicker location="zellij:strider" {
cwd "/"
}
}
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// Options:
// - detach (Default)
// - quit
//
// on_force_close "quit"
// Send a request for a simplified ui (without arrow fonts) to plugins
// Options:
// - true
// - false (Default)
//
// simplified_ui true
// Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL
//
// default_shell "fish"
// Choose the path to override cwd that zellij will use for opening new panes
//
// default_cwd ""
// Toggle between having pane frames around the panes
// Options:
// - true (default)
// - false
//
// pane_frames true
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
// Options:
// - true (default)
// - false
//
// auto_layout true
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
// Options:
// - true (default)
// - false
//
// session_serialization false
// Whether pane viewports are serialized along with the session, default is false
// Options:
// - true
// - false (default)
// serialize_pane_viewport true
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
//
// scrollback_lines_to_serialize 10000
// Define color themes for Zellij
// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
// Once these themes are defined, one of them should to be selected in the "theme" section of this file
//
// themes {
// dracula {
// fg 248 248 242
// bg 40 42 54
// red 255 85 85
// green 80 250 123
// yellow 241 250 140
// blue 98 114 164
// magenta 255 121 198
// orange 255 184 108
// cyan 139 233 253
// black 0 0 0
// white 255 255 255
// }
// }
// Choose the theme that is specified in the themes section.
// Default: default
//
// theme "catppuccin-macchiato"
theme "gruvbox-dark"
// The name of the default layout to load on startup
// Default: "default"
//
// default_layout "compact"
// Choose the mode that zellij uses when starting up.
// Default: normal
//
// default_mode "locked"
// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
// potentially interfere with copying text.
// Options:
// - true (default)
// - false
//
// mouse_mode false
// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// Valid values: positive integers
// Default value: 10000
//
// scroll_buffer_size 10000
// Provide a command to execute when copying text. The text will be piped to
// the stdin of the program to perform the copy. This can be used with
// terminal emulators which do not support the OSC 52 ANSI control sequence
// that will be used by default if this option is not set.
// Examples:
//
// copy_command "xclip -selection clipboard" // x11
// copy_command "wl-copy" // wayland
// copy_command "pbcopy" // osx
// Choose the destination for copied text
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
// Does not apply when using copy_command.
// Options:
// - system (default)
// - primary
//
// copy_clipboard "primary"
// Enable or disable automatic copy (and clear) of selection when releasing mouse
// Default: true
//
// copy_on_select false
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
//
// scrollback_editor "/usr/bin/vim"
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// Default: false
//
// mirror_session true
// The folder in which Zellij will look for layouts
//
// layout_dir "/path/to/my/layout_dir"
// The folder in which Zellij will look for themes
//
// theme_dir "/path/to/my/theme_dir"
// Enable or disable the rendering of styled and colored underlines (undercurl).
// May need to be disabled for certain unsupported terminals
// Default: true
//
// styled_underlines false
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
// metadata info on this session)
// Default: false
//
// disable_session_metadata true

View File

@ -0,0 +1,6 @@
layout {
pane command="nvim" size="80%"
pane split_direction="vertical" {
pane size="20%"
}
}

View File

@ -0,0 +1,57 @@
themes {
catppuccin-latte {
bg "#acb0be" // Surface2
fg "#4c4f69" // Text
red "#d20f39"
green "#40a02b"
blue "#1e66f5"
yellow "#df8e1d"
magenta "#ea76cb" // Pink
orange "#fe640b" // Peach
cyan "#04a5e5" // Sky
black "#e6e9ef" // Mantle
white "#4c4f69" // Text
}
catppuccin-frappe {
bg "#626880" // Surface2
fg "#c6d0f5" // Text
red "#e78284"
green "#a6d189"
blue "#8caaee"
yellow "#e5c890"
magenta "#f4b8e4" // Pink
orange "#ef9f76" // Peach
cyan "#99d1db" // Sky
black "#292c3c" // Mantle
white "#c6d0f5" // Text
}
catppuccin-macchiato {
bg "#5b6078" // Surface2
fg "#cad3f5" // Text
red "#ed8796"
green "#a6da95"
blue "#8aadf4"
yellow "#eed49f"
magenta "#f5bde6" // Pink
orange "#f5a97f" // Peach
cyan "#91d7e3" // Sky
black "#1e2030" // Mantle
white "#cad3f5" // Text
}
catppuccin-mocha {
bg "#585b70" // Surface2
fg "#cdd6f4" // Text
red "#f38ba8"
green "#a6e3a1"
blue "#89b4fa"
yellow "#f9e2af"
magenta "#f5c2e7" // Pink
orange "#fab387" // Peach
cyan "#89dceb" // Sky
black "#181825" // Mantle
white "#cdd6f4" // Text
}
}