# vim:fileencoding=utf-8:foldmethod=marker # Enable Powerlevel10k instant prompt {{{ # Loads the instant prompt to make the shell feel fast (part of powerlevel10k) if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" fi POWERLEVEL9K_INSTANT_PROMPT=quiet # run instant prompt quietly # Fix for tmux compatibility [[ $TERM == "tmux-256color" ]] && export TERM_PROGRAM="kitty" # }}} # Environment variables {{{ export MYVIMRC="$HOME/.config/nvim/init.lua" # define MYVIMRC variable so you can use $MYVIMRC to access your init.lua export MANPAGER="nvim +Man!" ## Use IINA CLI export YTFZF_PLAYER="iina" # }}} # # ~/.config/secrets/.env for f in ~/.config/secrets/.env; do export $(grep -v '^#' "$f" | xargs) done # Load Oh My Zsh {{{ export ZSH="$XDG_CONFIG_HOME/.oh-my-zsh" # set path to Oh My Zsh ZSH_THEME="powerlevel10k/powerlevel10k" # set theme to Powerlevel10k BEFORE loading Oh My Zsh source $ZSH/oh-my-zsh.sh # load Oh My Zsh framework (plugins, completions, themes) # }}} # Theme and prompt {{{ source $XDG_CONFIG_HOME/p10k/.p10k.zsh # load Powerlevel10k configuration # }}} # ZSH Plugins {{{ plugins=(git zsh-autosuggestions zsh-syntax-highlighting) # enable git support, autosuggestions and syntax highlighting eval "$(zoxide init zsh)" # enable zoxide for fast directory jumping # }}} # Keybindings {{{ bindkey -v # enable vi-style keybindings export KEYTIMEOUT=1 # make ESC faster when using vi keybindings # Fix backspace for SSH connections # bindkey "^?" backward-delete-char # bindkey "^H" backward-delete-char # }}} # Aliases and Functions {{{ alias wfy="ssh ftp5794822\@www76.world4you.com" alias h="cd ~" # go to home folder alias f="open ." # open current folder in Finder alias cl="clear" # clear terminal screen alias tnh="cd /Volumes/AK127132" # quick cd to mounted volume AK127132 alias tni="cd /Volumes/ipec/intern" # quick cd to mounted volume intern alias l='eza --color=always --icons -la --group-directories-first' # fancy ls with icons and sorting alias n='nvim' # shortcut for Neovim alias m='neomutt' # open Neomutt mail client # Quick Access to Config Files alias ne='nvim ~/.zshenv' # edit global zshenv alias nz='nvim ~/.config/zsh/.zshrc' # edit this zshrc alias nni='nvim ~/.config/nvim/init.lua' # edit Neovim init.lua alias sni='source ~/.config/nvim/init.lua' # source Neovim init.lua alias nnp='nvim ~/.config/nvim/lua/plugins/init.lua' # edit main plugins file alias nnk='nvim ~/.config/nvim/lua/keymaps.lua' # edit keymaps.lua alias nns='nvim ~/.config/nvim/lua/settings.lua' # edit settings.lua alias ny='nvim ~/.config/yazi/yazi.toml' # edit Yazi config alias nyk='nvim ~/.config/yazi/keymap.toml' # edit Yazi keymap config alias nk='nvim ~/.config/kitty/kitty.conf' # edit Kitty terminal config alias nkk='nvim ~/.config/kitty/keymap.conf' # edit Kitty keymap config alias ntc='nvim ~/.config/tmux/tmux.conf' # edit Kitty keymap config # Git alias g='git' # shorthand for git alias gs='git status' # git status alias gc='git commit' # git commit alias gt='git log --oneline --graph --decorate --all' # git log in graph(tree) format # Scripts alias mnt='sh $HOME/.config/scripts/tnmount.sh' # run tnmount.sh script # Quick access to notes alias nt='nvim ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/Privat/TODO.md' # open TODO list alias ne='nvim ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/Privat/Einkaufsliste.md' # open shopping list alias nb='nvim ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/Privat/Persönliches/Bucketlists/2025.md' # open 2025 bucket list # Custom Functions # Start yazi with "y", and when you quit yazi, your shell will "cd" to the folder you navigated to in yazi function y() { local tmp="/tmp/yazi-cwd-$$" yazi "$@" --cwd-file="$tmp" if [ -f "$tmp" ]; then local cwd="$(cat "$tmp")" if [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then cd "$cwd" fi fi rm -f "$tmp" } # }}} # iTerm2 shell integration {{{ source $XDG_CONFIG_HOME/iterm2/.iterm2_shell_integration.zsh # load iTerm2 shell integration (enables iTerm2 features) # }}} # Conda initialize {{{ # export PATH="/opt/homebrew/anaconda3/bin:$PATH" # commented out by conda initialize # >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! __conda_setup="$('/opt/homebrew/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" # conda properly initialized else if [ -f "/opt/homebrew/anaconda3/etc/profile.d/conda.sh" ]; then . "/opt/homebrew/anaconda3/etc/profile.d/conda.sh" # fallback to sourcing conda profile else export PATH="/opt/homebrew/anaconda3/bin:$PATH" # fallback: manually add conda to path fi fi unset __conda_setup # <<< conda initialize <<< # }}} export NVM_DIR="$HOME/.nvm" [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion