Inital Commit
This commit is contained in:
186
config/zsh/zshrc
Normal file
186
config/zsh/zshrc
Normal file
@@ -0,0 +1,186 @@
|
||||
# If you come from bash you might have to change your $PATH.
|
||||
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
||||
|
||||
# Path to your oh-my-zsh installation.
|
||||
ZSH=/usr/share/oh-my-zsh/
|
||||
|
||||
# Set name of the theme to load --- if set to "random", it will
|
||||
# load a random theme each time oh-my-zsh is loaded, in which case,
|
||||
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
||||
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
|
||||
ZSH_THEME="spaceship"
|
||||
SPACESHIP_USER_SHOW="always"
|
||||
SPACESHIP_EXIT_CODE_SHOW="true"
|
||||
SPACESHIP_EXIT_CODE_SYMBOL="✘ "
|
||||
SPACESHIP_DIR_TRUNC="0"
|
||||
|
||||
# Set list of themes to pick from when loading at random
|
||||
# Setting this variable when ZSH_THEME=random will cause zsh to load
|
||||
# a theme from this variable instead of looking in ~/.oh-my-zsh/themes/
|
||||
# If set to an empty array, this variable will have no effect.
|
||||
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
|
||||
|
||||
# Uncomment the following line to use case-sensitive completion.
|
||||
# CASE_SENSITIVE="true"
|
||||
|
||||
# Uncomment the following line to use hyphen-insensitive completion.
|
||||
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
||||
# HYPHEN_INSENSITIVE="true"
|
||||
|
||||
# Uncomment the following line to disable bi-weekly auto-update checks.
|
||||
DISABLE_AUTO_UPDATE="true"
|
||||
|
||||
# Uncomment the following line to change how often to auto-update (in days).
|
||||
# export UPDATE_ZSH_DAYS=13
|
||||
|
||||
# Uncomment the following line to disable colors in ls.
|
||||
# DISABLE_LS_COLORS="true"
|
||||
|
||||
# Uncomment the following line to disable auto-setting terminal title.
|
||||
# DISABLE_AUTO_TITLE="true"
|
||||
|
||||
# Uncomment the following line to enable command auto-correction.
|
||||
# ENABLE_CORRECTION="true"
|
||||
|
||||
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||
# COMPLETION_WAITING_DOTS="true"
|
||||
|
||||
# Uncomment the following line if you want to disable marking untracked files
|
||||
# under VCS as dirty. This makes repository status check for large repositories
|
||||
# much, much faster.
|
||||
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||
|
||||
# Uncomment the following line if you want to change the command execution time
|
||||
# stamp shown in the history command output.
|
||||
# You can set one of the optional three formats:
|
||||
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||||
# or set a custom format using the strftime function format specifications,
|
||||
# see 'man strftime' for details.
|
||||
# HIST_STAMPS="mm/dd/yyyy"
|
||||
|
||||
# Would you like to use another custom folder than $ZSH/custom?
|
||||
ZSH_CUSTOM=~/.config/zsh
|
||||
HISTFILE="$XDG_CACHE_HOME"/zsh/history
|
||||
ZSH_COMPDUMP=$XDG_CACHE_HOME/zsh/zshcomdump
|
||||
# Which plugins would you like to load?
|
||||
# Standard plugins can be found in ~/.oh-my-zsh/plugins/*
|
||||
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
|
||||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||
# Add wisely, as too many plugins slow down shell startup.
|
||||
plugins=( git virtualenv zsh-autosuggestions zsh-syntax-highlighting zsh-abbr )
|
||||
|
||||
|
||||
# User configuration
|
||||
|
||||
# export MANPATH="/usr/local/man:$MANPATH"
|
||||
|
||||
# You may need to manually set your language environment
|
||||
export LANG=en_US.UTF-8
|
||||
export LC_CTYPE=en_US.UTF-8
|
||||
|
||||
|
||||
eval $(systemctl --user show-environment | grep SSH_AUTH_SOCK)
|
||||
export SSH_AUTH_SOCK
|
||||
|
||||
|
||||
# Preferred editor for local and remote sessions
|
||||
if [[ -n $SSH_CONNECTION ]]; then
|
||||
export EDITOR='vim'
|
||||
else
|
||||
export EDITOR='nvim'
|
||||
fi
|
||||
|
||||
# Compilation flags
|
||||
# export ARCHFLAGS="-arch x86_64"
|
||||
|
||||
# ssh
|
||||
# export SSH_KEY_PATH="~/.ssh/rsa_id"
|
||||
|
||||
export PATH="$PATH:~/.local/bin"
|
||||
|
||||
#if ! pgrep -u "$USER" ssh-agent > /dev/null; then
|
||||
# ssh-agent > ~/.ssh-agent-thing
|
||||
#fi
|
||||
#if [[ ! "$SSH_AUTH_SOCK" ]]; then
|
||||
# eval "$(<~/.ssh-agent-thing)"
|
||||
#fi
|
||||
|
||||
|
||||
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
||||
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
||||
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
||||
# For a full list of active aliases, run `alias`.
|
||||
#
|
||||
# Example aliases
|
||||
# alias zshconfig="mate ~/.zshrc"
|
||||
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||
# alias ll='exa -al'
|
||||
alias nv=nvim
|
||||
alias v=nvim +PlugUpdate
|
||||
alias dotfiles='/usr/bin/git --git-dir=$XDG_DATA_HOME/dotfiles/ --work-tree=$HOME'
|
||||
#alias tmux='tmux -f ~/.config/tmux/tmux.conf'
|
||||
source $ZSH_CUSTOM/env.sh
|
||||
# zoxide
|
||||
eval "$(zoxide init zsh)"
|
||||
|
||||
# use fs insread of find
|
||||
export FZF_DEFAULT_COMMAND='fd --type f'
|
||||
|
||||
ZSH_CACHE_DIR=$HOME/.cache/oh-my-zsh
|
||||
if [[ ! -d $ZSH_CACHE_DIR ]]; then
|
||||
mkdir $ZSH_CACHE_DIR
|
||||
fi
|
||||
|
||||
|
||||
# eval $(dircolors -p | sed -e 's/DIR 01;34/DIR 01;36/' | dircolors /dev/stdin)
|
||||
|
||||
|
||||
|
||||
topp() (
|
||||
$* &>/dev/null &
|
||||
pid="$!"
|
||||
trap ':' INT
|
||||
echo 'CPU MEM'
|
||||
while sleep 1; do ps --no-headers -o '%cpu,%mem' -p "$pid"; done
|
||||
kill "$pid"
|
||||
)
|
||||
|
||||
function cd() {
|
||||
builtin cd "$@"
|
||||
|
||||
if [[ -z "$VIRTUAL_ENV" ]] ; then
|
||||
## If env folder is found then activate the vitualenv
|
||||
if [[ -d ./venv ]] ; then
|
||||
source ./venv/bin/activate
|
||||
fi
|
||||
else
|
||||
## check the current folder belong to earlier VIRTUAL_ENV folder
|
||||
# if yes then do nothing
|
||||
# else deactivate
|
||||
parentdir="$(dirname "$VIRTUAL_ENV")"
|
||||
if [[ "$PWD"/ != "$parentdir"/* ]] ; then
|
||||
deactivate
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function fmpc() {
|
||||
local song_position
|
||||
song_position=$(mpc -f "%position%) %artist% - %title%" playlist | \
|
||||
fzf-tmux --query="$1" --reverse --select-1 --exit-0 | \
|
||||
sed -n 's/^\([0-9]\+\)).*/\1/p') || return 1
|
||||
[ -n "$song_position" ] && mpc -q play $song_position
|
||||
}
|
||||
|
||||
|
||||
# source /usr/share/doc/pkgfile/command-not-found.zsh
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
||||
# # start x if not already started
|
||||
# if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
|
||||
# exec startx
|
||||
# elif [[ ! $TERM =~ screen ]]; then
|
||||
# ~/.config/tmux/start-tmux
|
||||
# fi
|
||||
#
|
||||
source $ZSH_CUSTOM/alias.zshrc
|
||||
Reference in New Issue
Block a user