Compare commits

..

20 Commits

  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,19 +11,11 @@ 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 # Installer 1 & 2
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
# Installer 2 # Reboot machine when prompted (remove installation media during reboot)
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
``` ```
@ -33,8 +25,7 @@ reboot
# Install Pacman Tools # Install Pacman Tools
sudo pacman -S --noconfirm pacman-contrib sudo pacman -S --noconfirm pacman-contrib
# Installer 3 (Desktop & Nvidia Drivers) # Installer 3 (Desktop, software & Nvidia Drivers)
sudo git clone https://git.merlinslair.net/beech/ArchScripts
cd ArchScripts cd ArchScripts
sh install3.sh sh install3.sh

@ -5,49 +5,40 @@ echo
PKGS=( PKGS=(
# --- XORG Display Rendering # --- XORG
'xorg' # Base Package 'xorg'
'xorg-drivers' # Display Drivers 'xorg-drivers'
'xterm' # Terminal for TTY 'xterm'
'xorg-server' # XOrg server 'xorg-server'
'xorg-apps' # XOrg apps group 'xorg-apps'
'xorg-xinit' # XOrg init 'xorg-xinit'
'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'
# --- Setup Desktop # --- Desktop
'gnome' # GNOME 'gnome'
# --- Login Display Manager # --- Login manager
'sddm' # Base Login Manager 'sddm'
# --- Networking Setup # --- Networking
'dialog' # Enables shell scripts to trigger dialog boxex 'dialog'
'network-manager-applet' # System tray icon/utility for network connectivity 'network-manager-applet'
'dhclient' # DHCP client 'dhclient'
'libsecret' # Library for storing passwords 'libsecret'
'fail2ban' # Ban IP's after man failed login attempts 'fail2ban'
'ufw' # Uncomplicated firewall 'ufw'
# --- Audio # --- Audio
'alsa-utils' # Advanced Linux Sound Architecture (ALSA) Components https://alsa.opensrc.org/ 'pipewire'
'alsa-plugins' # ALSA plugins 'wireplumber'
'pulseaudio' # Pulse Audio sound components 'pipewire-pulse'
'pulseaudio-alsa' # ALSA configuration for pulse audio 'pipewire-alsa'
'pavucontrol' # Pulse Audio volume control 'pavucontrol'
'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,42 +1,45 @@
#!/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" 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 "-------------------------------------------------" 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 -p "Enter the disk: " DISK read -r 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 # zap all on disk sgdisk -Z $DISK 2>/dev/null # zap all on disk
sgdisk -a 2048 -o $DISK # new gpt disk 2048 alignment sgdisk -a 2048 -o $DISK 2>/dev/null # new gpt disk 2048 alignment
# create partitions # create partitions
sgdisk -n 1:0:1024M $DISK # partition 1 (boot) sgdisk -n 1:0:1024M $DISK 2>/dev/null # partition 1 (boot)
sgdisk -n 2:0:4G $DISK # partition 2 (SWAP - change to desired size) sgdisk -n 2:0:8G $DISK 2>/dev/null # partition 2 (SWAP - change to desired size)
sgdisk -n 3:0:35G $DISK # partition 3 (root - change to desired size) sgdisk -n 3:0:75G $DISK 2>/dev/null # partition 3 (root - change to desired size)
sgdisk -n 4:0:0 $DISK # partition 4 (home, remaining space) sgdisk -n 4:0:0 $DISK 2>/dev/null # partition 4 (home, remaining space)
# set partition types # partition types
sgdisk -t 1:ef00 $DISK sgdisk -t 1:ef00 $DISK 2>/dev/null
sgdisk -t 2:8200 $DISK sgdisk -t 2:8200 $DISK 2>/dev/null
sgdisk -t 3:8300 $DISK sgdisk -t 3:8300 $DISK 2>/dev/null
sgdisk -t 4:8300 $DISK sgdisk -t 4:8300 $DISK 2>/dev/null
# label partitions # label partitions
sgdisk -c 1:"boot" $DISK sgdisk -c 1:"boot" $DISK 2>/dev/null
sgdisk -c 2:"swap" $DISK sgdisk -c 2:"swap" $DISK 2>/dev/null
sgdisk -c 3:"root" $DISK sgdisk -c 3:"root" $DISK 2>/dev/null
sgdisk -c 4:"home" $DISK sgdisk -c 4:"home" $DISK 2>/dev/null
# 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
@ -45,7 +48,6 @@ 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 "-------------------------------------------------"
@ -56,7 +58,14 @@ mkdir /mnt/home
mount ${DISK}1 /mnt/boot mount ${DISK}1 /mnt/boot
mount ${DISK}4 /mnt/home mount ${DISK}4 /mnt/home
# set download mirrors echo "-------------------------------------------------"
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 "-------------------------------------------------"
@ -66,7 +75,24 @@ 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
reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist 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
# install arch # install arch
echo "-------------------------------------------------" echo "-------------------------------------------------"
@ -79,8 +105,6 @@ 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 "-------------------------------------------------"
@ -88,4 +112,4 @@ echo "Finished install script 1. Run install2.sh"
echo "-------------------------------------------------" echo "-------------------------------------------------"
# chroot # chroot
arch-chroot /mnt arch-chroot /mnt /install2.sh

@ -19,44 +19,56 @@ 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
# generate locales
sudo pacman -S bash-completion --noconfirm --needed sudo pacman -S bash-completion --noconfirm --needed
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
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
# set timezone & link HW clock ln -sf /usr/share/zoneinfo/America/Chicago /etc/localtime
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/
# install bootloader
bootctl install bootctl install
# Fix boot permissions
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
echo "title Arch" > /boot/loader/entries/arch.conf echo "title Arch" > /boot/loader/entries/arch.conf
@ -65,8 +77,6 @@ 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
@ -77,5 +87,18 @@ sudo systemctl enable NetworkManager.service
sudo systemctl start NetworkManager.service sudo systemctl start NetworkManager.service
echo "-------------------------------------------------" echo "-------------------------------------------------"
echo "Arch Linux Installed & Configured. Please [exit] & run [umount -R /mnt] and reboot" echo "Cloning ArchScripts repository"
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,15 +29,64 @@ install_qemu () {
} }
setup_nvidia () { setup_nvidia () {
echo "Setting up Nvidia drivers..." echo "-------------------------------------------------"
sudo pacman -Syu --noconfirm --needed echo "NVIDIA Driver Selection"
sudo pacman -S nvidia nvidia-utils lib32-nvidia-utils nvidia-settings --noconfirm --needed echo "-------------------------------------------------"
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 nvidia_options=("Main NVIDIA Drivers (Latest)" "NVIDIA 580xx Drivers (Pascal/Older - AUR)" "Cancel")
sudo mkinitcpio -P
sudo mkdir -p /etc/pacman.d/hooks/ && sudo cp nvidia.hook /etc/pacman.d/hooks/ echo "Select NVIDIA driver version:"
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 select nvidia_opt in "${nvidia_options[@]}"; do
echo "Nvidia driver setup finished." case $REPLY in
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
@ -57,4 +106,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,49 +5,48 @@ echo
PKGS=( PKGS=(
# --- XORG Display Rendering # --- XORG
'xorg' # Base Package 'xorg'
'xorg-drivers' # Display Drivers 'xorg-drivers'
'xterm' # Terminal for TTY 'xterm'
'xorg-server' # XOrg server 'xorg-server'
'xorg-apps' # XOrg apps group 'xorg-apps'
'xorg-xinit' # XOrg init 'xorg-xinit'
'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'
# --- Setup Desktop # --- Desktop
'plasma' # Plasma 'plasma'
# --- Login Display Manager # --- Login manager
'sddm' # Base Login Manager 'sddm'
# --- Networking Setup # --- Networking
'dialog' # Enables shell scripts to trigger dialog boxex 'dialog'
'network-manager-applet' # System tray icon/utility for network connectivity 'network-manager-applet'
'dhclient' # DHCP client 'dhclient'
'libsecret' # Library for storing passwords 'libsecret'
'fail2ban' # Ban IP's after man failed login attempts 'fail2ban'
'ufw' # Uncomplicated firewall 'ufw'
# --- Audio # --- Audio
'alsa-utils' # Advanced Linux Sound Architecture (ALSA) Components https://alsa.opensrc.org/ 'pipewire'
'alsa-plugins' # ALSA plugins 'wireplumber'
'pulseaudio' # Pulse Audio sound components 'pipewire-pulse'
'pulseaudio-alsa' # ALSA configuration for pulse audio 'pipewire-alsa'
'pavucontrol' # Pulse Audio volume control 'pavucontrol'
'pnmixer' # System tray volume control
# --- Bluetooth # --- Bluetooth
'bluez' # Daemons for the bluetooth protocol stack 'bluez'
'bluez-utils' # Bluetooth development and debugging utilities 'bluez-utils'
'bluez-libs' # Bluetooth libraries 'bluez-libs'
'bluez-firmware' # Firmware for Broadcom BCM203x and STLC2300 Bluetooth chips 'bluez-firmware'
'blueberry' # Bluetooth configuration tool 'blueberry'
'pulseaudio-bluetooth' # Bluetooth support for PulseAudio 'pulseaudio-bluetooth'
) )
for PKG in "${PKGS[@]}"; do for PKG in "${PKGS[@]}"; do
@ -55,7 +54,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,64 +1,82 @@
#!/usr/bin/env bash #!/usr/bin/env bash
echo
echo "Setting up Yay for AUR packages..." # Yay install
echo if ! command -v yay &> /dev/null; then
echo "Please enter username:" echo
read username echo "Setting up Yay for AUR packages..."
cd "${HOME}" echo
git clone "https://aur.archlinux.org/yay.git" echo "Please enter username:"
cd ${HOME}/yay read username
makepkg -si cd "${HOME}"
echo git clone "https://aur.archlinux.org/yay.git"
echo "Yay setup complete." cd ${HOME}/yay
echo makepkg -si
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 UTILITIES -------------------------------------------------- # Terminal
'curl' # Remote content retrieval 'curl'
'gufw' # Firewall manager 'gufw'
'neofetch' # Shows system info when you launch terminal 'neofetch'
'numlockx' # Turns on numlock in X11 'numlockx'
'p7zip' # 7z compression program 'p7zip'
'unrar' # RAR compression program 'unrar'
'unzip' # Zip compression program 'unzip'
'wget' # Remote content retrieval 'wget'
'vim' # Terminal Editor 'vim'
'zenity' # Display graphical dialog boxes via shell scripts 'zenity'
'zip' # Zip compression program 'zip'
'nano' # Simpler Terminal Editor 'nano'
'kitty' # Terminal Emulator 'kitty'
# GENERAL UTILITIES --------------------------------------------------- # General
'mpv' # Video Player 'mpv'
'gwenview' # Image Viewer 'gwenview'
'lutris' # Gaming 'lutris'
'wine' # Gaming 'wine'
'steam' # Gaming 'steam'
'obs-studio' # Screen Recording 'obs-studio'
'remmina' # RDP 'remmina'
'discord' # Messaging 'discord'
'xpdf' # PDF viewer 'xpdf'
'thunar' # File Manager 'thunar'
'thunar-archive-plugin' 'thunar-archive-plugin'
'ark' 'ark'
'tumbler' 'tumbler'
'gvfs'
# DEVELOPMENT --------------------------------------------------------- 'gvfs-smb'
'samba'
'gedit' # Text editor 'libimobiledevice'
'git' # Version control system 'usbmuxd'
'nodejs' # Javascript runtime environment 'gvfs-afc'
'npm' # Node package manager 'gvfs-gphoto2'
'python' # Scripting language
'yarn' # Dependency management (Hyper needs this)
'gimp' # Photo Editor # Development
'kdenlive' # Video Editor
'gedit'
'git'
'nodejs'
'npm'
'python'
'yarn'
'gimp'
'kdenlive'
) )
@ -68,11 +86,11 @@ for PKG in "${PKGS[@]}"; do
done done
AUR_PKGS=( AUR_PKGS=(
'floorp-bin' # Floorp browser 'floorp-bin'
'brave-bin' # Brave browser 'brave-bin'
'downgrade' # Downgrade packages 'downgrade'
'spotify-edge' # Spotify 'spotify-edge'
'proton-ge-custom-bin' # Proton GE 'proton-ge-custom-bin'
) )
@ -94,7 +112,7 @@ echo "Installing Flatpak Applications..."
echo echo
FLATPAK_APPS=( FLATPAK_APPS=(
'org.prismlauncher.PrismLauncher' # Prism Launcher (Minecraft) 'org.prismlauncher.PrismLauncher'
) )