-
Notifications
You must be signed in to change notification settings - Fork 1
/
.zshrc
executable file
·53 lines (47 loc) · 2.35 KB
/
.zshrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# ╭──────────────────────────────────────────────────────────╮
# │ This is my Zsh config │
# │ Email: me@fadyio.com │
# │ Github: @Fadyio │
# ╰──────────────────────────────────────────────────────────╯
# ############################ customize prompt #########################
if [ "$TERM_PROGRAM" != "Apple_Terminal" ]; then
eval "$(oh-my-posh init zsh --config ~/.ohmyposh.json)"
fi
################################# Export ##########################################
export EDITOR="nvim"
export VISUAL='nvim'
export GREP_COLORS="ms=01;31:mc=01;36:sl=:cx=:fn=01;35:ln=01;32:bn=01;32:se=01;33"
export LANG=en_US.UTF-8
export LC_CTYPE="en_US.UTF-8"
export PATH=~/.local/bin:$PATH
export MANPAGER='nvim +Man!'
################################### Options #######################################
bindkey "\e[3~" delete-char # make the delete key act nourmal
########################## source alias and Plugins ##############################
source ~/.dotfiles/.zsh/completion.zsh
source ~/.dotfiles/.zsh/alias.zsh
source ~/.dotfiles/.zsh/function.zsh
#################### start tmux automatically ####################################
# Automatically start tmux if not already inside a tmux session
if [ -z "$TMUX" ]; then
tmux has-session -t default 2>/dev/null
if [ $? != 0 ]; then
tmux new-session -s default
else
tmux attach-session -t default
fi
exit # Ensure the current shell exits after starting tmux
fi
############# A smarter cd command is z for zsh
eval "$(zoxide init zsh)"
# Enable keychain in zsh only on Linux
if [[ "$(uname -s)" == "Linux" ]] && [[ -f /etc/arch-release ]]; then
eval `keychain --eval --agents ssh id_ed25519`
fi
############# sheldon plugin manager for zsh
eval "$(sheldon source)"
################################## History #######################################
# Atuin replaces your existing shell history with a SQLite database
eval "$(atuin init zsh)"
# Added by LM Studio CLI (lms)
export PATH="$PATH:/Users/fadynagh/.cache/lm-studio/bin"