* .gitconfig; tools/alpine.sh; mkdir -p when install; restruct ubuntu.sh

* spelling

* tpm requires make; set-tz; lemonbench

* ANTIGEN_EXCLUDE

* dfs force-update
This commit is contained in:
Dict Xiong 2022-05-22 00:53:55 +08:00 committed by GitHub
parent d5bf057e65
commit c8cf824e62
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 100 additions and 29 deletions

3
.gitconfig2 Normal file
View File

@ -0,0 +1,3 @@
[user]
email = me@beardic.cn
name = Dict Xiong

37
.zshrc2
View File

@ -42,19 +42,27 @@ fi
source "$ANTIGEN"
antigen use oh-my-zsh
# enable plugins
antigen bundle command-not-found
antigen bundle docker
antigen bundle extract
antigen bundle fzf
antigen bundle git
antigen bundle ripgrep
antigen bundle thefuck
antigen bundle tmux
antigen bundle ufw
antigen bundle z
antigen bundle https://gitee.com/dictxiong/zsh-syntax-highlighting
antigen bundle https://gitee.com/dictxiong/zsh-completions
antigen bundle https://gitee.com/dictxiong/zsh-autosuggestions
antigen_plugins=( \
"command-not-found" \
"docker" \
"extract" \
"fzf" \
"git" \
"ripgrep" \
"thefuck" \
"tmux" \
"ufw" \
"z" \
"https://gitee.com/dictxiong/zsh-syntax-highlighting" \
"https://gitee.com/dictxiong/zsh-completions" \
"https://gitee.com/dictxiong/zsh-autosuggestions" \
)
for i in ${antigen_plugins[*]}
do
if [[ -z $ANTIGEN_EXCLUDE || ! $i =~ $ANTIGEN_EXCLUDE ]]; then
antigen bundle $i
fi
done
# select theme
antigen theme ${ZSH_THEME:-ys}
# apply
@ -67,6 +75,7 @@ dfs()
{
case $1 in
update ) (cd "$DOTFILES" && git pull) ;;
force-update ) (cd "$DOTFILES" && git fetch --all && git reset --hard origin/main && git pull) ;;
reset )
antigen reset 1> /dev/null
rm -rf $HOME/.antigen
@ -76,7 +85,7 @@ dfs()
echo 'Done. Please open a new shell to see the changes.'
;;
cd ) cd "$DOTFILES" ;;
* ) echo "unknown command \"$1\". available: update, reset, cd" ;;
* ) echo "unknown command \"$1\". available: update, force-update, reset, cd" ;;
esac
}

View File

