2024-06-21 15:01:44 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
2024-06-21 15:26:16 +00:00
|
|
|
# Make sure you're sudo
|
2025-01-15 13:33:32 -05:00
|
|
|
if [ "$EUID" -ne 0 ]; 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
|
2024-12-26 15:49:22 +02:00
|
|
|
echo "This script will install and configure the following:
|
2024-06-21 15:29:20 +00:00
|
|
|
- Configuration files from https://github.com/ION606/swaybackup.git
|
|
|
|
|
- Librewolf browser
|
|
|
|
|
- Visual Studio Code
|
2024-12-26 15:49:22 +02:00
|
|
|
- Various modern and nerd fonts
|
|
|
|
|
- The latest versions of Java (multiple versions)
|
2024-06-21 15:29:20 +00:00
|
|
|
- Alacritty terminal
|
|
|
|
|
- Nautilus file manager
|
2024-12-26 15:49:22 +02:00
|
|
|
- Node.js and NPM packages
|
2024-06-21 15:29:20 +00:00
|
|
|
- Git and GitHub CLI
|
|
|
|
|
- Neovim
|
|
|
|
|
- Gparted
|
|
|
|
|
- VLC media player
|
2024-12-26 15:49:22 +02:00
|
|
|
- GCC and G++ (development tools)
|
|
|
|
|
- Asciiquarium (fun ASCII aquarium)
|
|
|
|
|
- Thunderbird (email client)
|
2024-06-21 15:29:20 +00:00
|
|
|
- Grim and Slurp (screenshot tools)
|
2024-12-26 15:49:22 +02:00
|
|
|
- Xclip (clipboard management)
|
|
|
|
|
- Qbittorrent (torrent client)
|
|
|
|
|
- GIMP (image editing)
|
|
|
|
|
- Audacity (audio editing)
|
|
|
|
|
- Python3-pip (Python package manager)
|
|
|
|
|
- Docker and Minikube (containerization and Kubernetes)
|
|
|
|
|
- Gnome Tweaks (desktop customization)
|
|
|
|
|
- TexLive (LaTeX tools and fonts)
|
|
|
|
|
- Obsidian (note-taking app)
|
|
|
|
|
- Starship (customizable shell prompt)
|
|
|
|
|
- Tailscale (VPN)
|
|
|
|
|
- Warp (Cloudflare's VPN)
|
2025-01-15 13:33:32 -05:00
|
|
|
- auto-cpufreq (battery optimizer)
|
2026-01-03 12:55:26 -08:00
|
|
|
- change and configure the default login to lemurs
|
2024-12-26 15:49:22 +02:00
|
|
|
- Remove Thunar and Foot (if present)
|
|
|
|
|
- Clean up and update the system
|
2024-06-21 15:29:20 +00:00
|
|
|
|
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
|
2025-01-15 13:33:32 -05: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
|
2025-09-03 15:21:40 +00:00
|
|
|
mkdir /home/$USERTEMP/Downloads/tempinstall || ""
|
|
|
|
|
cd /home/$USERTEMP/Downloads/tempinstall
|
2024-06-21 15:01:44 +00:00
|
|
|
|
|
|
|
|
# Configuration Files
|
2024-12-26 15:49:22 +02:00
|
|
|
git clone https://github.com/ION606/config-backup.git
|
|
|
|
|
cd config-backup
|
|
|
|
|
|
|
|
|
|
# sway
|
2024-06-21 15:01:44 +00:00
|
|
|
mv -f waybar/config /etc/xdg/waybar/
|
2024-12-26 15:49:22 +02:00
|
|
|
mv -f waybar/style.css /etc/xdg/waybar/
|
2025-09-03 15:21:40 +00:00
|
|
|
mv -f config /home/$USERTEMP/.config/sway/config
|
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-12-26 15:49:22 +02:00
|
|
|
# hyprland
|
|
|
|
|
mv -f hyprland/hy3.conf /home/$USERTEMP/config/hypr/hy3.conf
|
|
|
|
|
mv -f hyprland/hyprland.conf /home/$USERTEMP/config/hypr/hyprland.conf
|
|
|
|
|
|
|
|
|
|
# i3
|
|
|
|
|
mv -f i3/config /home/$USERTEMP/config/i3/config
|
|
|
|
|
mv -f i3/lockscreen.sh /home/$USERTEMP/config/i3/lockscreen.sh
|
|
|
|
|
|
|
|
|
|
# terminal
|
|
|
|
|
mv -f terminal/fish /home/$USERTEMP/.config/
|
|
|
|
|
mkdir -p /home/$USERTEMP/.config/alacritty/
|
|
|
|
|
mv -f terminal/alacritty.toml /home/$USERTEMP/.config/alacritty/
|
|
|
|
|
mv -f terminal/starship.toml /home/$USERTEMP/.config/
|
|
|
|
|
|
2025-01-15 13:33:32 -05:00
|
|
|
# battery
|
2025-09-03 15:21:40 +00:00
|
|
|
mkdir -p /home/$USERTEMP/auto-cpufreq/auto-cpufreq.conf
|
|
|
|
|
mv auto-cpufreq.conf /home/$USERTEMP/auto-cpufreq/auto-cpufreq.conf
|
2025-01-15 13:33:32 -05:00
|
|
|
|
2024-09-17 14:42:51 -04:00
|
|
|
# set up automations in child process
|
2026-05-06 17:17:26 -07:00
|
|
|
mkdir -p /home/$USERTEMP/.automations && cp -r -f auto/* /home/$USERTEMP/.automations/ && $(sudo pacman -Sy --needed --noconfirm dunst && sudo bash /home/$USERTEMP/.automations/setupauto.sh /home/$USERTEMP &>/home/$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
|
2025-01-15 13:33:32 -05:00
|
|
|
yay -Sy --needed --noconfirm - <packages.txt || echo "failed to install some packages!"
|
2024-12-26 15:49:22 +02:00
|
|
|
|
2026-01-03 12:55:26 -08:00
|
|
|
# login manager stuffs
|
|
|
|
|
sudo systemctl disable display-manager.service
|
|
|
|
|
sudo systemctl enable lemurs.service
|
|
|
|
|
sudo mv -f lemurs-config.toml /etc/lemurs/config.toml
|
|
|
|
|
|
2024-12-26 15:49:22 +02:00
|
|
|
mv -f Librewolf/chrome /home/$USERTEMP/.librewolf/
|
2026-05-06 17:17:26 -07:00
|
|
|
mv -f claude /usr/sbin/
|
2024-06-21 15:01:44 +00:00
|
|
|
|
|
|
|
|
npm install -g @bitwarden/cli alacritty-themes typescript || echo "failed to install Typescript!"
|
|
|
|
|
|
2025-09-03 15:21:40 +00:00
|
|
|
mkdir -p /home/$USERTEMP/.icons
|
2026-05-06 17:17:26 -07:00
|
|
|
echo -e "https://www.gnome-look.org/p/1305251\nhttps://www.gnome-look.org/p/2091068" >/home/$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!"
|
2025-09-03 15:21:40 +00:00
|
|
|
cp -r /home/$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
|