Skip to content

Instantly share code, notes, and snippets.

@zero-pytagoras
Last active March 2, 2024 19:42
Show Gist options
  • Save zero-pytagoras/c509012bd53724b6a370072c49a5c734 to your computer and use it in GitHub Desktop.
Save zero-pytagoras/c509012bd53724b6a370072c49a5c734 to your computer and use it in GitHub Desktop.
automate system setup/backup on RPM based machines
#!/usr/bin/env bash
################################################
# Created by: Silent-Mobius
# Purpose: automate system setup/backup on RPM based machines
# version: 0.0.7
# date: 01.03.2024
set -x
set -o errexit
set -o pipefail
################################################
[[ -e /etc/os-release ]] && . /etc/os-release
USER="${1:'aschapelle'}"
PASSWD="${2}"
NULL=/dev/null
if ! grep -Eq 'rocky|rhel|centos|fedora' /etc/os-release;then
echo "[!] Seems like not supported"
exit 1
fi
if ! grep -q $USER /etc/passwd;then
echo "[+] Generating user: $USER"
useradd -G wheel $USER
echo "[+] Setting Aliases"
echo "
alias cl='clear'
alias cp='cp -v'
alias mv='mv -v'
alias drop_caches='echo 1 > /proc/sys/vm/drop_caches'
alias gc='git clone'
alias gp='git push'
alias l='ls'
alias la='ls -la'
alias ll='ls -l'
alias vi='vim'
alias k=kubectl
source <(kubectl completion bash)
PS1='\[\033[01;32m\]\u@\h \[\033[00m\]\w\[\033[01;34m\] [$(git symbolic-ref --short HEAD 2>/dev/null)]\[\033[00m\]\n$ '
" >> /home/$USER/.bashrc
fi
while [[ ${#PASSWD} -lt 0 ]]
do
read -p "[!] Please provide password: " PASSWD
done
echo -e "$PASSWD\n$PASSWD" | passwd --stdin
echo -e "$PASSWD\n$PASSWD" | passwd --stdin $USER
printf "[gitlab.com_paulcarroty_vscodium_repo]\nname=download.vscodium.com\nbaseurl=https://download.vscodium.com/rpms/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg\nmetadata_expire=1h" | sudo tee -a /etc/yum.repos.d/vscodium.repo
sudo dnf install -y epel-release elrepo-release rocky-release-rpi lsb_release
sudo dnf install -y --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm \
https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm \
https://repo.almalinux.org/almalinux/9/extras/aarch64/os/Packages/almalinux-release-synergy-9-2.el9.noarch.rpm
sudo dnf groupinstall -y "Hardware Support" "Sound and Video" "System Tools" "RPM Development Tools" "Development Tools" "Fedora Packager" "Legacy UNIX Compatibility" "XFCE"
sudo dnf install -y slick-greeter.aarch64 slick-greeter-cinnamon.noarch cinnamon terminator xed plank htop firefox file-roller git codium vim gvim vlc geany geany-plugins-common curl wget libgtop2 unzip java-latest-openjdk java-latest-openjdk-devel java-latest-openjdk-headless
sleep 2
if which wget &> $NULL;then
wget https://github.com/ful1e5/Bibata_Cursor/releases/download/v2.0.6/Bibata.tar.xz && tar xvf Bibata.tar.xz -C /usr/share/icons
wget https://cinnamon-spices.linuxmint.com/files/applets/sysmonitor@orcus.zip && unzip sysmonitor@orcus.zip -d /usr/share/cinnamon/applets
fi
if which curl &> $NULL;then
curl -s "https://get.sdkman.io" | bash
curl -L get.docker.com | bash
curl -sfL https://get.k3s.io | sh -
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment