From e29ebb3b9a4e1cec902a6571f011b37a02a9067d Mon Sep 17 00:00:00 2001 From: madumlao Date: Tue, 16 Dec 2025 17:56:03 +0800 Subject: [PATCH] Add support for debian --- install-debian.sh | 85 ++++++++++++++++++++++++++++++++++++++++++++++ install-ubuntu.sh | 86 +---------------------------------------------- install.sh | 1 + 3 files changed, 87 insertions(+), 85 deletions(-) create mode 100755 install-debian.sh mode change 100755 => 120000 install-ubuntu.sh diff --git a/install-debian.sh b/install-debian.sh new file mode 100755 index 0000000..e136e86 --- /dev/null +++ b/install-debian.sh @@ -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 diff --git a/install-ubuntu.sh b/install-ubuntu.sh deleted file mode 100755 index e136e86..0000000 --- a/install-ubuntu.sh +++ /dev/null @@ -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 diff --git a/install-ubuntu.sh b/install-ubuntu.sh new file mode 120000 index 0000000..9d7b0bc --- /dev/null +++ b/install-ubuntu.sh @@ -0,0 +1 @@ +install-debian.sh \ No newline at end of file diff --git a/install.sh b/install.sh index 0d044bb..69a5a5f 100755 --- a/install.sh +++ b/install.sh @@ -37,6 +37,7 @@ if [ "$(uname)" == "Linux" ]; then export PROFILE_DISTRO_CODENAME="$VERSION_CODENAME" export PROFILE_DISTRO_FAMILY="$ID_LIKE" case "$PROFILE_DISTRO" in + debian ) ./install-debian.sh ;; ubuntu ) ./install-ubuntu.sh ;; ol | rhel ) ./install-rhel.sh ;; * ) echo "Unknown distro, install manually"