Compare commits

..

52 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
cf824134f2 bspwm: update config to feel exactly like herbstluftwm 2024-11-08 13:57:05 +02:00
c28f82f6cf i3: make config more similar to herbstluft one 2024-11-08 11:56:55 +02:00
78bbc87a9a polybar: change date format to day-month-year 2024-11-08 11:56:13 +02:00
f355989ee5 i3: picom on startup 2024-11-08 11:55:10 +02:00
beceda2bfd herbstluftwm: back to firefox 2024-11-08 11:54:51 +02:00
41f2212d4e gtk: switch to everforest 2024-11-08 11:54:35 +02:00
e6522b7a0f fish: pikaur -> paru 2024-11-08 11:54:16 +02:00
e4ffb81e35 wal: update everforest theme 2024-11-08 11:53:47 +02:00
245d410f48 meta: add file 2024-11-02 19:26:20 +02:00
3f3ea931d8 wal: add everforest theme 2024-10-26 11:45:11 +03:00
c8c7352437 nvim: update which-key to match spec 2024-10-12 18:32:58 +03:00
9db6d0de25 nvim: updates + treesitter context 2024-09-23 20:22:08 +03:00
f1639f1775 zellij: fix movement keybind 2024-08-10 10:54:21 +03:00
65023e6fe1 bspwm: add workspace bindings 2024-08-10 10:50:26 +03:00
e71c317999 zellij: add zellij 2024-08-10 10:50:03 +03:00
e6a8c11193 qtile: add autostart 2024-08-03 17:50:23 +03:00
4725ea90f7 bspwm: add 2024-08-03 17:50:11 +03:00
c321a599e4 qtile: update config to match awesome 2024-08-03 17:49:08 +03:00
7a01bda031 herbstluftwm: minor changes in config as i go back to using it :D 2024-08-03 17:48:22 +03:00
d045f8dde4 user dirs update 2024-07-27 15:57:30 +03:00
90e743aceb fzfsample: add midi file support 2024-07-27 15:57:11 +03:00
60 changed files with 1940 additions and 320 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 xsetwacom set "Wacom One by Wacom S Pen stylus" Rotate half
xset r rate 300 50 xset r rate 300 50
exec herbstluftwm exec herbstluftwm
# qtile start
# exec gnome-session # exec gnome-session
# exec xfce4-session
# exec awesome # exec awesome
# exec bspwm # exec bspwm
# exec i3 # exec i3

37
.config/bspwm/bspwmrc Executable file
View File

@ -0,0 +1,37 @@
#!/usr/bin/env sh
# Load colors from wal
[ -f "${HOME}/.cache/wal/colors.sh" ] && . "${HOME}/.cache/wal/colors.sh"
bspc config focus_follows_pointer true
# Set bspwm settings
bspc monitor -d a s d f g z x c v b
bspc config border_width 2
bspc config window_gap 12
bspc config split_ratio 0.5
bspc config border_color_normal $color0
bspc config border_color_focus $color8
bspc config border_color_urgent $color1
# Set bspwm rules
bspc rule -a "Cadence" floating=on
bspc rule -a "Lxpolkit" floating=on
bspc rule -a "Dragon-drag-and-drop" floating=on
bspc rule -a "dialog" floating=on
bspc rule -a "notification" manage=off
bspc rule -a "dock" manage=off
bspc rule -a "desktop" manage=off
# Startup applications
sxhkd &
# dunst &
mpd &
flameshot &
lxpolkit &
picom --experimental-backends &
wal -R
~/.fehbg
# Panel
${HOME}/.config/bspwm/panel

4
.config/bspwm/panel Executable file
View File

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

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_DATA_HOME "$HOME/.local/share"
set -Ux XDG_CACHE_HOME "$HOME/.cache" 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 # wine prefix
set -Ux WINEPREFIX "$XDG_DATA_HOME/wine/" # set -Ux WINEPREFIX "$XDG_DATA_HOME/wine/"
# kvantum # kvantum
set -Ux QT_STYLE_OVERRIDE kvantum set -Ux QT_QPA_PLATFORMTHEME qt5ct
# use nvim for stuff # use nvim for stuff
set -Ux EDITOR nvim set -Ux EDITOR nvim
@ -48,4 +29,7 @@ set -Ux MANPAGER nvimpager
# zoxide # zoxide
set -Ux _ZO_MAXAGE 100000 set -Ux _ZO_MAXAGE 100000
# kubectl
set -Ux KUBECONFIG ~/.kube/config
starship init fish | source 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

@ -0,0 +1,20 @@
function fish_prompt --description 'Informative prompt'
#Save the return status of the previous command
set -l last_pipestatus $pipestatus
set -lx __fish_last_status $status # Export for __fish_print_pipestatus.
if functions -q fish_is_root_user; and fish_is_root_user
printf '%s@%s %s%s%s# ' $USER (prompt_hostname) (set -q fish_color_cwd_root
and set_color $fish_color_cwd_root
or set_color $fish_color_cwd) \
(prompt_pwd) (set_color normal)
else
set -l status_color (set_color $fish_color_status)
set -l statusb_color (set_color --bold $fish_color_status)
set -l pipestatus_string (__fish_print_pipestatus "[" "]" "|" "$status_color" "$statusb_color" $last_pipestatus)
printf '[%s] %s%s@%s %s%s %s%s%s \n> ' (date "+%H:%M:%S") (set_color brblue) \
$USER (prompt_hostname) (set_color $fish_color_cwd) $PWD $pipestatus_string \
(set_color normal)
end
end

