Add support for RHEL / Oracle (9xx)
This commit is contained in:
80
install-rhel.sh
Executable file
80
install-rhel.sh
Executable file
@@ -0,0 +1,80 @@
|
||||
#!/bin/bash
|
||||
# run by install.sh
|
||||
# tested on os-release 9,3
|
||||
APP_DIR="$(dirname "$0")"
|
||||
|
||||
echo "Run an apt update"
|
||||
if sudo -l dnf > /dev/null; then
|
||||
sudo dnf check-update
|
||||
else
|
||||
echo "Unable to run dnf commands, please install manually"
|
||||
fi
|
||||
|
||||
echo "Install git and friends"
|
||||
if sudo -l apt > /dev/null; then
|
||||
sudo dnf install -y git
|
||||
else
|
||||
echo "Unable to autoinstall git and friends, please install manually"
|
||||
fi
|
||||
|
||||
echo "Install zsh and friends"
|
||||
if sudo -l dnf > /dev/null; then
|
||||
sudo dnf install -y zsh PackageKit-command-not-found sqlite
|
||||
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 and friends"
|
||||
if sudo -l apt > /dev/null; then
|
||||
sudo dnf install -y vim-enhanced
|
||||
else
|
||||
echo "Unable to autoinstall vim 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
|
||||
17
install.sh
17
install.sh
@@ -26,8 +26,21 @@ cd "$APP_DIR"
|
||||
APP_DIR="$(pwd)"
|
||||
|
||||
if [ "$(uname)" == "Linux" ]; then
|
||||
# TODO: add support for different distributions
|
||||
./install-ubuntu.sh
|
||||
# detect WSL
|
||||
if uname -r | grep -q WSL > /dev/null; then
|
||||
export PROFILE_WSL=y
|
||||
fi
|
||||
|
||||
source /etc/os-release
|
||||
export PROFILE_DISTRO="$ID"
|
||||
export PROFILE_DISTRO_VERSION="$VERSION_ID"
|
||||
export PROFILE_DISTRO_CODENAME="$VERSION_CODENAME"
|
||||
export PROFILE_DISTRO_FAMILY="$ID_LIKE"
|
||||
case "$PROFILE_DISTRO" in
|
||||
ubuntu ) ./install-ubuntu.sh ;;
|
||||
ol | rhel ) ./install-rhel.sh ;;
|
||||
* ) echo "Unknown distro, install manually"
|
||||
esac
|
||||
elif [ "$(uname)" == "Darwin" ]; then
|
||||
echo TODO: install-macos.sh
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user