235 lines
8.0 KiB
Cheetah
235 lines
8.0 KiB
Cheetah
{{ if and (eq .chezmoi.os "darwin") (stat (print "/etc/bashrc")) }}
|
||
# ----取自 /etc/bashrc 預設內容 ----------------------------------------------
|
||
{{ include "/etc/bashrc" | trim }}
|
||
{{ else if (stat (print "/etc/skel/.bashrc")) }}
|
||
# ----取自 /etc/skel/.bashrc 預設內容 ----------------------------------------
|
||
{{ include "/etc/skel/.bashrc" | trim }}
|
||
{{ end }}
|
||
|
||
# ----oh-my-bash 內容 ------------------------------------------------------
|
||
# Enable the subsequent settings only in interactive sessions
|
||
case $- in
|
||
*i*) ;;
|
||
*) return;;
|
||
esac
|
||
|
||
# Path to your oh-my-bash installation.
|
||
export OSH='{{ .chezmoi.homeDir }}/.oh-my-bash'
|
||
|
||
# Set name of the theme to load. Optionally, if you set this to "random"
|
||
# it'll load a random theme each time that oh-my-bash is loaded.
|
||
OSH_THEME="powerbash10k"
|
||
__PB10K_TOP_LEFT="user_info dir scm"
|
||
__PB10K_TOP_RIGHT="exitcode cmd_duration python ruby todo clock battery"
|
||
__PB10K_BOTTOM="char"
|
||
|
||
# If you set OSH_THEME to "random", you can ignore themes you don't like.
|
||
# OMB_THEME_RANDOM_IGNORED=("powerbash10k" "wanelo")
|
||
# You can also specify the list from which a theme is randomly selected:
|
||
# OMB_THEME_RANDOM_CANDIDATES=("font" "powerline-light" "minimal")
|
||
|
||
# Uncomment the following line to use case-sensitive completion.
|
||
# OMB_CASE_SENSITIVE="true"
|
||
|
||
# Uncomment the following line to use hyphen-insensitive completion. Case
|
||
# sensitive completion must be off. _ and - will be interchangeable.
|
||
# OMB_HYPHEN_SENSITIVE="false"
|
||
|
||
# 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_OSH_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 don't want the repository to be considered dirty
|
||
# if there are untracked files.
|
||
# SCM_GIT_DISABLE_UNTRACKED_DIRTY="true"
|
||
|
||
# Uncomment the following line if you want to completely ignore the presence
|
||
# of untracked files in the repository.
|
||
# SCM_GIT_IGNORE_UNTRACKED="true"
|
||
|
||
# Uncomment the following line if you want to change the command execution time
|
||
# stamp shown in the history command output. One of the following values can
|
||
# be used to specify the timestamp format.
|
||
# * 'mm/dd/yyyy' # mm/dd/yyyy + time
|
||
# * 'dd.mm.yyyy' # dd.mm.yyyy + time
|
||
# * 'yyyy-mm-dd' # yyyy-mm-dd + time
|
||
# * '[mm/dd/yyyy]' # [mm/dd/yyyy] + [time] with colors
|
||
# * '[dd.mm.yyyy]' # [dd.mm.yyyy] + [time] with colors
|
||
# * '[yyyy-mm-dd]' # [yyyy-mm-dd] + [time] with colors
|
||
# If not set, the default value is 'yyyy-mm-dd'.
|
||
# HIST_STAMPS='yyyy-mm-dd'
|
||
|
||
# Uncomment the following line if you do not want OMB to overwrite the existing
|
||
# aliases by the default OMB aliases defined in lib/*.sh
|
||
# OMB_DEFAULT_ALIASES="check"
|
||
|
||
# Would you like to use another custom folder than $OSH/custom?
|
||
# OSH_CUSTOM=/path/to/new-custom-folder
|
||
|
||
# To disable the uses of "sudo" by oh-my-bash, please set "false" to
|
||
# this variable. The default behavior for the empty value is "true".
|
||
OMB_USE_SUDO=true
|
||
|
||
# To enable/disable display of Python virtualenv and condaenv
|
||
# OMB_PROMPT_SHOW_PYTHON_VENV=true # enable
|
||
# OMB_PROMPT_SHOW_PYTHON_VENV=false # disable
|
||
|
||
# To enable/disable Spack environment information
|
||
# OMB_PROMPT_SHOW_SPACK_ENV=true # enable
|
||
# OMB_PROMPT_SHOW_SPACK_ENV=false # disable
|
||
|
||
# Which completions would you like to load? (completions can be found in ~/.oh-my-bash/completions/*)
|
||
# Custom completions may be added to ~/.oh-my-bash/custom/completions/
|
||
# Example format: completions=(ssh git bundler gem pip pip3)
|
||
# Add wisely, as too many completions slow down shell startup.
|
||
completions=(
|
||
git
|
||
composer
|
||
ssh
|
||
)
|
||
|
||
# Which aliases would you like to load? (aliases can be found in ~/.oh-my-bash/aliases/*)
|
||
# Custom aliases may be added to ~/.oh-my-bash/custom/aliases/
|
||
# Example format: aliases=(vagrant composer git-avh)
|
||
# Add wisely, as too many aliases slow down shell startup.
|
||
aliases=(
|
||
general
|
||
)
|
||
|
||
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-bash/plugins/*)
|
||
# Custom plugins may be added to ~/.oh-my-bash/custom/plugins/
|
||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||
# Add wisely, as too many plugins slow down shell startup.
|
||
plugins=(
|
||
git
|
||
bashmarks
|
||
sudo
|
||
chezmoi
|
||
)
|
||
|
||
# Which plugins would you like to conditionally load? (plugins can be found in ~/.oh-my-bash/plugins/*)
|
||
# Custom plugins may be added to ~/.oh-my-bash/custom/plugins/
|
||
# Example format:
|
||
# if [ "$DISPLAY" ] || [ "$SSH" ]; then
|
||
# plugins+=(tmux-autoattach)
|
||
# fi
|
||
|
||
# If you want to reduce the initialization cost of the "tput" command to
|
||
# initialize color escape sequences, you can uncomment the following setting.
|
||
# This disables the use of the "tput" command, and the escape sequences are
|
||
# initialized to be the ANSI version:
|
||
#
|
||
#OMB_TERM_USE_TPUT=no
|
||
|
||
source "$OSH"/oh-my-bash.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"
|
||
|
||
# ssh
|
||
# export SSH_KEY_PATH="~/.ssh/rsa_id"
|
||
|
||
# Set personal aliases, overriding those provided by oh-my-bash libs,
|
||
# plugins, and themes. Aliases can be placed here, though oh-my-bash
|
||
# users are encouraged to define aliases within the OSH_CUSTOM folder.
|
||
# For a full list of active aliases, run `alias`.
|
||
#
|
||
# Example aliases
|
||
# alias bashconfig="mate ~/.bashrc"
|
||
# alias ohmybash="mate ~/.oh-my-bash"
|
||
|
||
function __pb10k_top {
|
||
local seg segments info terminal_width filler_character cursor_adjust
|
||
local __TOP_LEFT="\n$_omb_prompt_black╭─ "
|
||
local __TOP_RIGHT=""
|
||
local __TOP_RIGHT_LEN=0
|
||
local __SEG_AT_RIGHT=0
|
||
|
||
IFS=" " read -ra segments <<< "$__PB10K_TOP_LEFT"
|
||
for seg in "${segments[@]}"; do
|
||
info="$(__pb10k_prompt_"$seg")"
|
||
[ "$info" != "" ] && __pb10k_top_left_parse "$info"
|
||
done
|
||
|
||
if command -v tput &> /dev/null; then
|
||
terminal_width=$(tput cols)
|
||
filler_character="─"
|
||
__TOP_LEFT+="$_omb_prompt_black"
|
||
__TOP_LEFT+="$(for ((i=0; i<"$terminal_width"; i++)); do printf "%s" "$filler_character"; done)"
|
||
__TOP_LEFT+="\033[${terminal_width}G\033[1K\033[1A"
|
||
fi
|
||
|
||
IFS=" " read -ra segments <<< "$__PB10K_TOP_RIGHT"
|
||
for seg in "${segments[@]}"; do
|
||
info="$(__pb10k_prompt_"$seg")"
|
||
[ "$info" != "" ] && __pb10k_top_right_parse "$info"
|
||
done
|
||
|
||
if command -v tput &> /dev/null; then
|
||
[ "$__TOP_RIGHT_LEN" -gt 0 ] && __TOP_RIGHT_LEN=$(( __TOP_RIGHT_LEN - 1 ))
|
||
cursor_adjust="\033[${__TOP_RIGHT_LEN}D"
|
||
__TOP_LEFT+="$cursor_adjust"
|
||
fi
|
||
|
||
printf "%s%s" "$__TOP_LEFT" "$__TOP_RIGHT"
|
||
}
|
||
|
||
function __pb10k_bottom {
|
||
local seg segments info
|
||
local __BOTTOM=""
|
||
_omb_util_split segments "$__PB10K_BOTTOM"
|
||
for seg in "${segments[@]}"; do
|
||
info=$(__pb10k_prompt_"$seg")
|
||
[[ $info ]] && __pb10k_bottom_parse "$info"
|
||
done
|
||
printf "\n$_omb_prompt_black╰─ %s" "$__BOTTOM"
|
||
}
|
||
|
||
# ----以下是我的自訂內容 ------------------------------------------------------
|
||
export LANG=zh_TW.UTF-8 #macOS要手動指定,不然被ssh連入使用時會變亂碼
|
||
|
||
{{ if .signingkey }}
|
||
export GPG_TTY=$(tty){{ end }}
|
||
|
||
# overwrite ls
|
||
if command -v eza &> /dev/null; then
|
||
alias ls='eza --color=always --icons=always'
|
||
elif command -v exa &> /dev/null; then
|
||
alias ls='exa --color=always --icons'
|
||
fi
|
||
|
||
{{ template "common.sh.tmpl" . }}
|
||
|