View File

@ -1,4 +1,4 @@
function p --wraps=pikaur --description 'alias p pikaur' function p --wraps=pikaur --description 'alias p pikaur'
pikaur $argv paru $argv
end end

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,4 +1,4 @@
function yeet --wraps='pikaur -Rsn' --description 'alias yeet=pikaur -Rsn' function yeet --wraps='pikaur -Rsn' --description 'alias yeet=pikaur -Rsn'
pikaur -Rsn $argv paru -Rsn $argv
end end

View File

@ -1,17 +1,17 @@
[Settings] [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-name=Adwaita
gtk-cursor-theme-size=24 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=wal
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ 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-antialias=1
gtk-xft-hinting=1 gtk-xft-hinting=1
gtk-xft-hintstyle=hintmedium gtk-xft-hintstyle=hintslight
gtk-font-name=Cantarell 11 gtk-xft-rgba=rgb
gtk-xft-rgba=none gtk-application-prefer-dark-theme=1
gtk-modules=canberra-gtk-module

View File

@ -47,7 +47,7 @@ screen_locker="i3lock -c 000000"
# basics # basics
hc keybind "$M-w" close_and_remove hc keybind "$M-w" close_and_remove
hc keybind "$M-e" close hc keybind "$M-e" close
hc keybind "$M-t" reload hc keybind "$M-$C-r" reload
hc keybind "$M-q" spawn exitmenu hc keybind "$M-q" spawn exitmenu
# focus # focus
@ -195,7 +195,7 @@ hc rule windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)' manage=off
hc rule class=Cadence floating=on hc rule class=Cadence floating=on
hc rule class=Lxpolkit floating=on hc rule class=Lxpolkit floating=on
hc rule class=Dragon-drag-and-drop floating=on hc rule class=Dragon-drop floating=on
# #
# settings # settings
@ -215,7 +215,7 @@ hc detect_monitors
# "$panel" "$monitor" & # "$panel" "$monitor" &
# done # done
pidof dunst || dunst & # pidof dunst || dunst &
pidof mpd || mpd & pidof mpd || mpd &
pidof flameshot || flameshot & pidof flameshot || flameshot &
pidof lxpolkit || lxpolkit & pidof lxpolkit || lxpolkit &

View File

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

View File

