Compare commits

..

No commits in common. 'b2e8a870fb44f87c8630d5c3d38cb79d512f888c' and 'f9b503222a274d320a572778c3089794e855088a' have entirely different histories.

  1. 15
      README.md
  2. 67
      gnomesetup.sh
  3. 74
      install1.sh
  4. 59
      install2.sh
  5. 69
      install3.sh
  6. 69
      kdesetup.sh
  7. 132
      software.sh

@ -11,11 +11,19 @@ This step installs Arch to your hard drive. *IT WILL FORMAT THE DISK*
Boot into your Arch ISO & run commands: Boot into your Arch ISO & run commands:
```bash ```bash
# Installer 1 & 2 # Installer 1
curl https://git.merlinslair.net/beech/ArchScripts/raw/branch/main/install1.sh -o install1.sh curl https://git.merlinslair.net/beech/ArchScripts/raw/branch/main/install1.sh -o install1.sh
sh install1.sh sh install1.sh
# Reboot machine when prompted (remove installation media during reboot) # Installer 2
curl https://git.merlinslair.net/beech/ArchScripts/raw/branch/main/install2.sh -o install2.sh
sh install2.sh
# Preparing for first boot
exit
umount -R /mnt
# Reboot Machine (remove installation media during reboot)
reboot reboot
``` ```
@ -25,7 +33,8 @@ reboot
# Install Pacman Tools # Install Pacman Tools
sudo pacman -S --noconfirm pacman-contrib sudo pacman -S --noconfirm pacman-contrib
# Installer 3 (Desktop, software & Nvidia Drivers) # Installer 3 (Desktop & Nvidia Drivers)
sudo git clone https://git.merlinslair.net/beech/ArchScripts
cd ArchScripts cd ArchScripts
sh install3.sh sh install3.sh

@ -5,40 +5,49 @@ echo
PKGS=( PKGS=(
# --- XORG # --- XORG Display Rendering
'xorg' 'xorg' # Base Package
'xorg-drivers' 'xorg-drivers' # Display Drivers
'xterm' 'xterm' # Terminal for TTY
'xorg-server' 'xorg-server' # XOrg server
'xorg-apps' 'xorg-apps' # XOrg apps group
'xorg-xinit' 'xorg-xinit' # XOrg init
'xorg-xinput' 'xorg-xinput' # XOrg xinput
'xorg-twm' 'xorg-twm' # XOrg twm
'xorg-xclock' 'xorg-xclock' # XOrg xclock
'xf86-input-vmmouse' 'xf86-input-vmmouse'
'xf86-video-vmware' 'xf86-video-vmware'
'mesa' 'mesa'
# --- Desktop # --- Setup Desktop
'gnome' 'gnome' # GNOME
# --- Login manager # --- Login Display Manager
'sddm' 'sddm' # Base Login Manager
# --- Networking # --- Networking Setup
'dialog' 'dialog' # Enables shell scripts to trigger dialog boxex
'network-manager-applet' 'network-manager-applet' # System tray icon/utility for network connectivity
'dhclient' 'dhclient' # DHCP client
'libsecret' 'libsecret' # Library for storing passwords
'fail2ban' 'fail2ban' # Ban IP's after man failed login attempts
'ufw' 'ufw' # Uncomplicated firewall
# --- Audio # --- Audio
'pipewire' 'alsa-utils' # Advanced Linux Sound Architecture (ALSA) Components https://alsa.opensrc.org/
'wireplumber' 'alsa-plugins' # ALSA plugins
'pipewire-pulse' 'pulseaudio' # Pulse Audio sound components
'pipewire-alsa' 'pulseaudio-alsa' # ALSA configuration for pulse audio
'pavucontrol' 'pavucontrol' # Pulse Audio volume control
'pnmixer' # System tray volume control
# --- Bluetooth
'bluez' # Daemons for the bluetooth protocol stack
'bluez-utils' # Bluetooth development and debugging utilities
'bluez-libs' # Bluetooth libraries
'bluez-firmware' # Firmware for Broadcom BCM203x and STLC2300 Bluetooth chips
'blueberry' # Bluetooth configuration tool
'pulseaudio-bluetooth' # Bluetooth support for PulseAudio
) )
for PKG in "${PKGS[@]}"; do for PKG in "${PKGS[@]}"; do

