Files
scripts/after-setup
2026-03-24 11:23:12 +08:00

87 lines
2.6 KiB
Bash
Executable File

#!/bin/bash
# 1. Function to set up dir colors.
run_colourful_console() {
# Download the 256 colors dark theme.
curl -fsSL https://raw.githubusercontent.com/seebi/dircolors-solarized/master/dircolors.256dark -o $HOME/.dircolors
# Create directory for vim colors if it doesn't exist.
mkdir -p $HOME/.vim/colors
# Download jellybeans theme for vim.
curl -fsSL https://raw.githubusercontent.com/nanotech/jellybeans.vim/master/colors/jellybeans.vim -o $HOME/.vim/colors/jellybeans.vim
# Add or update .vimrc to set the colorscheme to jellybeans.
if [ ! -f "$HOME/.vimrc" ]; then
cat <<EOF > $HOME/.vimrc
syntax on
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set background=dark
colorscheme jellybeans
EOF
echo "Created .vimrc with jellybeans colorscheme."
else
sed -i '/^colorscheme/d' $HOME/.vimrc
echo "colorscheme jellybeans" >> $HOME/.vimrcd
echo "Updated .vimrc with jellybeans colorscheme."
fi
}
# 2. Function to generate commands to update SSHD config.
run_generate_sshd_commands() {
echo 'sudo sed -i "/#TCPKeepAlive yes/c\TCPKeepAlive no" /etc/ssh/sshd_config'
echo 'sudo sed -i "/^ClientAliveInterval/c\ClientAliveInterval 30" /etc/ssh/sshd_config'
echo 'sudo sed -i "/^ClientAliveCountMax/c\ClientAliveCountMax 300" /etc/ssh/sshd_config'
echo 'sudo systemctl restart sshd'
}
# 3. Function to set up tmux with tpm and a custom configuration.
run_setup_tmux() {
if ! command -v git &> /dev/null || ! command -v tmux &> /dev/null; then
echo "Please install git and tmux before running this task."
return 1
fi
# Clone tpm if it's not already cloned
TPM_DIR="$HOME/.tmux/plugins/tpm"
if [ ! -d "$TPM_DIR" ]; then
git clone https://github.com/tmux-plugins/tpm.git $TPM_DIR
echo "Cloned tpm into $TPM_DIR"
fi
# Get the absolute path to the directory containing this bash script
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Copy _tmux.conf to .tmux.conf in the user's home directory
cp "$SCRIPT_DIR/templates/_tmux.conf" $HOME/.tmux.conf
echo "Copied $SCRIPT_DIR/templates/_tmux.conf to $HOME/.tmux.conf"
echo "Now start tmux and press prefix + I to install the plugins."
}
# Tasks menu
echo "Select a task:"
echo "1. Colourful Console"
echo "2. Generate Commands to update SSHD config"
echo "3. Setup tmux"
read choice
case $choice in
1)
run_colourful_console
;;
2)
run_generate_sshd_commands
;;
3)
run_setup_tmux
;;
*)
echo "Invalid choice."
;;
esac