@ -1,13 +1,12 @@
set $mod Mod4 set $mod Mod4
set $terminal kitty set $terminal kitty
set $browser brave set $browser firefox
set $calculator "rofi -show calc" set $calculator "rofi -show calc"
set $calendar "$terminal -e nvim +Agenda" set $calendar "$terminal -e nvim +Agenda"
set $feed_reader "$terminal -e newsboat" set $feed_reader "$terminal -e newsboat"
set $file_manager thunar set $file_manager thunar
set $launcher "rofi -show run" set $music_player "kitty -e rmpc"
set $music_player "$terminal -e ncmpcpp"
set $screen_locker "i3lock -c 000000" set $screen_locker "i3lock -c 000000"
@ -41,7 +40,7 @@ tiling_drag modifier titlebar
# basics # basics
bindsym $mod+w kill bindsym $mod+w kill
bindsym $mod+t reload bindsym $mod+r reload
# focus # focus
bindsym $mod+h focus left bindsym $mod+h focus left
@ -66,9 +65,9 @@ bindsym $mod+Control+k resize grow up 2 px or 2 ppt
bindsym $mod+Control+l resize grow right 2 px or 2 ppt bindsym $mod+Control+l resize grow right 2 px or 2 ppt
# cycle layouts # cycle layouts
# bindsym $mod+s layout stacking bindsym $mod+Control+e layout stacking
# bindsym $mod+w layout tabbed bindsym $mod+Control+r layout tabbed
# bindsym $mod+e layout toggle split bindsym $mod+Control+t layout toggle split
# window attributes # window attributes
bindsym $mod+Control+w fullscreen toggle bindsym $mod+Control+w fullscreen toggle
@ -79,7 +78,8 @@ bindsym $mod+Control+q floating toggle
# #
bindsym $mod+Return exec $terminal 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+grave exec flameshot gui
bindsym $mod+1 exec $file_manager bindsym $mod+1 exec $file_manager
@ -136,6 +136,8 @@ bindsym $mod+Shift+c move container to workspace $ws8
bindsym $mod+Shift+v move container to workspace $ws9 bindsym $mod+Shift+v move container to workspace $ws9
bindsym $mod+Shift+b move container to workspace $ws10 bindsym $mod+Shift+b move container to workspace $ws10
bindsym $mod+p move workspace to output right
# #
# theme # theme
# #
@ -149,11 +151,11 @@ set_from_resource $color1 i3wm.color1 #000000
set_from_resource $color8 i3wm.color8 #000000 set_from_resource $color8 i3wm.color8 #000000
# class border backgr. text indicator child_border # class border backgr. text indicator child_border
client.focused $color8 $color0 $color0 $color0 $color8 client.focused $color8 $color0 $color6 $color0 $color8
client.focused_inactive $color8 $color0 $color0 $color0 $color0 client.focused_inactive $color8 $color0 $color6 $color0 $color0
client.unfocused $color0 $color0 $color0 $color0 $color0 client.unfocused $color0 $color0 $color6 $color0 $color0
client.urgent $color1 $color0 $color0 $color0 $color0 client.urgent $color1 $color0 $color6 $color0 $color0
client.placeholder $color1 $color0 $color0 $color0 $color0 client.placeholder $color1 $color0 $color6 $color0 $color0
client.background $color0 client.background $color0

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,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" }, "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" }, "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" }, "bufresize.nvim": { "branch": "master", "commit": "3b19527ab936d6910484dcc20fb59bdb12322d8b" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "catppuccin": { "branch": "main", "commit": "234fc048de931a0e42ebcad675bf6559d75e23df" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" }, "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
"cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"dressing.nvim": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" }, "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
"formatter.nvim": { "branch": "master", "commit": "ad246d34ce7a32f752071ed81b09b94e6b127fad" }, "formatter.nvim": { "branch": "master", "commit": "b9d7f853da1197b83b8edb4cc4952f7ad3a42e41" },
"friendly-snippets": { "branch": "main", "commit": "682157939e57bd6a2c86277dfd4d6fbfce63dbac" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"gitlab.nvim": { "branch": "main", "commit": "dc70c978103e9960ab39feceb67d2f724b12d0c3" }, "gitlab.nvim": { "branch": "main", "commit": "e29909cd1064a7b53c3150bff49449a548dadf8d" },
"gitsigns.nvim": { "branch": "main", "commit": "39b5b6f48bde0595ce68007ffce408c5d7ac1f79" }, "gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" },
"indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" }, "gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
"lazy.nvim": { "branch": "main", "commit": "d901d2166fef0304e360316e7a04316f11ab62d0" }, "image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" },
"lspkind.nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" }, "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
"mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, "lspkind.nvim": { "branch": "master", "commit": "3ddd1b4edefa425fda5a9f95a4f25578727c0bb3" },
"maximize.nvim": { "branch": "master", "commit": "02588e7b20df1a0692aa96f83cc4670199f74d71" }, "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" }, "mbc-colorscheme.nvim": { "branch": "main", "commit": "02c404d2a58acf527a0de600678c612335cc8416" },
"mini.bracketed": { "branch": "main", "commit": "abbaf7711dffabf7db180c6d61deb4a321b2a2cd" }, "mini.bracketed": { "branch": "main", "commit": "e50e3abcf6a3a5d234f58e4a247dfb3035f30a65" },
"neogen": { "branch": "main", "commit": "6de0add4805165317ab7d3d36b5cef48b1b865f3" }, "mini.icons": { "branch": "main", "commit": "ff2e4f1d29f659cc2bad0f9256f2f6195c6b2428" },
"neogit": { "branch": "master", "commit": "a20031fb5d7d12148764764059243135085e5c9b" }, "neogen": { "branch": "main", "commit": "d7f9461727751fb07f82011051338a9aba07581d" },
"neotest": { "branch": "master", "commit": "26ed90509c377d10dbdebd25b7094a886323b32b" }, "neogit": { "branch": "master", "commit": "d2a2ae4415872fbddb2441920ab109ee52fd4916" },
"neotest-python": { "branch": "master", "commit": "2e83d2bc00acbcc1fd529dbf0a0e677cabfe6b50" }, "neotest": { "branch": "master", "commit": "deadfb1af5ce458742671ad3a013acb9a6b41178" },
"nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, "neotest-python": { "branch": "master", "commit": "b0d3a861bd85689d8ed73f0590c47963a7eb1bf9" },
"nvim-autopairs": { "branch": "master", "commit": "c15de7e7981f1111642e7e53799e1211d4606cb9" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-bqf": { "branch": "main", "commit": "1b24dc6050c34e8cd377b6b4cd6abe40509e0187" }, "nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" },
"nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, "nvim-bqf": { "branch": "main", "commit": "a77b17e39b1b707b6feee86a36c83703c1534c08" },
"nvim-cmp": { "branch": "main", "commit": "106c4bcc053a5da783bf4a9d907b6f22485c2ea0" },
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
"nvim-dap": { "branch": "master", "commit": "6f79b822997f2e8a789c6034e147d42bc6706770" }, "nvim-dap": { "branch": "master", "commit": "e97dc47e134ffb33da008658fecfae8f8547c528" },
"nvim-dap-go": { "branch": "main", "commit": "3999f0744e80d2dba5775189fc7c7a5e9846053e" }, "nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" },
"nvim-dap-python": { "branch": "master", "commit": "d777c2b32ed39f61209c09bede28d7491621a631" }, "nvim-dap-python": { "branch": "master", "commit": "64652d1ae1db80870d9aac7132d76e37acd86a26" },
"nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" }, "nvim-lint": { "branch": "master", "commit": "8b349e822a36e9480aed96c6dd2f757f80524a35" },
"nvim-lspconfig": { "branch": "master", "commit": "cf97d2485fc3f6d4df1b79a3ea183e24c272215e" }, "nvim-lspconfig": { "branch": "master", "commit": "2010fc6ec03e2da552b4886fceb2f7bc0fc2e9c0" },
"nvim-surround": { "branch": "main", "commit": "ec2dc7671067e0086cdf29c2f5df2dd909d5f71f" }, "nvim-surround": { "branch": "main", "commit": "fcfa7e02323d57bfacc3a141f8a74498e1522064" },
"nvim-tree.lua": { "branch": "master", "commit": "2086e564c4d23fea714e8a6d63b881e551af2f41" }, "nvim-tree.lua": { "branch": "master", "commit": "321bc61580fd066b76861c32de3319c3a6d089e7" },
"nvim-treesitter": { "branch": "master", "commit": "a8c082b4f5b3b70bde2ffb08cc112dfd7e515fb3" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, "nvim-treesitter-context": { "branch": "master", "commit": "ec308c7827b5f8cb2dd0ad303a059c945dd21969" },
"nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" },
"obsidian.nvim": { "branch": "main", "commit": "f0bc495b4a3852a83b48636e9f564586f5e2d29e" }, "nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
"refactoring.nvim": { "branch": "master", "commit": "d07218748c48e756c27aa6859bfa6e62a3d271af" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"refactoring.nvim": { "branch": "master", "commit": "6784b54587e6d8a6b9ea199318512170ffb9e418" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"term-edit.nvim": { "branch": "master", "commit": "32e802c6ea08304db6cbbf44e6ca9805b8c2ad51" }, "term-edit.nvim": { "branch": "master", "commit": "29c4584c2cef44a3fdcc55860957d081b892a569" },
"toggleterm.nvim": { "branch": "main", "commit": "cd55bf6aab3f88c259fa29ea86bbdcb1a325687d" }, "toggleterm.nvim": { "branch": "main", "commit": "9a88eae817ef395952e08650b3283726786fb5fb" },
"trouble.nvim": { "branch": "main", "commit": "e32c194558ebeb433ccfd580a34c66770bc102bd" }, "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
"vim-vsnip": { "branch": "master", "commit": "02a8e79295c9733434aab4e0e2b8c4b7cea9f3a9" },
"wal-colors.nvim": { "branch": "main", "commit": "f0f052ae2dd5054200b98ff308c864579c2983ea" }, "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>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>an", "<cmd>NoNeckPain<CR>", { desc = "No Neck Pain" })
vim.keymap.set("n", "<leader>ag", "<cmd>Neogit<CR>", { desc = "Neogit" }) 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() vim.keymap.set("n", "<leader>am", function()
require("maximize").toggle() require("maximize").toggle()
end, { desc = "Maximize" }) 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>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>gs", "<cmd>LspRestart<CR>", { desc = "Restart LSP" })
vim.keymap.set("n", "<leader>gf", "<cmd>Format<CR>", { desc = "Format" }) 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.keymap.set("n", "<leader>ga", function()
vim.lsp.buf.code_action() vim.lsp.buf.code_action()
end, { desc = "Code Actions" }) 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", { vim.api.nvim_create_autocmd("TextYankPost", {
pattern = "*", pattern = "*",
callback = function() 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, 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, end,
dependencies = { dependencies = {
"hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-vsnip",
"hrsh7th/cmp-buffer", "hrsh7th/cmp-buffer",
"hrsh7th/cmp-path", "hrsh7th/cmp-path",
"hrsh7th/cmp-nvim-lsp-signature-help", "hrsh7th/cmp-nvim-lsp-signature-help",
"saadparwaiz1/cmp_luasnip",
"onsails/lspkind.nvim", "onsails/lspkind.nvim",
}, },
opts = function() opts = function()
@ -16,12 +16,13 @@ return {
local cmp = require("cmp") local cmp = require("cmp")
local neogen = require("neogen") local neogen = require("neogen")
local luasnip = require("luasnip")
local lspkind = require("lspkind") local lspkind = require("lspkind")
cmp.setup({ cmp.setup({
snippet = { snippet = {
expand = function(args) expand = function(args)
vim.fn["vsnip#anonymous"](args.body) luasnip.lsp_expand(args.body)
end, end,
}, },
mapping = { mapping = {
@ -35,34 +36,36 @@ return {
behavior = cmp.ConfirmBehavior.Replace, behavior = cmp.ConfirmBehavior.Replace,
select = false, select = false,
}), }),
["<tab>"] = cmp.mapping(function(fallback) ["<Tab>"] = cmp.mapping(function(fallback)
if neogen.jumpable() then if cmp.visible() then
cmp.select_next_item()
elseif luasnip.locally_jumpable(1) then
luasnip.jump(1)
elseif neogen.jumpable() then
neogen.jump_next() neogen.jump_next()
else else
fallback() fallback()
end end
end, { end, { "i", "s" }),
"i",
"s", ["<S-Tab>"] = cmp.mapping(function(fallback)
}), if cmp.visible() then
["<S-tab>"] = cmp.mapping(function(fallback) cmp.select_prev_item()
if neogen.jumpable(true) then elseif luasnip.locally_jumpable(-1) then
luasnip.jump(-1)
elseif neogen.jumpable() then
neogen.jump_prev() neogen.jump_prev()
else else
fallback() fallback()
end end
end, { end, { "i", "s" }),
"i",
"s",
}),
}, },
sources = { sources = {
{ name = "nvim_lsp" }, { name = "nvim_lsp" },
{ name = "nvim_lsp_signature_help" }, { name = "nvim_lsp_signature_help" },
{ name = "path" }, { name = "path" },
{ name = "buffer", keyword_length = 5 }, { name = "buffer", keyword_length = 5 },
{ name = "vsnip" }, { name = "luasnip" },
{ name = "orgmode" },
}, },
formatting = { formatting = {
format = lspkind.cmp_format({ format = lspkind.cmp_format({

View File

@ -11,7 +11,7 @@ return {
}, },
go = { go = {
require("formatter.filetypes.go").gofumpt, require("formatter.filetypes.go").gofumpt,
require("formatter.filetypes.go").goimports_reviser, -- require("formatter.filetypes.go").goimports_reviser,
}, },
json = { json = {
require("formatter.filetypes.json").jq, require("formatter.filetypes.json").jq,
@ -40,6 +40,21 @@ return {
yaml = { yaml = {
require("formatter.filetypes.yaml").yamlfmt, require("formatter.filetypes.yaml").yamlfmt,
}, },
elixir = {
require("formatter.filetypes.elixir").mixformat,
},
gleam = {
function()
return {
exe = "gleam",
args = {
"format",
"--stdin",
},
stdin = true,
}
end,
},
}, },
}) })
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", "neovim/nvim-lspconfig",
config = function() config = function()
local lsp = require("lspconfig") local lsp = require("lspconfig")
lsp.pyright.setup({}) -- lsp.pylsp.setup({})
lsp.gopls.setup({}) vim.lsp.enable("pyright")
lsp.rust_analyzer.setup({}) vim.lsp.enable("gopls")
lsp.clangd.setup({}) vim.lsp.enable("rust_analyzer")
lsp.tsserver.setup({}) vim.lsp.enable("clangd")
lsp.lua_ls.setup({ vim.lsp.enable("ts_ls")
settings = { vim.lsp.enable("gleam")
Lua = { -- lsp.lua_ls.setup({
runtime = { -- settings = {
version = "LuaJIT", -- Lua = {
}, -- runtime = {
diagnostics = { -- version = "LuaJIT",
globals = { "vim" }, -- },
}, -- diagnostics = {
workspace = { -- globals = { "vim" },
library = vim.api.nvim_get_runtime_file("", true), -- },
}, -- workspace = {
telemetry = { -- library = vim.api.nvim_get_runtime_file("", true),
enable = false, -- },
}, -- telemetry = {
}, -- enable = false,
}, -- },
}) -- },
lsp.helm_ls.setup({ -- },
filetypes= { "helm", "yaml" }, -- })
vim.lsp.config("helm_ls", {
filetypes = { "helm", "yaml" },
}) })
end, 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

@ -1,8 +1,4 @@
return { return {
"declancm/maximize.nvim", "declancm/maximize.nvim",
config = function() config = true,
require("maximize").setup({
default_keymaps = false,
})
end,
} }

View File

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

View File

@ -0,0 +1,6 @@
return {
"nvim-treesitter/nvim-treesitter-context",
setup = function()
require("nvim-treesitter-context").setup()
end,
}

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

@ -5,16 +5,20 @@ return {
}, },
config = function() config = function()
local wk = require("which-key") local wk = require("which-key")
wk.register({ wk.add({
a = { name = "actions" }, { "<leader>a", group = "actions" },
c = { name = "terminal" }, { "<leader>c", group = "terminal" },
d = { name = "debug" }, { "<leader>d", group = "debug" },
f = { name = "files" }, { "<leader>f", group = "files" },
g = { name = "lsp" }, { "<leader>g", group = "lsp" },
n = { name = "testing" }, { "<leader>n", group = "testing" },
r = { name = "refactoring" }, { "<leader>r", group = "refactoring" },
t = { name = "telescope" }, { "<leader>t", group = "telescope" },
v = { name = "vcs" }, { "<leader>v", group = "vcs" },
}, { prefix = "<leader>" })
})
end, end,
dependencies = {
"echasnovski/mini.icons",
},
} }

View File

@ -0,0 +1 @@
HexDocs

Binary file not shown.

View File

@ -28,11 +28,11 @@ module-margin = 1
separator = | separator = |
separator-foreground = ${colors.disabled} separator-foreground = ${colors.disabled}
font-0 = mononoki-12;1 font-0 = MononokiNerdFontMono-Regular-12;1
modules-left = ewmh modules-left = ewmh
modules-center = date 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-click = pointer
cursor-scroll = ns-resize cursor-scroll = ns-resize
@ -43,10 +43,16 @@ enable-ipc = true
; wm-restack = generic ; wm-restack = generic
; wm-restack = bspwm ; wm-restack = bspwm
; wm-restack = i3 wm-restack = i3
; override-redirect = true ; 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] [module/info-hlwm-workspaces]
type = custom/script type = custom/script
exec = ~/.config/polybar/info-hlwm-workspaces/info-hlwm-workspaces.sh exec = ~/.config/polybar/info-hlwm-workspaces/info-hlwm-workspaces.sh
@ -132,7 +138,7 @@ type = internal/date
interval = 1 interval = 1
date = %H:%M date = %H:%M
date-alt = %Y-%m-%d %H:%M:%S date-alt = %d-%m-%Y %H:%M:%S
label = %date% label = %date%
label-foreground = ${colors.foreground} label-foreground = ${colors.foreground}
@ -144,7 +150,7 @@ host = 127.0.0.1
port = 6600 port = 6600
interval = 2 interval = 2
label-song = %title% label-song = %artist% - %title%
[settings] [settings]
screenchange-reload = true screenchange-reload = true

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"

View File

@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
wal -R & wal -R &
~/.fehbg
polybar & disown
# pidof picom || picom --experimental-backends & # pidof picom || picom --experimental-backends &
# pidof dunst || dunst & # pidof dunst || dunst &
# pidof mpd || mpd & # pidof mpd || mpd &

View File

@ -2,7 +2,7 @@ import os
import subprocess import subprocess
from typing import List # noqa: F401 from typing import List # noqa: F401
from libqtile import layout from libqtile import layout
from libqtile.config import Click, Drag, Group, Match from libqtile.config import Click, Drag, Group, Match, Screen
from libqtile.lazy import lazy from libqtile.lazy import lazy
from libqtile.config import EzKey as Keybind from libqtile.config import EzKey as Keybind
from libqtile import hook from libqtile import hook
@ -14,62 +14,55 @@ from libqtile import hook
mod = "mod4" mod = "mod4"
terminal = "kitty" terminal = "kitty"
launcher = "rofi -show run" launcher = "rofi -show run"
file_manager = "thunar" file_manager = "nemo"
browser = "firefox" browser = "brave"
calculator = "rofi -show calc" calculator = "rofi -show calc"
music_player = f"{terminal} -e ncmpcpp" music_player = f"{terminal} -e ncmpcpp"
screen_locker = "i3lock -c 000000" screen_locker = "i3lock -c 000000"
scripts = os.path.expanduser('~/.config/qtile/scripts') scripts = os.path.expanduser("~/.config/qtile/scripts")
# #
# keybinds # keybinds
# #
def next_screen(qtile):
qtile.cmd_next_screen()
keys = [ keys = [
# basics # basics
Keybind("M-w", lazy.window.kill()), Keybind("M-w", lazy.window.kill()),
Keybind("M-t", lazy.restart()), Keybind("M-C-r", lazy.reload_config()),
Keybind("M-q", lazy.spawn(os.path.join(scripts, "exitmenu"))), Keybind("M-q", lazy.spawn(os.path.join(scripts, "exitmenu"))),
# focus # focus
Keybind("M-h", lazy.layout.left()), Keybind("M-h", lazy.layout.left()),
Keybind("M-j", lazy.layout.down()), Keybind("M-j", lazy.layout.down()),
Keybind("M-k", lazy.layout.up()), Keybind("M-k", lazy.layout.up()),
Keybind("M-l", lazy.layout.right()), Keybind("M-l", lazy.layout.right()),
# shift # shift
Keybind("M-S-h", lazy.layout.shuffle_left()), Keybind("M-S-h", lazy.layout.shuffle_left()),
Keybind("M-S-j", lazy.layout.shuffle_down()), Keybind("M-S-j", lazy.layout.shuffle_down()),
Keybind("M-S-k", lazy.layout.shuffle_up()), Keybind("M-S-k", lazy.layout.shuffle_up()),
Keybind("M-S-l", lazy.layout.shuffle_right()), Keybind("M-S-l", lazy.layout.shuffle_right()),
# resize # resize
Keybind("M-C-h", lazy.layout.grow_left()), Keybind("M-C-h", lazy.layout.grow_left()),
Keybind("M-C-j", lazy.layout.grow_down()), Keybind("M-C-j", lazy.layout.grow_down()),
Keybind("M-C-k", lazy.layout.grow_up()), Keybind("M-C-k", lazy.layout.grow_up()),
Keybind("M-C-l", lazy.layout.grow_right()), Keybind("M-C-l", lazy.layout.grow_right()),
# cycle # cycle
Keybind("M-n", lazy.group.next_window()), Keybind("M-m", lazy.function(next_screen)),
# window attributes # window attributes
Keybind("M-C-q", lazy.window.toggle_floating()), Keybind("M-C-q", lazy.window.toggle_floating()),
Keybind("M-C-w", lazy.window.toggle_fullscreen()), Keybind("M-C-w", lazy.window.toggle_fullscreen()),
# cycle layouts # cycle layouts
Keybind("M-<Tab>", lazy.next_layout()), Keybind("M-<Tab>", lazy.next_layout()),
# toggles
Keybind("M-S-w", lazy.spawn(os.path.join(scripts, "togglemaster"))),
# # media # # media
# Keybind("XF86AudioMute", lazy.spawn("pulsemixer --toggle-mute")), # Keybind("XF86AudioMute", lazy.spawn("pulsemixer --toggle-mute")),
# Keybind("XF86AudioLowerVolume", lazy.spawn("pulsemixer --change-volume -5")), # Keybind("XF86AudioLowerVolume", lazy.spawn("pulsemixer --change-volume -5")),
# Keybind("XF86AudioRaiseVolume", lazy.spawn("pulsemixer --change-volume +5")), # Keybind("XF86AudioRaiseVolume", lazy.spawn("pulsemixer --change-volume +5")),
# Keybind("XF86MonBrightnessDown", lazy.spawn("light -U 5")), # Keybind("XF86MonBrightnessDown", lazy.spawn("light -U 5")),
# Keybind("XF86MonBrightnessUp", lazy.spawn("light -A 5")), # Keybind("XF86MonBrightnessUp", lazy.spawn("light -A 5")),
# app launchers # app launchers
Keybind("M-<Return>", lazy.spawn(terminal)), Keybind("M-<Return>", lazy.spawn(terminal)),
Keybind("M-<space>", lazy.spawn(launcher)), Keybind("M-<space>", lazy.spawn(launcher)),
@ -89,10 +82,12 @@ keys = [
groups = [Group(i) for i in "asdfgzxcvb"] groups = [Group(i) for i in "asdfgzxcvb"]
for i in groups: for i in groups:
keys.extend([ keys.extend(
Keybind(f"M-{i.name}", lazy.group[i.name].toscreen()), [
Keybind(f"M-S-{i.name}", lazy.window.togroup(i.name)), Keybind(f"M-{i.name}", lazy.group[i.name].toscreen()),
]) Keybind(f"M-S-{i.name}", lazy.window.togroup(i.name)),
]
)
# #
# theme # theme
@ -100,11 +95,11 @@ for i in groups:
# load wal colors # load wal colors
colors = [] colors = []
walpath = os.path.expanduser('~/.cache/wal/colors') walpath = os.path.expanduser("~/.cache/wal/colors")
with open(walpath, 'r') as file: with open(walpath, "r") as file:
for _ in range(8): for _ in range(8):
colors.append(file.readline().strip()) colors.append(file.readline().strip())
colors.append('#ffffff') colors.append("#ffffff")
lazy.reload() lazy.reload()
layout_theme = { layout_theme = {
@ -125,21 +120,18 @@ layouts = [
layout.Max(**layout_theme), layout.Max(**layout_theme),
] ]
#
# bar
#
# Drag floating layouts. # Drag floating layouts.
mouse = [ mouse = [
Drag([mod], Drag(
"Button1", [mod],
lazy.window.set_position_floating(), "Button1",
start=lazy.window.get_position()), lazy.window.set_position_floating(),
Drag([mod], start=lazy.window.get_position(),
"Button3", ),
lazy.window.set_size_floating(), Drag(
start=lazy.window.get_size()), [mod], "Button3", lazy.window.set_size_floating(), start=lazy.window.get_size()
Click([mod], "Button2", lazy.window.bring_to_front()) ),
Click([mod], "Button2", lazy.window.bring_to_front()),
] ]
dgroups_key_binder = None dgroups_key_binder = None
@ -147,20 +139,25 @@ dgroups_app_rules = [] # type: List
follow_mouse_focus = True follow_mouse_focus = True
bring_front_click = False bring_front_click = False
cursor_warp = False cursor_warp = False
floating_layout = layout.Floating(float_rules=[ floating_layout = layout.Floating(
# Run the utility of `xprop` to see the wm class and name of an X client. **layout_theme,
*layout.Floating.default_float_rules, float_rules=[
Match(wm_class='confirmreset'), # gitk # Run the utility of `xprop` to see the wm class and name of an X client.
Match(wm_class='makebranch'), # gitk *layout.Floating.default_float_rules,
Match(wm_class='maketag'), # gitk Match(wm_class="confirmreset"), # gitk
Match(wm_class='ssh-askpass'), # ssh-askpass Match(wm_class="makebranch"), # gitk
Match(title='branchdialog'), # gitk Match(wm_class="maketag"), # gitk
Match(title='pinentry'), # GPG key password entry Match(wm_class="ssh-askpass"), # ssh-askpass
]) Match(title="branchdialog"), # gitk
Match(title="pinentry"), # GPG key password entry
],
)
screens = [Screen()]
# autostart script # autostart script
@hook.subscribe.startup_complete @hook.subscribe.startup_complete
def autostart(): def autostart():
autostart = os.path.expanduser('~/.config/qtile/autostart.sh') autostart = os.path.expanduser("~/.config/qtile/autostart.sh")
subprocess.call([autostart]) subprocess.call([autostart])

View File

@ -16,7 +16,7 @@ parser.add_argument("-e", "--pattern", action="append", help="search for string"
parser.add_argument("-r", "--random", action="store_true", help="random order for args") parser.add_argument("-r", "--random", action="store_true", help="random order for args")
args = parser.parse_args() args = parser.parse_args()
files = subprocess.getoutput(r"fd \(wav\|mp3\)$ .", errors="replace").splitlines() files = subprocess.getoutput(r"fd \(wav\|mp3\|mid\)$ .", errors="replace").splitlines()
if args.random: if args.random:
random.shuffle(files) random.shuffle(files)

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

113
.config/sxhkd/sxhkdrc Executable file
View File

@ -0,0 +1,113 @@
# Keybindings
# Basic
super + w
bspc node -c
super + ctrl + r
bspc wm -r
# Focus
super + h
bspc node -f west
super + j
bspc node -f south
super + k
bspc node -f north
super + l
bspc node -f east
# Shift
super + shift + h
bspc node -s west
super + shift + j
bspc node -s south
super + shift + k
bspc node -s north
super + shift + l
bspc node -s east
# Split focused frame
super + y
bspc node -p west
super + u
bspc node -p south
super + i
bspc node -p north
super + o
bspc node -p east
# Desktop
super + {a,s,d,f,g,z,x,c,v,b}
set d '{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
# Resize
super + ctrl + {h,j,k,l}
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
# Cycle layouts
super + Tab
bspc desktop -l next
# Window attributes
super + ctrl + e
bspc node -t floating
super + ctrl + w
bspc node -t fullscreen
super + ctrl + q
bspc node -t tiled
# Media keys
XF86AudioMute
pulsemixer --toggle-mute
XF86AudioLowerVolume
pulsemixer --change-volume -5
XF86AudioRaiseVolume
pulsemixer --change-volume +5
XF86MonBrightnessDown
light -U 5
XF86MonBrightnessUp
light -A 5
# Application launchers
super + Return
kitty
super + space
rofi -show drun
super + control + space
rofi -show run
super + grave
flameshot gui
super + 1
nemo
super + 2
firefox
super + 3
rofi -show calc
super + 4
kitty -e nmcpcpp
super + 0
i3lock

View File

@ -1,2 +1,15 @@
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DOWNLOAD_DIR="/hdd/download" XDG_DOWNLOAD_DIR="/hdd/download"
XDG_MUSIC_DIR="$HOME/docs/music" XDG_MUSIC_DIR="$HOME/docs/music"
XDG_DESKTOP_DIR="$HOME/"
XDG_TEMPLATES_DIR="$HOME/"
XDG_PUBLICSHARE_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"
}
}

View File

@ -0,0 +1,25 @@
{
"special": {
"background": "#272e33",
"foreground": "#d3c6aa",
"cursor": "#4f5b58"
},
"colors": {
"color0": "#343f44",
"color1": "#e67e80",
"color2": "#e69875",
"color3": "#dbbc7f",
"color4": "#a7c080",
"color5": "#83c092",
"color6": "#7fbbb3",
"color7": "#d3c6aa",
"color8": "#4f585e",
"color9": "#e67e80",
"color10": "#e69875",
"color11": "#dbbc7f",
"color12": "#a7c080",
"color13": "#83c092",
"color14": "#7fbbb3",
"color15": "#d3c6aa"
}
}

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;
}

407
.config/zellij/config.kdl Normal file
View File

@ -0,0 +1,407 @@
//
// 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 {
locked {
bind "Alt g" { SwitchToMode "normal"; }
}
pane {
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 "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 "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 "e" { EditScrollback; SwitchToMode "normal"; }
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
}
search {
bind "c" { SearchToggleOption "CaseSensitivity"; }
bind "n" { Search "down"; }
bind "o" { SearchToggleOption "WholeWord"; }
bind "p" { Search "up"; }
bind "w" { SearchToggleOption "Wrap"; }
}
session {
bind "d" { Detach; }
bind "Alt o" { SwitchToMode "normal"; }
bind "w" {
LaunchOrFocusPlugin "session-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
}
shared_except "locked" {
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 "locked" "move" {
bind "Alt h" { MoveFocusOrTab "left"; }
}
shared_except "locked" "session" {
bind "Alt o" { SwitchToMode "session"; }
}
shared_except "locked" "scroll" "search" "tmux" {
bind "Alt b" { SwitchToMode "tmux"; }
}
shared_except "locked" "scroll" "search" {
bind "Alt f" { ToggleFocusFullscreen; }
bind "Alt s" { SwitchToMode "scroll"; }
}
shared_except "locked" "tab" {
bind "Alt t" { SwitchToMode "tab"; }
}
shared_except "locked" "pane" {
bind "Alt p" { SwitchToMode "pane"; }
}
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 {
about location="zellij:about"
compact-bar location="zellij:compact-bar"
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
}
}
// 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 {
}
// 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
//
// default_shell "fish"
// Choose the path to override cwd that zellij will use for opening new panes
//
// default_cwd "/tmp"
// The name of the default layout to load on startup
// Default: "default"
//
// default_layout "compact"
// The folder in which Zellij will look for layouts
// (Requires restart)
//
// 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
// potentially interfere with copying text.
// Options:
// - true (default)
// - false
//
// 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
//
// 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
//
// copy_command "pbcopy"
// 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 automatic copying (and clearing) of selection when releasing mouse
// Default: true
//
// copy_on_select true
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
// scrollback_editor "/usr/bin/vim"
// 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
//
// attach_to_session true
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
// Options:
// - true (default)
// - false
//
// auto_layout false
// 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 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 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
}
}

View File

@ -0,0 +1,15 @@
themes {
default {
fg "#282c34"
bg "#e06c75"
black "#abb2bf"
red "#98c379"
green "#e5c07b"
yellow "#61afef"
blue "#c678dd"
magenta "#56b6c2"
cyan "#abb2bf"
white "#545862"
orange "#e06c75"
}
}