Files
config-backup/setup.sh
T

118 lines
3.7 KiB
Bash
Raw Normal View History

2024-06-21 15:01:44 +00:00
#!/bin/bash
2024-06-21 15:26:16 +00:00
# Make sure you're sudo
if [ "$EUID" -ne 0 ]
2024-06-21 15:26:51 +00:00
then echo "Please run as root using `sudo -i` then try again"
2024-06-21 15:26:16 +00:00
exit
fi
2024-06-21 15:01:44 +00:00
2024-09-17 14:42:51 -04:00
sudo pacman -Sy --needed --noconfirm --noconfirm fzf git yay
USERTEMP=$(who | awk '{print $1}' | sort -u | fzf)
2024-06-21 15:29:20 +00:00
# Explain what the script will do and ask for confirmation
echo "This script will install and do the following:
- Configuration files from https://github.com/ION606/swaybackup.git
- Librewolf browser
- Visual Studio Code
- Various fonts
- The latest version of Java
- Alacritty terminal
- Nautilus file manager
- Node.js
- Git and GitHub CLI
- Neovim
- Gparted
- VLC media player
- GCC and G++
- Asciiquarium
- Thunderbird
- Grim and Slurp (screenshot tools)
- Xclip
- Qbittorrent
- Gimp
- Audacity
- Python3-pip
- NPM packages (Bitwarden CLI, Alacritty themes, Typescript)
- Vesktop
2024-06-24 14:20:41 +00:00
- Docker
- Minikube
2024-08-02 19:09:05 +00:00
- Gnome Tweaks
2024-06-21 15:29:20 +00:00
- Remove Thunar and Foot
- Clean up and update system
2024-06-21 15:52:13 +00:00
Do you want to proceed? (Y/N, default Y): "
2024-06-21 15:29:20 +00:00
read answer
2024-06-21 15:52:13 +00:00
answer=${answer:-y}
if [ "$answer" != "y" ]; then
2024-06-24 20:29:38 -04:00
echo "Installation aborted."
exit
2024-06-21 15:29:20 +00:00
fi
2024-06-21 15:01:44 +00:00
# Make temporary directory
2024-09-17 14:42:51 -04:00
mkdir $USERTEMP/Downloads/tempinstall || ""
cd $USERTEMP/Downloads/tempinstall
2024-06-21 15:01:44 +00:00
# Configuration Files
git clone https://github.com/ION606/swaybackup.git
cd swaybackup
mv -f waybar/config /etc/xdg/waybar/
mv -f waybar/style.css /etc/xdg/waybar
2024-09-17 14:42:51 -04:00
mv -f config $USERTEMP/.config/sway/config
mf -f lockscreen.sh $USERTEMP/lockscreen.sh
2024-06-21 15:03:51 +00:00
2024-09-17 14:42:51 -04:00
# replace "ion606" with the selected user
sed -i "s/ion606/$USERTEMP/g" config
2024-06-21 15:01:44 +00:00
2024-09-17 14:42:51 -04:00
# set up automations in child process
mkdir -p $USERTEMP/.automations && cp -r -f auto/* $USERTEMP/.automations/ && $(sudo pacman -Sy --needed --noconfirm dunst && sudo bash $USERTEMP/.automations/setupauto.sh $USERTEMP &> $USERTEMP/setuplogs.log) &
2024-06-21 15:01:44 +00:00
2024-09-17 14:42:51 -04:00
# Installs
2024-06-21 15:01:44 +00:00
# Librewolf
curl -fsSL https://rpm.librewolf.net/librewolf-repo.repo | pkexec tee /etc/yum.repos.d/librewolf.repo
# Fonts
2024-09-17 14:42:51 -04:00
yay -Sy ttf-bitstream-vera ttf-droid gsfonts ttf-ms-win11-auto || echo "failed to install fonts!"
2024-06-21 15:01:44 +00:00
# Install Java
2024-09-17 14:42:51 -04:00
LATEST_JDK=$(sudo dnf list available | grep -E 'java-[0-9]+-openjdk' | awk '{print $1}' | sort -V | tail -n 1) && yay -Sy --needed --noconfirm $LATEST_JDK || echo "failed to install Java!"
2024-06-21 15:01:44 +00:00
2024-09-17 14:42:51 -04:00
# # Proton VPN
# wget "https://repo.protonvpn.com/fedora-$(cat /etc/fedora-release | cut -d\ -f 3)-stable/protonvpn-stable-release/protonvpn-stable-release-1.0.1-2.noarch.rpm" \
# && dnf install ./protonvpn-stable-release-1.0.1-2.noarch.rpm \
# || echo "failed to install Proton VPN!"
2024-06-24 14:20:41 +00:00
# General Package Install
2024-09-17 14:42:51 -04:00
yay -Sy --needed --noconfirm alacritty nautilus nodejs librewolf vscodium-bin \
2024-06-21 15:01:44 +00:00
git gh proton-vpn-gnome-desktop neovim gparted liberation-fonts \
vlc gcc gcc-c++ asciiquarium thunderbird grim slurp xclip \
2024-08-02 19:09:05 +00:00
qbittorrent gimp audacity python3-pip htop obs-studio gnome-tweaks \
2024-09-17 14:42:51 -04:00
torbrowser-launcher lm_sensors fancontrol blueman blueman-applet docker minikube \
min-browser-bin libreoffice-fresh npm wofi nm-applet nm-connection-editor mako\
2024-06-21 15:01:44 +00:00
|| echo "failed to install some packages!"
npm install -g @bitwarden/cli alacritty-themes typescript || echo "failed to install Typescript!"
2024-09-17 14:42:51 -04:00
mkdir -p $USERTEMP/.icons
echo -e "https://www.gnome-look.org/p/1305251\nhttps://www.gnome-look.org/p/2091068" > $USERTEMP/.icons/links.txt
2024-08-02 19:09:05 +00:00
2024-06-24 14:20:41 +00:00
alacritty-themes --create && alacritty-themes Hyper || echo "alacritty theme install failed!"
2024-09-17 14:42:51 -04:00
cp -r $USERTEMP/.config/wofi/ wofi > /dev/null 2>&1 &
2024-08-02 19:09:05 +00:00
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
2024-06-21 15:01:44 +00:00
# Remove old programs
2024-09-17 14:42:51 -04:00
yay -R thunar foot || ""
2024-06-21 18:03:56 +00:00
2024-06-21 15:03:51 +00:00
# Clean-up and update
2024-09-17 14:42:51 -04:00
yay && yay -Scc
cd ../ && rm -rf tempinstall || echo "failed to remove temporary directory at $PWD/tempinstall"
2024-06-21 15:01:44 +00:00
2024-06-28 16:08:47 +00:00
# history preferences
HISTIGNORE="*shutdown now*:*reboot*:erasedups"
2024-06-21 18:03:56 +00:00
# Log-ins and installs
2024-06-21 15:01:44 +00:00
bw login
gh auth login
2024-06-21 15:45:46 +00:00
exit