lazy/init_user.sh
2023-10-25 14:29:04 +08:00

85 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
scriptdir=$(dirname $(realpath $0))
# ============================================================
. $scriptdir/utils.sh
update_file $scriptdir/files/ys-simple.zsh-theme ~/.oh-my-zsh/themes/ys-simple.zsh-theme
# ============================================================
configure_ssh() {
[ -f ~/.ssh/authorized_keys ] && return
read -p "要配置 authorized_keys 吗?[Y]: " response
if [[ -z "$response" ]] || [[ $response =~ ^[Yy]$ ]]; then
mkdir -p ~/.ssh
cp $scriptdir/files/authorized_keys ~/.ssh/authorized_keys
fi
}
configure_ssh_keygen() {
[ -f ~/.ssh/id_ed25519.pub ] && return
read -p "要生成 sshkey 吗?[N]: " response
if [[ $response =~ ^[Yy]$ ]]; then
mkdir -p ~/.ssh
read -p "sshkey 的名字: " sshkeyname
ssh-keygen -t ed25519 -C $sshkeyname
fi
}
configure_git() {
[ -f ~/.gitconfig ] && return
read -p "要配置 git 吗?[N]: " response
if [[ $response =~ ^[Yy]$ ]]; then
cp $scriptdir/files/.gitconfig ~/.gitconfig
fi
}
configure_miniconda() {
[ -d ~/.miniconda3 ] && return
read -p "要安装 miniconda 吗?[N]: " response
if [[ $response =~ ^[Yy]$ ]]; then
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O $tempdir/miniconda.sh
bash $tempdir/miniconda.sh -b -p ~/.miniconda3
rm $tempdir/miniconda.sh
~/.miniconda3/bin/conda init zsh
~/.miniconda3/bin/conda config --set changeps1 False
~/.miniconda3/bin/conda install -c conda-forge mamba
~/.miniconda3/bin/mamba init
fi
}
configure_nodejs() {
[ -d ~/.nvm/.git ] && return
read -p "要安装 nodejs 吗?[Y]: " response
if [[ -z "$response" ]] || [[ $response =~ ^[Yy]$ ]]; then
git_clone nvm-sh/nvm ~/.nvm --depth=1
\. $scriptdir/files/install-nvm.sh
\. ~/.nvm/nvm.sh
\. ~/.nvm/bash_completion
nvm install lts/iron
nvm alias default lts/iron
nvm install-latest-npm
fi
}
# ============================================================
configure_ssh
configure_ssh_keygen
configure_git
configure_miniconda
configure_nodejs