@ -115,6 +115,7 @@ insert_if_not_exist()
filename=$1
line=$2
fmt_note "installing \"$line\" into \"$filename\" ..."
mkdir -p $(dirname "$filename")
if [ ! -f "$filename" ]; then
touch $filename
fi
@ -140,6 +141,7 @@ create_symlink()
fmt_error "\"$src\" does not exist! aborting this job ..."
return 1
fi
mkdir -p $(dirname "$dest")
if [ -f "$dest" ]; then
if [ "$(readlink $dest)" -ef "$src" ]; then
return 0
@ -188,11 +190,11 @@ install_tmux_tpm(){
if [[ -x $(command -v tmux) && ! -d "$TMUX_TPM" ]]; then
fmt_note "installing tmux tpm ..."
git clone https://hub.fastgit.xyz/tmux-plugins/tpm "$TMUX_TPM"
if [[ -x $(command -v g++) && -x $(command -v cmake) ]]; then
if [[ -x $(command -v g++) && -x $(command -v cmake) && -x $(command -v make) ]]; then
fmt_note "initializing tmux plugins ..."
~/.tmux/plugins/tpm/bin/install_plugins
else
fmt_warning "pls install g++ and cmake and then init tmux plugins by <prefix + I>"
fmt_warning "pls install g++,cmake,make and then init tmux plugins by <prefix + I> or ~/.tmux/plugins/tpm/bin/install_plugins"
fi
fi
}
@ -212,6 +214,7 @@ install(){
insert_if_not_exist "${HOME}/.zshrc" "source ${dotfile_home_path}/.zshrc2"
insert_if_not_exist "${HOME}/.tmux.conf" "source-file ${dotfile_home_path}/.tmux.conf2"
insert_if_not_exist "${HOME}/.vimrc" "source ${dotfile_home_path}/.vimrc2"
insert_if_not_exist "${HOME}/.gitconfig" "[include] path = \"${dotfile_home_path}/.gitconfig2\""
create_symlink "${dotfile_path}/.ssh/authorized_keys2" "${HOME}/.ssh/authorized_keys2"
# those that won't be uninstalled in the future
install_tmux_tpm
@ -226,6 +229,7 @@ uninstall(){
delete_if_exist "${HOME}/.zshrc" "source ${dotfile_home_path}/.zshrc2"
delete_if_exist "${HOME}/.tmux.conf" "source-file ${dotfile_home_path}/.tmux.conf2"
delete_if_exist "${HOME}/.vimrc" "source ${dotfile_home_path}/.vimrc2"
delete_if_exist "${HOME}/.gitconfig" "[include] path = \"${dotfile_home_path}/.gitconfig2\""
delete_link_if_match "${dotfile_path}/.ssh/authorized_keys2" "${HOME}/.ssh/authorized_keys2"
fmt_note "done uninstalling!"
fi

47
tools/alpine.sh Executable file
View File

@ -0,0 +1,47 @@
#!/bin/bash
if [[ $USER != "root" ]]; then
echo "must run as root!"
exit 1
fi
set_mirror()
{
#MIRROR=${1:="mirrors.tuna.tsinghua.edu.cn"}
#MIRROR=${MIRROR//\//\\\/}
#sed -i 's/(archive|security).ubuntu.com/${MIRROR}/g' /etc/apt/sources.list
echo "to-do ..."
}
apk_add()
{
apk update
# mass installation
apk add zsh git tmux vim curl wget bash python3 htop gcc g++ cmake make fzf perl linux-headers bind-tools iputils man-db
#for i in {fzf,ripgrep}; do apk add $i -y; done
# who am i
git config --global user.email "me@beardic.cn"
git config --global user.name "Dict Xiong"
}
set_timezone()
{
apk update
apk add tzdata
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone
}
router()
{
case $1 in
apk-add ) apk_add ;;
set-timezone | set-tz ) set_timezone ;;
#set-mirror ) set_mirror $2 ;;
* ) echo unknown command "$1". available: apk-add, set-timezone;;
esac
}
router $@

View File

@ -10,6 +10,7 @@ install_commands=(\
[v2ray]="bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh) #--remove" \
[zerotier-one]='curl -s https://install.zerotier.com | sudo bash' \
[docker-ce]='curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh #--mirror Aliyun #--dry-run' \
[lemonbench]='curl -fsSL https://ilemonra.in/LemonBenchIntl | bash -s fast # or full' \
)
install()

View File

@ -5,36 +5,43 @@ if [[ $USER != "root" ]]; then
exit 1
fi
init()
set_mirror()
{
MIRROR=${1:-"mirrors.tuna.tsinghua.edu.cn"}
MIRROR=${MIRROR//\//\\\/}
sed -i 's/(archive|security).ubuntu.com/${MIRROR}/g' /etc/apt/sources.list
}
apt_install()
{
# basic packages
apt update
for i in {man-db,vim,ca-certificates}; do apt install $i -y; done
# apt source
${MIRROR:="mirrors.tuna.tsinghua.edu.cn"}
MIRROR=${MIRROR//\//\\\/}
sed -i 's/(archive|security).ubuntu.com/${MIRROR}/g' /etc/apt/sources.list
# mass installation
apt update
apt install git tmux zsh curl wget dialog net-tools dnsutils netcat traceroute sudo python3 python3-pip cron inetutils-ping openssh-client openssh-server htop gcc g++ cmake
apt install git tmux zsh curl wget dialog net-tools dnsutils netcat traceroute sudo python3 python3-pip cron inetutils-ping openssh-client openssh-server htop gcc g++ cmake make
for i in {fzf,ripgrep}; do apt install $i -y; done
# custom dotfiles (usually not needed)
mkdir -p ~/.ssh
# cd ~ && git clone https://gitee.com/dictxiong/dotfiles && ./dotfiles/install.sh
# who am i
git config --global user.email "me@beardic.cn"
git config --global user.name "Dict Xiong"
}
set_timezone()
{
TIMEZONE=${1:-"Asia/Shanghai"}
timedatectl set-timezone "$TIMEZONE"
}
router()
{
case $1 in
init ) init ;;
* ) echo unknown command "$1". available: init ;;
apt-install ) apt_install ;;
set-mirror ) set_mirror $2 ;;
set-timezone\
| set-tz ) set_timezone $2 ;;
* ) echo unknown command "$1". available: apt-install, set-mirror, set-timezone;;
esac
}