@ -1,45 +1,42 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# This WILL format and partition 1 drive in your system. It is recommended to run the script with only 1 drive installed. # This WILL format and partition 1 drive in your system. It is recommended to run the script with only 1 drive installed.
# Selected drive is /dev/sda, replace sda with specified drive if you have multiple. List drives with 'lsblk'
# Change boot, SWAP, and root partition sizes to your needs in lines 15-17 # Change boot, SWAP, and root partition sizes to your needs in lines 15-17
echo "-------------------------------------------------" echo "-------------------------------------------------"
echo "Arch Install Script 1 - Drive Setup. Please CTRL+C and edit the SWAP & ROOT partition sizes before running if you haven't already." echo "Arch Install Script 1 - Drive Setup"
echo "-------------------------------------------------" echo "-------------------------------------------------"
lsblk lsblk
echo "Specify drive name for install (ex. /dev/sda, /dev/nvme0n1). THIS WILL FORMAT & PARTITION THE SPECIFIED DRIVE!" echo "Specify drive name for install (ex. /dev/sda, /dev/nvme0n1). THIS WILL FORMAT & PARTITION THE SPECIFIED DRIVE!"
read -r DISK read -r -p "Enter the disk: " DISK
if [[ ! -b $DISK ]]; then
echo "Disk $DISK does not exist."
exit 1
fi
echo -e "\nFormatting disk...\n$HR" echo -e "\nFormatting disk...\n$HR"
# disk prep # disk prep
sgdisk -Z $DISK 2>/dev/null # zap all on disk sgdisk -Z $DISK # zap all on disk
sgdisk -a 2048 -o $DISK 2>/dev/null # new gpt disk 2048 alignment sgdisk -a 2048 -o $DISK # new gpt disk 2048 alignment
# create partitions # create partitions
sgdisk -n 1:0:1024M $DISK 2>/dev/null # partition 1 (boot) sgdisk -n 1:0:1024M $DISK # partition 1 (boot)
sgdisk -n 2:0:8G $DISK 2>/dev/null # partition 2 (SWAP - change to desired size) sgdisk -n 2:0:4G $DISK # partition 2 (SWAP - change to desired size)
sgdisk -n 3:0:75G $DISK 2>/dev/null # partition 3 (root - change to desired size) sgdisk -n 3:0:35G $DISK # partition 3 (root - change to desired size)
sgdisk -n 4:0:0 $DISK 2>/dev/null # partition 4 (home, remaining space) sgdisk -n 4:0:0 $DISK # partition 4 (home, remaining space)
# partition types # set partition types
sgdisk -t 1:ef00 $DISK 2>/dev/null sgdisk -t 1:ef00 $DISK
sgdisk -t 2:8200 $DISK 2>/dev/null sgdisk -t 2:8200 $DISK
sgdisk -t 3:8300 $DISK 2>/dev/null sgdisk -t 3:8300 $DISK
sgdisk -t 4:8300 $DISK 2>/dev/null sgdisk -t 4:8300 $DISK
# label partitions # label partitions
sgdisk -c 1:"boot" $DISK 2>/dev/null sgdisk -c 1:"boot" $DISK
sgdisk -c 2:"swap" $DISK 2>/dev/null sgdisk -c 2:"swap" $DISK
sgdisk -c 3:"root" $DISK 2>/dev/null sgdisk -c 3:"root" $DISK
sgdisk -c 4:"home" $DISK 2>/dev/null sgdisk -c 4:"home" $DISK
# make filesystems
echo -e "\nCreating Filesystems...\n$HR" echo -e "\nCreating Filesystems...\n$HR"
mkfs.fat -F32 ${DISK}1 # FAT32 boot partition mkfs.fat -F32 ${DISK}1 # FAT32 boot partition
@ -48,6 +45,7 @@ swapon ${DISK}2 # enable SWAP
mkfs.ext4 ${DISK}3 mkfs.ext4 ${DISK}3
mkfs.ext4 ${DISK}4 mkfs.ext4 ${DISK}4
# mount partitions
echo "-------------------------------------------------" echo "-------------------------------------------------"
echo "Mounting Partitions" echo "Mounting Partitions"
echo "-------------------------------------------------" echo "-------------------------------------------------"
@ -58,14 +56,7 @@ mkdir /mnt/home
mount ${DISK}1 /mnt/boot mount ${DISK}1 /mnt/boot
mount ${DISK}4 /mnt/home mount ${DISK}4 /mnt/home
echo "-------------------------------------------------" # set download mirrors
echo "Downloading 2nd install script"
echo "-------------------------------------------------"
curl https://git.merlinslair.net/beech/ArchScripts/raw/branch/main/install2.sh -o /mnt/install2.sh
sed -i 's/\r$//' /mnt/install2.sh
chmod +x /mnt/install2.sh
echo "-------------------------------------------------" echo "-------------------------------------------------"
echo "Enabling Parallel Downloads" echo "Enabling Parallel Downloads"
echo "-------------------------------------------------" echo "-------------------------------------------------"
@ -75,24 +66,7 @@ pacman -Syy
pacman -S archlinux-keyring --noconfirm pacman -S archlinux-keyring --noconfirm
pacman -S pacman-contrib rsync reflector terminus-font --noconfirm --needed pacman -S pacman-contrib rsync reflector terminus-font --noconfirm --needed
sed -i 's/^#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf sed -i 's/^#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf
cat > /etc/pacman.d/mirrorlist << 'EOF' reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist
##
## Arch Linux repository mirrorlist
## Generated on install
##
EOF
if reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist 2>/dev/null; then
sed -i -e '/^\[/d' -e '/^#/!{/^Server/!d}' /etc/pacman.d/mirrorlist
if ! grep -q "^Server" /etc/pacman.d/mirrorlist; then
echo "Warning: reflector produced invalid mirrorlist, restoring backup"
cp /etc/pacman.d/mirrorlist.backup /etc/pacman.d/mirrorlist
sed -i -e '/^\[/d' -e '/^#/!{/^Server/!d}' /etc/pacman.d/mirrorlist
fi
else
echo "Warning: reflector failed, restoring backup mirrorlist"
cp /etc/pacman.d/mirrorlist.backup /etc/pacman.d/mirrorlist
sed -i -e '/^\[/d' -e '/^#/!{/^Server/!d}' /etc/pacman.d/mirrorlist
fi
# install arch # install arch
echo "-------------------------------------------------" echo "-------------------------------------------------"
@ -105,6 +79,8 @@ echo "-------------------------------------------------"
echo "Installed - Generating fstab" echo "Installed - Generating fstab"
echo "-------------------------------------------------" echo "-------------------------------------------------"
# generate fstab
genfstab -U -p /mnt >> /mnt/etc/fstab genfstab -U -p /mnt >> /mnt/etc/fstab
echo "-------------------------------------------------" echo "-------------------------------------------------"
@ -112,4 +88,4 @@ echo "Finished install script 1. Run install2.sh"
echo "-------------------------------------------------" echo "-------------------------------------------------"
# chroot # chroot
arch-chroot /mnt /install2.sh arch-chroot /mnt

@ -19,55 +19,43 @@ echo "Create a USER password (should be different from root)."
passwd $Username passwd $Username
# File edits for user permissions
sed -i 's/^# %wheel ALL=(ALL:ALL) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers sed -i 's/^# %wheel ALL=(ALL:ALL) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers
echo "Defaults rootpw" >> /etc/sudoers echo "Defaults rootpw" >> /etc/sudoers
sudo pacman -S bash-completion --noconfirm --needed # generate locales
pacman -S reflector --noconfirm --needed 2>/dev/null || true
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup 2>/dev/null || true
cat > /etc/pacman.d/mirrorlist << 'EOF'
##
## Arch Linux repository mirrorlist
## Generated on install
##
EOF
if reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist 2>/dev/null; then
sed -i -e '/^\[/d' -e '/^#/!{/^Server/!d}' /etc/pacman.d/mirrorlist
if ! grep -q "^Server" /etc/pacman.d/mirrorlist; then
echo "Warning: reflector produced invalid mirrorlist, restoring backup"
cp /etc/pacman.d/mirrorlist.backup /etc/pacman.d/mirrorlist
sed -i -e '/^\[/d' -e '/^#/!{/^Server/!d}' /etc/pacman.d/mirrorlist
fi
else
echo "Warning: reflector failed, restoring backup mirrorlist"
cp /etc/pacman.d/mirrorlist.backup /etc/pacman.d/mirrorlist
sed -i -e '/^\[/d' -e '/^#/!{/^Server/!d}' /etc/pacman.d/mirrorlist
fi
sudo pacman -S bash-completion --noconfirm --needed
sed -i 's/^#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen sed -i 's/^#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
locale-gen locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8 export LANG=en_US.UTF-8
ln -sf /usr/share/zoneinfo/America/Chicago /etc/localtime # set timezone & link HW clock
ln -s /usr/share/zoneinfo/America/Chicago > /etc/localtime
hwclock --systohc --utc hwclock --systohc --utc
# set hostname - edit archdesk with preferred hostname
echo "Set hostname (name of your PC on the network)." echo "Set hostname (name of your PC on the network)."
read -r -p "Enter the hostname: " HOSTNAME read -r -p "Enter the hostname: " HOSTNAME
echo ${HOSTNAME} > /etc/hostname echo ${HOSTNAME} > /etc/hostname
# Enable TRIM
systemctl enable fstrim.timer systemctl enable fstrim.timer
# mount efivars
mount -t efivarfs efivarfs /sys/firmware/efi/efivars/ mount -t efivarfs efivarfs /sys/firmware/efi/efivars/
bootctl install # install bootloader
# Fix boot permissions bootctl install
chmod 755 /boot
chmod 600 /boot/loader/random-seed 2>/dev/null || true
touch /boot/loader/entries/arch.conf touch /boot/loader/entries/arch.conf
@ -77,6 +65,8 @@ echo "initrd /initramfs-linux.img" >> /boot/loader/entries/arch.conf
echo "options root=PARTUUID=$(blkid -s PARTUUID -o value ${DISK}3) rw" >> /boot/loader/entries/arch.conf echo "options root=PARTUUID=$(blkid -s PARTUUID -o value ${DISK}3) rw" >> /boot/loader/entries/arch.conf
# install NetworkManager
sudo pacman -S networkmanager --noconfirm --needed sudo pacman -S networkmanager --noconfirm --needed
sudo pacman -S git --noconfirm --needed sudo pacman -S git --noconfirm --needed
sudo sed -i '/^\#\[multilib\]/s/^#//' /etc/pacman.conf sudo sed -i '/^\#\[multilib\]/s/^#//' /etc/pacman.conf
@ -87,18 +77,5 @@ sudo systemctl enable NetworkManager.service
sudo systemctl start NetworkManager.service sudo systemctl start NetworkManager.service
echo "-------------------------------------------------" echo "-------------------------------------------------"
echo "Cloning ArchScripts repository" echo "Arch Linux Installed & Configured. Please [exit] & run [umount -R /mnt] and reboot"
echo "-------------------------------------------------"
if [ -n "$Username" ]; then
cd /home/$Username
sudo -u $Username git clone https://git.merlinslair.net/beech/ArchScripts.git 2>/dev/null || true
echo "ArchScripts repository cloned to /home/$Username/ArchScripts"
else
echo "Username not set, skipping repo clone"
fi
umount /sys/firmware/efi/efivars/ 2>/dev/null || true
echo "-------------------------------------------------"
echo "Arch Linux Installed & Configured. Please reboot"
echo "-------------------------------------------------" echo "-------------------------------------------------"

@ -29,64 +29,15 @@ install_qemu () {
} }
setup_nvidia () { setup_nvidia () {
echo "-------------------------------------------------" echo "Setting up Nvidia drivers..."
echo "NVIDIA Driver Selection" sudo pacman -Syu --noconfirm --needed
echo "-------------------------------------------------" sudo pacman -S nvidia nvidia-utils lib32-nvidia-utils nvidia-settings --noconfirm --needed
sudo sed -i 's/^MODULES=().*/MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf
nvidia_options=("Main NVIDIA Drivers (Latest)" "NVIDIA 580xx Drivers (Pascal/Older - AUR)" "Cancel") sudo sed -i 's/\(HOOKS=.*\) kms/\1/' /etc/mkinitcpio.conf
sudo mkinitcpio -P
echo "Select NVIDIA driver version:" sudo mkdir -p /etc/pacman.d/hooks/ && sudo cp nvidia.hook /etc/pacman.d/hooks/
select nvidia_opt in "${nvidia_options[@]}"; do sudo sed -i '/^options/ s/$/ nvidia-drm.modeset=1 nvidia_drm.fbdev=1 nvidia-drm.ForceCompositionPipeline=1 nvidia.NVreg_EnableGpuFirmware=0/' /boot/loader/entries/arch.conf
case $REPLY in echo "Nvidia driver setup finished."
1)
echo "Setting up main NVIDIA drivers..."
sudo pacman -Syu --noconfirm --needed
sudo pacman -S nvidia nvidia-utils lib32-nvidia-utils nvidia-settings --noconfirm --needed
sudo sed -i 's/^MODULES=().*/MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf
sudo sed -i 's/\(HOOKS=.*\) kms/\1/' /etc/mkinitcpio.conf
sudo mkinitcpio -P
sudo mkdir -p /etc/pacman.d/hooks/ && sudo cp nvidia.hook /etc/pacman.d/hooks/
sudo sed -i '/^options/ s/$/ nvidia-drm.modeset=1 nvidia_drm.fbdev=1 nvidia-drm.ForceCompositionPipeline=1 nvidia.NVreg_EnableGpuFirmware=0/' /boot/loader/entries/arch.conf
echo "NVIDIA driver setup finished."
break
;;
2)
echo "Setting up NVIDIA 580xx drivers (AUR)..."
# Check if yay is installed
if ! command -v yay &> /dev/null; then
echo "Yay is not installed. Installing yay..."
cd "${HOME}"
git clone "https://aur.archlinux.org/yay.git"
cd "${HOME}/yay"
makepkg -si
cd "${HOME}"
rm -rf "${HOME}/yay"
echo "Yay installation complete."
else
echo "Yay already installed."
fi
# Install 580xx drivers
sudo pacman -Syu --noconfirm --needed
yay -S nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils nvidia-580xx-settings opencl-nvidia-580xx lib32-opencl-nvidia-580xx --noconfirm --needed
sudo sed -i 's/^MODULES=().*/MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf
sudo sed -i 's/\(HOOKS=.*\) kms/\1/' /etc/mkinitcpio.conf
sudo mkinitcpio -P
sudo mkdir -p /etc/pacman.d/hooks/ && sudo cp nvidia.hook /etc/pacman.d/hooks/
sudo sed -i '/^options/ s/$/ nvidia-drm.modeset=1 nvidia_drm.fbdev=1 nvidia-drm.ForceCompositionPipeline=1 nvidia.NVreg_EnableGpuFirmware=0/' /boot/loader/entries/arch.conf
echo "NVIDIA 580xx driver setup finished."
break
;;
3)
echo "Cancelled NVIDIA driver setup."
break
;;
*)
echo "Invalid option. Please select 1, 2, or 3."
;;
esac
done
} }
while true; do while true; do
@ -106,4 +57,4 @@ while true; do
done done
done done
echo "Exiting! Please reboot to enter desktop environment." echo "Exiting! Please reboot to enter desktop environment."

@ -5,48 +5,49 @@ echo
PKGS=( PKGS=(
# --- XORG # --- XORG Display Rendering
'xorg' 'xorg' # Base Package
'xorg-drivers' 'xorg-drivers' # Display Drivers
'xterm' 'xterm' # Terminal for TTY
'xorg-server' 'xorg-server' # XOrg server
'xorg-apps' 'xorg-apps' # XOrg apps group
'xorg-xinit' 'xorg-xinit' # XOrg init
'xorg-xinput' 'xorg-xinput' # XOrg xinput
'xorg-twm' 'xorg-twm' # XOrg twm
'xorg-xclock' 'xorg-xclock' # XOrg xclock
'xf86-input-vmmouse' 'xf86-input-vmmouse'
'xf86-video-vmware' 'xf86-video-vmware'
'mesa' 'mesa'
# --- Desktop # --- Setup Desktop
'plasma' 'plasma' # Plasma
# --- Login manager # --- Login Display Manager
'sddm' 'sddm' # Base Login Manager
# --- Networking # --- Networking Setup
'dialog' 'dialog' # Enables shell scripts to trigger dialog boxex
'network-manager-applet' 'network-manager-applet' # System tray icon/utility for network connectivity
'dhclient' 'dhclient' # DHCP client
'libsecret' 'libsecret' # Library for storing passwords
'fail2ban' 'fail2ban' # Ban IP's after man failed login attempts
'ufw' 'ufw' # Uncomplicated firewall
# --- Audio # --- Audio
'pipewire' 'alsa-utils' # Advanced Linux Sound Architecture (ALSA) Components https://alsa.opensrc.org/
'wireplumber' 'alsa-plugins' # ALSA plugins
'pipewire-pulse' 'pulseaudio' # Pulse Audio sound components
'pipewire-alsa' 'pulseaudio-alsa' # ALSA configuration for pulse audio
'pavucontrol' 'pavucontrol' # Pulse Audio volume control
'pnmixer' # System tray volume control
# --- Bluetooth # --- Bluetooth
'bluez' 'bluez' # Daemons for the bluetooth protocol stack
'bluez-utils' 'bluez-utils' # Bluetooth development and debugging utilities
'bluez-libs' 'bluez-libs' # Bluetooth libraries
'bluez-firmware' 'bluez-firmware' # Firmware for Broadcom BCM203x and STLC2300 Bluetooth chips
'blueberry' 'blueberry' # Bluetooth configuration tool
'pulseaudio-bluetooth' 'pulseaudio-bluetooth' # Bluetooth support for PulseAudio
) )
for PKG in "${PKGS[@]}"; do for PKG in "${PKGS[@]}"; do
@ -54,7 +55,7 @@ for PKG in "${PKGS[@]}"; do
sudo pacman -S "$PKG" --noconfirm --needed sudo pacman -S "$PKG" --noconfirm --needed
done done
sudo systemctl enable sddm.service sudo systemctl enable sddm.service
echo echo
echo "Done! Please Reboot & Run software.sh" echo "Done! Please Reboot & Run software.sh"

@ -1,82 +1,64 @@
#!/usr/bin/env bash #!/usr/bin/env bash
echo
# Yay install echo "Setting up Yay for AUR packages..."
if ! command -v yay &> /dev/null; then echo
echo echo "Please enter username:"
echo "Setting up Yay for AUR packages..." read username
echo cd "${HOME}"
echo "Please enter username:" git clone "https://aur.archlinux.org/yay.git"
read username cd ${HOME}/yay
cd "${HOME}" makepkg -si
git clone "https://aur.archlinux.org/yay.git" echo
cd ${HOME}/yay echo "Yay setup complete."
makepkg -si echo
cd "${HOME}"
rm -rf "${HOME}/yay"
echo
echo "Yay setup complete."
echo
else
echo
echo "Yay already installed, skipping installation."
echo
fi
echo echo
echo "INSTALLING SOFTWARE" echo "INSTALLING SOFTWARE"
echo echo
PKGS=( PKGS=(
# Terminal # TERMINAL UTILITIES --------------------------------------------------
'curl' 'curl' # Remote content retrieval
'gufw' 'gufw' # Firewall manager
'neofetch' 'neofetch' # Shows system info when you launch terminal
'numlockx' 'numlockx' # Turns on numlock in X11
'p7zip' 'p7zip' # 7z compression program
'unrar' 'unrar' # RAR compression program
'unzip' 'unzip' # Zip compression program
'wget' 'wget' # Remote content retrieval
'vim' 'vim' # Terminal Editor
'zenity' 'zenity' # Display graphical dialog boxes via shell scripts
'zip' 'zip' # Zip compression program
'nano' 'nano' # Simpler Terminal Editor
'kitty' 'kitty' # Terminal Emulator
# General # GENERAL UTILITIES ---------------------------------------------------
'mpv' 'mpv' # Video Player
'gwenview' 'gwenview' # Image Viewer
'lutris' 'lutris' # Gaming
'wine' 'wine' # Gaming
'steam' 'steam' # Gaming
'obs-studio' 'obs-studio' # Screen Recording
'remmina' 'remmina' # RDP
'discord' 'discord' # Messaging
'xpdf' 'xpdf' # PDF viewer
'thunar' 'thunar' # File Manager
'thunar-archive-plugin' 'thunar-archive-plugin'
'ark' 'ark'
'tumbler' 'tumbler'
'gvfs'
'gvfs-smb' # DEVELOPMENT ---------------------------------------------------------
'samba'
'libimobiledevice' 'gedit' # Text editor
'usbmuxd' 'git' # Version control system
'gvfs-afc' 'nodejs' # Javascript runtime environment
'gvfs-gphoto2' 'npm' # Node package manager
'python' # Scripting language
'yarn' # Dependency management (Hyper needs this)
# Development 'gimp' # Photo Editor
'kdenlive' # Video Editor
'gedit'
'git'
'nodejs'
'npm'
'python'
'yarn'
'gimp'
'kdenlive'
) )
@ -86,11 +68,11 @@ for PKG in "${PKGS[@]}"; do
done done
AUR_PKGS=( AUR_PKGS=(
'floorp-bin' 'floorp-bin' # Floorp browser
'brave-bin' 'brave-bin' # Brave browser
'downgrade' 'downgrade' # Downgrade packages
'spotify-edge' 'spotify-edge' # Spotify
'proton-ge-custom-bin' 'proton-ge-custom-bin' # Proton GE
) )
@ -112,7 +94,7 @@ echo "Installing Flatpak Applications..."
echo echo
FLATPAK_APPS=( FLATPAK_APPS=(
'org.prismlauncher.PrismLauncher' 'org.prismlauncher.PrismLauncher' # Prism Launcher (Minecraft)
) )