Last active
March 2, 2024 19:42
-
-
Save zero-pytagoras/c509012bd53724b6a370072c49a5c734 to your computer and use it in GitHub Desktop.
automate system setup/backup on RPM based machines
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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/[email protected] && unzip [email protected] -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