if [[ -o login && -z $WAYLAND_DISPLAY && ${XDG_VTNR:-0} -eq 1 ]]; then export XDG_CURRENT_DESKTOP=sway exec dbus-run-session sway fi if [[ -o interactive && -z "$SSH_AUTH_SOCK" ]]; then eval "$(keychain --eval --quiet id_ed25519)" fi ## Use vim mode bindkey -v # Yank to the system clipboard function vi-yank-xclip { zle vi-yank print -rn -- "$CUTBUFFER" | wl-copy -n } zle -N vi-yank-xclip bindkey -M vicmd 'y' vi-yank-xclip export KEYTIMEOUT=1 # FZF integration export FZF_DEFAULT_OPTS=" --inline-info --preview-window=right:60%:wrap --bind=ctrl-u:preview-page-up,ctrl-d:preview-page-down --bind=ctrl-/:toggle-preview --bind 'ctrl-o:execute(nvim {})' --color=fg:#d0d0d0,bg:#121212,hl:#5fd7ff --color=fg+:#ffffff,bg+:#262626,hl+:#ffaf00 --color=info:#87afff,prompt:#5fd7ff,pointer:#ff5f5f --color=marker:#ffaf00,spinner:#5fd7ff,header:#87afaf --preview ' if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then git diff --color=always {} | sed 1,200p elif [[ -d {} ]]; then tree -C {} | head -200 else bat --style=numbers --color=always --line-range :500 {} fi ' " export FZF_DEFAULT_COMMAND='fd --type f --hidden --exclude .git' export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" export FZF_ALT_C_OPTS=" --preview 'tree -C {} | head -200' " export FZF_CTRL_R_OPTS=" --preview 'echo {}' --preview-window=down:3:hidden:wrap --bind 'ctrl-/:toggle-preview' --bind 'ctrl-y:execute-silent(echo -n {2..} | wl-copy)+abort' " source <(fzf --zsh) ## Source other configs ### key_bindings should be before completion due to complist source $HOME/.config/zsh/key_bindings.zsh source $HOME/.config/zsh/completion.zsh source $HOME/.config/zsh/prompt.zsh source $HOME/.config/zsh/history_search.zsh source $HOME/.config/zsh/aliases.zsh source $HOME/.config/zsh/help_command.zsh