Renamed
This commit is contained in:
parent
3c292c15f4
commit
f61d68b994
1 changed files with 0 additions and 0 deletions
170
main
Normal file
170
main
Normal file
|
@ -0,0 +1,170 @@
|
|||
# My .zshrc the core for everything
|
||||
#
|
||||
# Set the path(s) to the config file(s)
|
||||
CONFIG_PATH="$HOME/.config/dotfiles/config"
|
||||
DEFAULT_CONFIG_PATH="$HOME/.config/dotfiles/config.default"
|
||||
#
|
||||
# Give an Error if the default configuration could not be found
|
||||
if [ ! -f "${DEFAULT_CONFIG_PATH}" ]
|
||||
then
|
||||
echo "Error: The default configuration file (${DEFAULT_CONFIG_PATH}) could not be found"
|
||||
exit 1
|
||||
fi
|
||||
#
|
||||
# Source the default configuration to prevent errors
|
||||
source "${DEFAULT_CONFIG_PATH}"
|
||||
#
|
||||
# Copy the default configuration file if it does not exist
|
||||
if [ ! -f "${CONFIG_PATH}" ]
|
||||
then
|
||||
cp "${DEFAULT_CONFIG_PATH}" "${CONFIG_PATH}"
|
||||
fi
|
||||
#
|
||||
# Source the normal configuration
|
||||
source "${CONFIG_PATH}"
|
||||
#
|
||||
# Detect Device Arch
|
||||
arch="$(uname -m | tr '[:upper:]' '[:lower:]')"
|
||||
|
||||
case "${arch}" in
|
||||
x86_64) arch="amd64" ;;
|
||||
armv*) arch="arm" ;;
|
||||
arm64) arch="arm64" ;;
|
||||
aarch64) arch="arm64" ;;
|
||||
i686) arch="386" ;;
|
||||
esac
|
||||
|
||||
if [ "${arch}" = "arm64" ] && [ "$(getconf LONG_BIT)" -eq 32 ]; then
|
||||
arch=arm
|
||||
fi
|
||||
#
|
||||
# Detect Device Platform
|
||||
platform="$(uname -s | awk '{print tolower($0)}')"
|
||||
|
||||
case "${platform}" in
|
||||
linux) platform="linux" ;;
|
||||
darwin) platform="darwin" ;;
|
||||
esac
|
||||
#
|
||||
# Set the OMP Path and create the directory
|
||||
OMP_PATH="$HOME/.config/dotfiles/oh-my-posh"
|
||||
[ ! -d $OMP_PATH ] && mkdir -p "$(dirname $OMP_PATH)"
|
||||
#
|
||||
# Set the path to the OMP Theme
|
||||
OMP_THEME_PATH="$OMP_PATH/$OMP_THEME.toml"
|
||||
#
|
||||
# Set the OMP target Platform
|
||||
OMP_TARGET="$platform-$arch"
|
||||
#
|
||||
# Set the path to the OMP Executeable
|
||||
OMP_EXE="$OMP_PATH/posh-$OMP_TARGET"
|
||||
#
|
||||
# Download OMP if it does not exist
|
||||
if [ ! -f $OMP_EXE ]; then
|
||||
echo "Downloading Oh My Posh for $OMP_TARGET"
|
||||
curl -s -L -o $OMP_EXE "https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-$OMP_TARGET"
|
||||
chmod +x $OMP_EXE
|
||||
fi
|
||||
#
|
||||
# Alias OMP
|
||||
alias oh-my-posh=$OMP_EXE
|
||||
#
|
||||
# Initialize OMP
|
||||
eval "$(oh-my-posh init zsh --config $OMP_THEME_PATH)"
|
||||
#
|
||||
# Get and download zinit
|
||||
ZINIT_HOME="$HOME/.config/dotfiles/zinit/zinit.git"
|
||||
[ ! -d $ZINIT_HOME ] && mkdir -p "$(dirname $ZINIT_HOME)"
|
||||
[ ! -d $ZINIT_HOME/.git ] && git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
|
||||
#
|
||||
# Initialize zinit
|
||||
source "${ZINIT_HOME}/zinit.zsh"
|
||||
#
|
||||
# Command Syntax Highlighting
|
||||
zinit light zsh-users/zsh-syntax-highlighting
|
||||
#
|
||||
# Command Completions
|
||||
zinit light zsh-users/zsh-completions
|
||||
#
|
||||
# Inline Command Suggestions based on history
|
||||
zinit light zsh-users/zsh-autosuggestions
|
||||
#
|
||||
# Load the zsh completion system
|
||||
autoload -U compinit && compinit
|
||||
#
|
||||
# Initialize Zoxide if it exists
|
||||
if command -v zoxide &> /dev/null
|
||||
then
|
||||
eval "$(zoxide init --cmd cd zsh)"
|
||||
fi
|
||||
#
|
||||
# Initialize TheF*ck if it exists
|
||||
if command -v thefuck &> /dev/null
|
||||
then
|
||||
eval "$(thefuck --alias)"
|
||||
fi
|
||||
#
|
||||
# Add boundaries to the path if it exists
|
||||
if [ -f "$HOME/.bndpath" ]
|
||||
then
|
||||
PATH="$(cat $HOME/.bndpath)/exec/bin:$PATH"
|
||||
elif [ -d "$HOME/boundaries" ]
|
||||
then
|
||||
PATH="$HOME/boundaries/exec/bin:$PATH"
|
||||
fi
|
||||
#
|
||||
# Colored ls
|
||||
alias ls="ls --color=auto"
|
||||
#
|
||||
# ls like colored completions
|
||||
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
||||
#
|
||||
# Alias please to run0, doas, sudo or su
|
||||
if command -v run0 &> /dev/null
|
||||
then
|
||||
alias please="run0"
|
||||
elif command -v doas &> /dev/null
|
||||
then
|
||||
alias please="doas"
|
||||
elif command -v sudo &> /dev/null
|
||||
then
|
||||
alias please="sudo"
|
||||
elif command -v su &> /dev/null
|
||||
then
|
||||
alias please="su -c "
|
||||
fi
|
||||
#
|
||||
# Alias la to ls -la
|
||||
alias la="ls -la"
|
||||
#
|
||||
# Enable emacs keybindings
|
||||
bindkey -e
|
||||
#
|
||||
# The file the History is written to
|
||||
HISTFILE=~/.zsh_history
|
||||
#
|
||||
# The maximum History Size
|
||||
SAVEHIST=$HISTSIZE
|
||||
#
|
||||
# Erease duplicates
|
||||
HISTDUP=erase
|
||||
#
|
||||
# Share History between Sessions
|
||||
setopt appendhistory
|
||||
setopt sharehistory
|
||||
#
|
||||
# Ignore when Space is in front
|
||||
setopt hist_ignore_space
|
||||
#
|
||||
# Ingore Duplicates
|
||||
setopt hist_ignore_all_dups
|
||||
setopt hist_save_no_dups
|
||||
setopt hist_ignore_dups
|
||||
setopt hist_find_no_dups
|
||||
#
|
||||
# Show pfetch if it is enabled and installed
|
||||
if [ "${SHOW_PFETCH}" = "1" ] && command -v pfetch &> /dev/null
|
||||
then
|
||||
alias clear="clear && pfetch"
|
||||
pfetch
|
||||
fi
|
Loading…
Add table
Add a link
Reference in a new issue