Add support for debian

This commit is contained in:
2025-12-16 17:56:03 +08:00
parent 63b2ea7388
commit e29ebb3b9a
3 changed files with 87 additions and 85 deletions

85
install-debian.sh Executable file
View File

@@ -0,0 +1,85 @@
#!/bin/bash
# run by install.sh
APP_DIR="$(dirname "$0")"
echo "Run an apt update"
if sudo -l apt > /dev/null; then
sudo apt update
else
echo "Unable to run apt commands, please install manually"
fi
echo "Install git and friends"
if sudo -l apt > /dev/null; then
sudo apt install git
else
echo "Unable to autoinstall git and friends, please install manually"
fi
echo "Install zsh and friends"
if sudo -l apt > /dev/null; then
sudo apt install zsh command-not-found
else
echo "Unable to autoinstall zsh and friends, please install manually"
fi
echo "Install oh-my-zsh and plugins"
if ! [ -d "$HOME/.oh-my-zsh" ]; then
git clone https://github.com/ohmyzsh/ohmyzsh "$HOME/.oh-my-zsh"
fi
(
cd "$HOME/.oh-my-zsh/plugins"
git clone https://github.com/zsh-users/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting
)
echo "Changing default shell"
ZSH_PATH="$(which zsh)"
if [ -x "$ZSH_PATH" ]; then
if sudo -l chsh -s $ZSH_PATH $USER; then
sudo chsh -s $ZSH_PATH $USER
elif sudo -l usermod -s $ZSH_PATH $USER; then
sudo usermod -s $ZSH_PATH $USER
else
echo "Cannot change shell using sudo, trying password"
if ! chsh -s "$ZSH_PATH"; then
echo "Unable to change shell to $ZSH_PATH, please change shell manually"
fi
fi
else
echo "No zsh available"
fi
SKEL_DIR="$APP_DIR/skel"
BACK_DIR="$APP_DIR/backup"
echo "Backing up original profile under $BACK_DIR"
mkdir -pv "$BACK_DIR"
cd "$SKEL_DIR"
OLDIFS="$IFS"
IFS=$'\n'
for x in $(ls -a); do
[ "$x" = '.' ] || [ "$x" = '..' ] && continue;
[ "$x" = '.profile-local' ] || [ "$x" = '.profile-private' ] && continue;
[ -r "$HOME/$x" ] && echo -ne "Backup: " && mv -v "$HOME/$x" "$BACK_DIR"
echo -ne "Linking: " && ln -srv "$(pwd)/$x" "$HOME"
done
IFS="$OLDIFS"
echo "Install vim-nox and friends"
if sudo -l apt > /dev/null; then
sudo apt install vim-nox
else
echo "Unable to autoinstall vim-nox and friends, please install manually"
fi
mkdir -pv "$HOME/.vim/bundle"
git clone https://github.com/VundleVim/Vundle.vim "$HOME/.vim/bundle/Vundle.vim"
vim +PluginInstall +qall
echo "Set vim-nox as the default system editor"
VIM_PATH="$(which vim.nox)"
if [ -x "$VIM_PATH" ]; then
sudo update-alternatives --set editor "$VIM_PATH"
fi

View File

@@ -1,85 +0,0 @@
#!/bin/bash
# run by install.sh
APP_DIR="$(dirname "$0")"
echo "Run an apt update"
if sudo -l apt > /dev/null; then
sudo apt update
else
echo "Unable to run apt commands, please install manually"
fi
echo "Install git and friends"
if sudo -l apt > /dev/null; then
sudo apt install git
else
echo "Unable to autoinstall git and friends, please install manually"
fi
echo "Install zsh and friends"
if sudo -l apt > /dev/null; then
sudo apt install zsh command-not-found
else
echo "Unable to autoinstall zsh and friends, please install manually"
fi
echo "Install oh-my-zsh and plugins"
if ! [ -d "$HOME/.oh-my-zsh" ]; then
git clone https://github.com/ohmyzsh/ohmyzsh "$HOME/.oh-my-zsh"
fi
(
cd "$HOME/.oh-my-zsh/plugins"
git clone https://github.com/zsh-users/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting
)
echo "Changing default shell"
ZSH_PATH="$(which zsh)"
if [ -x "$ZSH_PATH" ]; then
if sudo -l chsh -s $ZSH_PATH $USER; then
sudo chsh -s $ZSH_PATH $USER
elif sudo -l usermod -s $ZSH_PATH $USER; then
sudo usermod -s $ZSH_PATH $USER
else
echo "Cannot change shell using sudo, trying password"
if ! chsh -s "$ZSH_PATH"; then
echo "Unable to change shell to $ZSH_PATH, please change shell manually"
fi
fi
else
echo "No zsh available"
fi
SKEL_DIR="$APP_DIR/skel"
BACK_DIR="$APP_DIR/backup"
echo "Backing up original profile under $BACK_DIR"
mkdir -pv "$BACK_DIR"
cd "$SKEL_DIR"
OLDIFS="$IFS"
IFS=$'\n'
for x in $(ls -a); do
[ "$x" = '.' ] || [ "$x" = '..' ] && continue;
[ "$x" = '.profile-local' ] || [ "$x" = '.profile-private' ] && continue;
[ -r "$HOME/$x" ] && echo -ne "Backup: " && mv -v "$HOME/$x" "$BACK_DIR"
echo -ne "Linking: " && ln -srv "$(pwd)/$x" "$HOME"
done
IFS="$OLDIFS"
echo "Install vim-nox and friends"
if sudo -l apt > /dev/null; then
sudo apt install vim-nox
else
echo "Unable to autoinstall vim-nox and friends, please install manually"
fi
mkdir -pv "$HOME/.vim/bundle"
git clone https://github.com/VundleVim/Vundle.vim "$HOME/.vim/bundle/Vundle.vim"
vim +PluginInstall +qall
echo "Set vim-nox as the default system editor"
VIM_PATH="$(which vim.nox)"
if [ -x "$VIM_PATH" ]; then
sudo update-alternatives --set editor "$VIM_PATH"
fi

1
install-ubuntu.sh Symbolic link
View File

@@ -0,0 +1 @@
install-debian.sh

View File

@@ -37,6 +37,7 @@ if [ "$(uname)" == "Linux" ]; then
export PROFILE_DISTRO_CODENAME="$VERSION_CODENAME" export PROFILE_DISTRO_CODENAME="$VERSION_CODENAME"
export PROFILE_DISTRO_FAMILY="$ID_LIKE" export PROFILE_DISTRO_FAMILY="$ID_LIKE"
case "$PROFILE_DISTRO" in case "$PROFILE_DISTRO" in
debian ) ./install-debian.sh ;;
ubuntu ) ./install-ubuntu.sh ;; ubuntu ) ./install-ubuntu.sh ;;
ol | rhel ) ./install-rhel.sh ;; ol | rhel ) ./install-rhel.sh ;;
* ) echo "Unknown distro, install manually" * ) echo "Unknown distro, install manually"