feat: complete done zsh install and swith to zinit

This commit is contained in:
Yingjie Wang 2024-06-07 01:04:42 -04:00
parent a23f49bcaf
commit 16a504966c
7 changed files with 1831 additions and 115 deletions

16
.install/fish.sh Normal file
View File

@ -0,0 +1,16 @@
# ------------------------------------------------------
# install fish
# ------------------------------------------------------
packagesPacman=(
"fish"
);
packagesYay=(
);
source .install/install-packages.sh
if [ -f ~/dotfiles-versions/$version/.zshrc ]; then
_installSymLink zshrc ~/.zshrc ~/dotfiles/.zshrc ~
fi
if [ -f ~/dotfiles-versions/$version/.p10k.zsh ]; then
_installSymLink p10k ~/.p10k.zsh ~/dotfiles/.p10k.zsh ~
fi

View File

@ -14,6 +14,14 @@ _showRestoreOptions() {
restorelist+="~/dotfiles/.bashrc " restorelist+="~/dotfiles/.bashrc "
selectedlist+="~/dotfiles/.bashrc," selectedlist+="~/dotfiles/.bashrc,"
fi fi
if [ -f ~/dotfiles/.zshrc ]; then
restorelist+="~/dotfiles/.zshrc "
selectedlist+="~/dotfiles/.zshrc,"
fi
if [ -f ~/dotfiles/.p10k.zsh ]; then
restorelist+="~/dotfiles/.p10k.zsh "
selectedlist+="~/dotfiles/.p10k.zsh,"
fi
if [ -d ~/dotfiles/.settings ]; then if [ -d ~/dotfiles/.settings ]; then
restorelist+="~/dotfiles/.settings " restorelist+="~/dotfiles/.settings "
selectedlist+="~/dotfiles/.settings," selectedlist+="~/dotfiles/.settings,"

10
.install/zsh.sh Normal file
View File

@ -0,0 +1,10 @@
# ------------------------------------------------------
# install zsh and zinit
# ------------------------------------------------------
packagesPacman=(
"zsh"
);
packagesYay=(
"zinit"
);
source .install/install-packages.sh

26
.install/zshfish.sh Normal file
View File

@ -0,0 +1,26 @@
# ------------------------------------------------------
# Select additional shell
# ------------------------------------------------------
echo -e "${GREEN}"
figlet "Zsh Fish"
echo -e "${NONE}"
echo "Please select if you want to install zsh or fish."
echo
zshfish=$(gum choose --no-limit --cursor-prefix "( ) " --selected-prefix "(x) " --unselected-prefix "( ) " "zsh" "fish")
if [ -z "${zshfish}" ] ;then
echo ":: No shell selected. Keep using bash."
else
echo "Please select your default shell."
echo
shell=$(echo "bash\n$zshfish" | gum choose --limit=1 -cursor-prefix "( ) " --selected-prefix "(x) " --unselected-prefix "( ) ")
sudo chsh -s $(which $shell) $(whoami)
if [[ $zshfish == *"zsh"* ]]; then
echo ":: zsh selected"
source .install/zsh.sh
fi
if [[ $zshfish == *"fish"* ]]; then
echo ":: fish selected"
source .install/fish.sh
fi
fi

1718
.p10k.zsh Normal file

File diff suppressed because it is too large Load Diff

149
.zshrc
View File

@ -5,124 +5,61 @@ if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi fi
# If you come from bash you might have to change your $PATH. # load zinit
source /usr/share/zinit/zinit.zsh
# Load powerlevel10k theme
zinit ice depth"1" # git clone depth
zinit light romkatv/powerlevel10k
# Load plugins
zinit light zsh-users/zsh-autosuggestions
zinit light zdharma-continuum/fast-syntax-highlighting
# oh-my-zsh plugins
zi snippet OMZP::git
zi snippet OMZP::sudo
zi snippet OMZP::colored-man-pages
zi snippet OMZP::eza
#others
zplugin ice as"program" pick"bin/git-dsf"
zplugin light zdharma-continuum/zsh-diff-so-fancy
# ----------------------------------------------------
# Variables
# ----------------------------------------------------
export PATH=$HOME/bin:$HOME/.cargo/bin:$HOME/.local/bin:/usr/local/bin:$PATH export PATH=$HOME/bin:$HOME/.cargo/bin:$HOME/.local/bin:/usr/local/bin:$PATH
export EDITOR=vim
# Path to your oh-my-zsh installation. # ----------------------------------------------------
export ZSH="$HOME/.oh-my-zsh" # Alias
# ----------------------------------------------------
# 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/ohmyzsh/ohmyzsh/wiki/Themes
# ZSH_THEME="robbyrussell"
ZSH_THEME="powerlevel10k/powerlevel10k"
# 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 $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 one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled # disable automatic updates
# zstyle ':omz:update' mode auto # update automatically without asking
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
# Uncomment the following line to change how often to auto-update (in days).
# zstyle ':omz:update' frequency 13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
# 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.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# 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=/path/to/new-custom-folder
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git colored-man-pages eza z sudo zsh-autosuggestions fast-syntax-highlighting)
source $ZSH/oh-my-zsh.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# 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 sshkoko="TERM=xterm-256color ssh ywang2020@koko-login.hpc.fau.edu" alias sshkoko="TERM=xterm-256color ssh ywang2020@koko-login.hpc.fau.edu"
alias wakemac="wakeonlan 18:C0:4D:8D:56:0E" alias wakemac="wakeonlan 18:C0:4D:8D:56:0E"
alias ls="eza --icons=auto" alias eza="eza --icons=auto"
alias githashselector="git log --oneline | gum filter | cut -d' ' -f1" alias githashselector="git log --oneline | gum filter | cut -d' ' -f1"
alias bat="bat --paging=never" alias bat="bat --paging=never"
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. # -----------------------------------------------------
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh # evals
# -----------------------------------------------------
eval $(thefuck --alias) eval $(thefuck --alias)
eval "$(fzf --zsh)" eval "$(fzf --zsh)"
# -----------------------------------------------------
# Miscs
# -----------------------------------------------------
# fix ssh if in kitty
[ "$TERM" = "xterm-kitty" ] && alias ssh="kitty +kitten ssh"
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# ----------------------------------------------------- # -----------------------------------------------------
# PYWAL # PYWAL
# ----------------------------------------------------- # -----------------------------------------------------
cat ~/.cache/wal/sequences cat ~/.cache/wal/sequences
export EDITOR=nvim # -----------------------------------------------------
# Custom
# -----------------------------------------------------
[[ ! -f ~/.custom.zsh ]] || source ~/.custom.zsh

View File

@ -76,6 +76,7 @@ fi
if [[ $profile == *"Qtile"* ]]; then if [[ $profile == *"Qtile"* ]]; then
source .install/qtile-dotfiles.sh source .install/qtile-dotfiles.sh
fi fi
source .install/zshfish.sh
source .install/settings.sh source .install/settings.sh
source .install/apps.sh source .install/apps.sh
source .install/gtk.sh source .install/gtk.sh