Holds my configs for my productive linux setup.
- zshell (.zshrc)
- nvim (starter repository of lazyVim with my changes/configs/plugins)
- kitty (.conf file)
- tmux (.conf file, custom tmux plugins dir)
- fd-find:
(per default venv-selector executes ´fd' but the ubuntu/debian executable command is ´fdfind´ when installing via apt)
sudo apt install fd-find
# Debian/Ubuntu package installs the binary as "fdfind".
mkdir -p ~/.local/bin
ln -s "$(command -v fdfind)" ~/.local/bin/fdI would recommend using brews fd install instead as I also installed neovim via brew.
brew install fdNow it is only important that the brew binary is linked to .zshrc config: ´eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"´
- ripgrep
The apt install is sufficient.
I use the common tpm manager for configuring tmux with plugins e. g. catpuccin.
In order to update or install tmux plugins from the plugin list, note the following shortcuts:
- Install new plugins (from github), refreshes tmux env:
prefix+I - update plugins:
prefix+U - remove/uninstall plugins:
prefix+alt+u
plugin install directory: tpm installs plugins to `/home/jan/.config/tmux/plugins
Problem: When opening multiple Kitty windows with zsh configured to auto-start tmux, all windows were mirroring the same tmux session instead of remaining independent. Closing one window would close all windows.
Root Cause: The Oh My Zsh tmux plugin was automatically attaching all new shell instances to the same main tmux session, causing them to share the same view.
Solution:
- Removed the
tmuxplugin from Oh My Zsh plugins list - Implemented manual tmux session startup with unique session identifiers per terminal window
- Each Kitty window now creates its own tmux session using a unique ID based on hostname, process ID, and random number
- Sessions are only created if not already inside tmux (
$TMUXis empty)
Changes Made:
- Disabled
ZSH_TMUX_AUTOSTART=true - Replaced Oh My Zsh's automatic tmux attachment with custom conditional session creation
- Each terminal window is now fully independent while still benefiting from tmux functionality
ln -s [target] [symlink]
[target]: file or directory you want to link directory
[symlink]: name of the link you want to create
example: ´ln -s /path/to/original /path/to/link´
tmux list-sessions: lists all open tmux sessions