From 4d5bab3576caaa4eb5dcdb7a0a0f90256f3c0623 Mon Sep 17 00:00:00 2001 From: beech Date: Thu, 19 Jun 2025 00:34:19 -0500 Subject: [PATCH 01/19] Updated install1 --- README.md | 4 ---- install1.sh | 14 +++++++++++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index eaa7b23..205a893 100644 --- a/README.md +++ b/README.md @@ -15,10 +15,6 @@ Boot into your Arch ISO & run commands: curl https://git.merlinslair.net/beech/ArchScripts/raw/branch/main/install1.sh -o install1.sh sh install1.sh -# 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 diff --git a/install1.sh b/install1.sh index 2fccb5b..5ccc44f 100644 --- a/install1.sh +++ b/install1.sh @@ -10,7 +10,12 @@ echo "-------------------------------------------------" lsblk 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 "Error: Disk $DISK does not exist." + exit 1 +fi echo -e "\nFormatting disk...\n$HR" @@ -19,9 +24,10 @@ sgdisk -Z $DISK # zap all on disk sgdisk -a 2048 -o $DISK # new gpt disk 2048 alignment # create partitions +read -r -p "Enter the root partition size (e.g., 35G): " ROOT_SIZE sgdisk -n 1:0:1024M $DISK # partition 1 (boot) sgdisk -n 2:0:4G $DISK # partition 2 (SWAP - change to desired size) -sgdisk -n 3:0:35G $DISK # partition 3 (root - change to desired size) +sgdisk -n 3:0:$ROOT_SIZE $DISK # partition 3 (root) sgdisk -n 4:0:0 $DISK # partition 4 (home, remaining space) # set partition types @@ -56,6 +62,8 @@ mkdir /mnt/home mount ${DISK}1 /mnt/boot mount ${DISK}4 /mnt/home +cp install2.sh /mnt/ + # set download mirrors echo "-------------------------------------------------" echo "Enabling Parallel Downloads" @@ -88,4 +96,4 @@ echo "Finished install script 1. Run install2.sh" echo "-------------------------------------------------" # chroot -arch-chroot /mnt \ No newline at end of file +arch-chroot /mnt && ./install2.sh \ No newline at end of file From 9006f4462f7230b25b196de4d6e59da3de572f94 Mon Sep 17 00:00:00 2001 From: beech Date: Fri, 20 Jun 2025 00:41:56 -0500 Subject: [PATCH 02/19] Fix sgdisk --- install1.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install1.sh b/install1.sh index 5ccc44f..8197492 100644 --- a/install1.sh +++ b/install1.sh @@ -13,7 +13,7 @@ echo "Specify drive name for install (ex. /dev/sda, /dev/nvme0n1). THIS WILL FOR read -r DISK if [[ ! -b $DISK ]]; then - echo "Error: Disk $DISK does not exist." + echo "Disk $DISK does not exist." exit 1 fi @@ -27,7 +27,7 @@ sgdisk -a 2048 -o $DISK # new gpt disk 2048 alignment read -r -p "Enter the root partition size (e.g., 35G): " ROOT_SIZE sgdisk -n 1:0:1024M $DISK # partition 1 (boot) sgdisk -n 2:0:4G $DISK # partition 2 (SWAP - change to desired size) -sgdisk -n 3:0:$ROOT_SIZE $DISK # partition 3 (root) +sgdisk -n 3:0:$ROOT_SIZE ${DISK} # partition 3 (root) sgdisk -n 4:0:0 $DISK # partition 4 (home, remaining space) # set partition types From 363c4e004dc96c8b3978a366c7ce1674c9341684 Mon Sep 17 00:00:00 2001 From: beech Date: Fri, 20 Jun 2025 01:01:47 -0500 Subject: [PATCH 03/19] Fix root partition --- install1.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/install1.sh b/install1.sh index 8197492..22654da 100644 --- a/install1.sh +++ b/install1.sh @@ -24,10 +24,9 @@ sgdisk -Z $DISK # zap all on disk sgdisk -a 2048 -o $DISK # new gpt disk 2048 alignment # create partitions -read -r -p "Enter the root partition size (e.g., 35G): " ROOT_SIZE sgdisk -n 1:0:1024M $DISK # partition 1 (boot) -sgdisk -n 2:0:4G $DISK # partition 2 (SWAP - change to desired size) -sgdisk -n 3:0:$ROOT_SIZE ${DISK} # partition 3 (root) +sgdisk -n 2:0:8G $DISK # partition 2 (SWAP - change to desired size) +sgdisk -n 3:0:75G $DISK # partition 3 (root - change to desired size) sgdisk -n 4:0:0 $DISK # partition 4 (home, remaining space) # set partition types From 60dc69970426f9277115f71190645b100d1cb6af Mon Sep 17 00:00:00 2001 From: beech Date: Fri, 20 Jun 2025 01:13:57 -0500 Subject: [PATCH 04/19] Update software --- gnomesetup.sh | 67 ++++++++++++++++++++++----------------------------- kdesetup.sh | 63 +++++++++++++++++++++--------------------------- software.sh | 3 +++ 3 files changed, 59 insertions(+), 74 deletions(-) diff --git a/gnomesetup.sh b/gnomesetup.sh index 5c237ed..3bec7d9 100644 --- a/gnomesetup.sh +++ b/gnomesetup.sh @@ -5,49 +5,40 @@ echo PKGS=( - # --- XORG Display Rendering - 'xorg' # Base Package - 'xorg-drivers' # Display Drivers - 'xterm' # Terminal for TTY - 'xorg-server' # XOrg server - 'xorg-apps' # XOrg apps group - 'xorg-xinit' # XOrg init - 'xorg-xinput' # XOrg xinput - 'xorg-twm' # XOrg twm - 'xorg-xclock' # XOrg xclock + # --- XORG + 'xorg' + 'xorg-drivers' + 'xterm' + 'xorg-server' + 'xorg-apps' + 'xorg-xinit' + 'xorg-xinput' + 'xorg-twm' + 'xorg-xclock' 'xf86-input-vmmouse' 'xf86-video-vmware' 'mesa' - - # --- Setup Desktop - 'gnome' # GNOME - - # --- Login Display Manager - 'sddm' # Base Login Manager - - # --- Networking Setup - 'dialog' # Enables shell scripts to trigger dialog boxex - 'network-manager-applet' # System tray icon/utility for network connectivity - 'dhclient' # DHCP client - 'libsecret' # Library for storing passwords - 'fail2ban' # Ban IP's after man failed login attempts - 'ufw' # Uncomplicated firewall + + # --- Desktop + 'gnome' + + # --- Login manager + 'sddm' + + # --- Networking + 'dialog' + 'network-manager-applet' + 'dhclient' + 'libsecret' + 'fail2ban' + 'ufw' # --- Audio - 'alsa-utils' # Advanced Linux Sound Architecture (ALSA) Components https://alsa.opensrc.org/ - 'alsa-plugins' # ALSA plugins - 'pulseaudio' # Pulse Audio sound components - 'pulseaudio-alsa' # ALSA configuration for pulse audio - '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 + 'pipewire' + 'wireplumber' + 'pipewire-pulse' + 'pipewire-alsa' + 'pavucontrol' ) for PKG in "${PKGS[@]}"; do diff --git a/kdesetup.sh b/kdesetup.sh index b7b4cd2..1ff13ff 100644 --- a/kdesetup.sh +++ b/kdesetup.sh @@ -5,49 +5,40 @@ echo PKGS=( - # --- XORG Display Rendering - 'xorg' # Base Package - 'xorg-drivers' # Display Drivers - 'xterm' # Terminal for TTY - 'xorg-server' # XOrg server - 'xorg-apps' # XOrg apps group - 'xorg-xinit' # XOrg init - 'xorg-xinput' # XOrg xinput - 'xorg-twm' # XOrg twm - 'xorg-xclock' # XOrg xclock + # --- XORG + 'xorg' + 'xorg-drivers' + 'xterm' + 'xorg-server' + 'xorg-apps' + 'xorg-xinit' + 'xorg-xinput' + 'xorg-twm' + 'xorg-xclock' 'xf86-input-vmmouse' 'xf86-video-vmware' 'mesa' - # --- Setup Desktop - 'plasma' # Plasma + # --- Desktop + 'plasma' - # --- Login Display Manager - 'sddm' # Base Login Manager + # --- Login manager + 'sddm' - # --- Networking Setup - 'dialog' # Enables shell scripts to trigger dialog boxex - 'network-manager-applet' # System tray icon/utility for network connectivity - 'dhclient' # DHCP client - 'libsecret' # Library for storing passwords - 'fail2ban' # Ban IP's after man failed login attempts - 'ufw' # Uncomplicated firewall + # --- Networking + 'dialog' + 'network-manager-applet' + 'dhclient' + 'libsecret' + 'fail2ban' + 'ufw' # --- Audio - 'alsa-utils' # Advanced Linux Sound Architecture (ALSA) Components https://alsa.opensrc.org/ - 'alsa-plugins' # ALSA plugins - 'pulseaudio' # Pulse Audio sound components - 'pulseaudio-alsa' # ALSA configuration for pulse audio - '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 + 'pipewire' + 'wireplumber' + 'pipewire-pulse' + 'pipewire-alsa' + 'pavucontrol' ) for PKG in "${PKGS[@]}"; do @@ -55,7 +46,7 @@ for PKG in "${PKGS[@]}"; do sudo pacman -S "$PKG" --noconfirm --needed done -sudo systemctl enable sddm.service +sudo systemctl enable sddm.service echo echo "Done! Please Reboot & Run software.sh" diff --git a/software.sh b/software.sh index 958db7e..43030e6 100644 --- a/software.sh +++ b/software.sh @@ -48,6 +48,9 @@ PKGS=( 'thunar-archive-plugin' 'ark' 'tumbler' + 'gvfs' + 'gvfs-smb' + 'samba' # DEVELOPMENT --------------------------------------------------------- From 6927c03b3aaaffeabd4353c791a248430c33a871 Mon Sep 17 00:00:00 2001 From: beech Date: Fri, 20 Jun 2025 01:17:48 -0500 Subject: [PATCH 05/19] Cleanup --- software.sh | 86 ++++++++++++++++++++++++++--------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/software.sh b/software.sh index 43030e6..9768fca 100644 --- a/software.sh +++ b/software.sh @@ -17,34 +17,34 @@ echo PKGS=( - # TERMINAL UTILITIES -------------------------------------------------- - - 'curl' # Remote content retrieval - 'gufw' # Firewall manager - 'neofetch' # Shows system info when you launch terminal - 'numlockx' # Turns on numlock in X11 - 'p7zip' # 7z compression program - 'unrar' # RAR compression program - 'unzip' # Zip compression program - 'wget' # Remote content retrieval - 'vim' # Terminal Editor - 'zenity' # Display graphical dialog boxes via shell scripts - 'zip' # Zip compression program - 'nano' # Simpler Terminal Editor - 'kitty' # Terminal Emulator - - # GENERAL UTILITIES --------------------------------------------------- - - 'mpv' # Video Player - 'gwenview' # Image Viewer - 'lutris' # Gaming - 'wine' # Gaming - 'steam' # Gaming - 'obs-studio' # Screen Recording - 'remmina' # RDP - 'discord' # Messaging - 'xpdf' # PDF viewer - 'thunar' # File Manager + # Terminal + + 'curl' + 'gufw' + 'neofetch' + 'numlockx' + 'p7zip' + 'unrar' + 'unzip' + 'wget' + 'vim' + 'zenity' + 'zip' + 'nano' + 'kitty' + + # General + + 'mpv' + 'gwenview' + 'lutris' + 'wine' + 'steam' + 'obs-studio' + 'remmina' + 'discord' + 'xpdf' + 'thunar' 'thunar-archive-plugin' 'ark' 'tumbler' @@ -52,16 +52,16 @@ PKGS=( 'gvfs-smb' 'samba' - # DEVELOPMENT --------------------------------------------------------- + # Development - 'gedit' # Text editor - 'git' # Version control system - 'nodejs' # Javascript runtime environment - 'npm' # Node package manager - 'python' # Scripting language - 'yarn' # Dependency management (Hyper needs this) - 'gimp' # Photo Editor - 'kdenlive' # Video Editor + 'gedit' + 'git' + 'nodejs' + 'npm' + 'python' + 'yarn' + 'gimp' + 'kdenlive' ) @@ -71,11 +71,11 @@ for PKG in "${PKGS[@]}"; do done AUR_PKGS=( - 'floorp-bin' # Floorp browser - 'brave-bin' # Brave browser - 'downgrade' # Downgrade packages - 'spotify-edge' # Spotify - 'proton-ge-custom-bin' # Proton GE + 'floorp-bin' + 'brave-bin' + 'downgrade' + 'spotify-edge' + 'proton-ge-custom-bin' ) @@ -97,7 +97,7 @@ echo "Installing Flatpak Applications..." echo FLATPAK_APPS=( - 'org.prismlauncher.PrismLauncher' # Prism Launcher (Minecraft) + 'org.prismlauncher.PrismLauncher' ) From d574100cedf788f5e15de4c69985f2967fdc4282 Mon Sep 17 00:00:00 2001 From: beech Date: Fri, 20 Jun 2025 01:36:12 -0500 Subject: [PATCH 06/19] Fix --- install1.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install1.sh b/install1.sh index 22654da..c691123 100644 --- a/install1.sh +++ b/install1.sh @@ -95,4 +95,4 @@ echo "Finished install script 1. Run install2.sh" echo "-------------------------------------------------" # chroot -arch-chroot /mnt && ./install2.sh \ No newline at end of file +arch-chroot /mnt ./install2.sh \ No newline at end of file From 77634af32feb45ea0b3e3fb1b6714b341dc5eef0 Mon Sep 17 00:00:00 2001 From: beech Date: Sat, 18 Oct 2025 23:26:25 -0500 Subject: [PATCH 07/19] Cleanup --- install1.sh | 8 +------- install2.sh | 16 ---------------- 2 files changed, 1 insertion(+), 23 deletions(-) diff --git a/install1.sh b/install1.sh index c691123..a34afb2 100644 --- a/install1.sh +++ b/install1.sh @@ -1,6 +1,5 @@ #!/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. -# 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 echo "-------------------------------------------------" @@ -29,7 +28,7 @@ sgdisk -n 2:0:8G $DISK # partition 2 (SWAP - change to desired size) sgdisk -n 3:0:75G $DISK # partition 3 (root - change to desired size) sgdisk -n 4:0:0 $DISK # partition 4 (home, remaining space) -# set partition types +# partition types sgdisk -t 1:ef00 $DISK sgdisk -t 2:8200 $DISK sgdisk -t 3:8300 $DISK @@ -41,7 +40,6 @@ sgdisk -c 2:"swap" $DISK sgdisk -c 3:"root" $DISK sgdisk -c 4:"home" $DISK -# make filesystems echo -e "\nCreating Filesystems...\n$HR" mkfs.fat -F32 ${DISK}1 # FAT32 boot partition @@ -50,7 +48,6 @@ swapon ${DISK}2 # enable SWAP mkfs.ext4 ${DISK}3 mkfs.ext4 ${DISK}4 -# mount partitions echo "-------------------------------------------------" echo "Mounting Partitions" echo "-------------------------------------------------" @@ -63,7 +60,6 @@ mount ${DISK}4 /mnt/home cp install2.sh /mnt/ -# set download mirrors echo "-------------------------------------------------" echo "Enabling Parallel Downloads" echo "-------------------------------------------------" @@ -86,8 +82,6 @@ echo "-------------------------------------------------" echo "Installed - Generating fstab" echo "-------------------------------------------------" -# generate fstab - genfstab -U -p /mnt >> /mnt/etc/fstab echo "-------------------------------------------------" diff --git a/install2.sh b/install2.sh index 3429109..51542b5 100644 --- a/install2.sh +++ b/install2.sh @@ -19,42 +19,28 @@ echo "Create a USER password (should be different from root)." passwd $Username -# File edits for user permissions - sed -i 's/^# %wheel ALL=(ALL:ALL) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers echo "Defaults rootpw" >> /etc/sudoers -# generate locales - 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 locale-gen echo LANG=en_US.UTF-8 > /etc/locale.conf export LANG=en_US.UTF-8 -# set timezone & link HW clock - ln -s /usr/share/zoneinfo/America/Chicago > /etc/localtime hwclock --systohc --utc -# set hostname - edit archdesk with preferred hostname - echo "Set hostname (name of your PC on the network)." read -r -p "Enter the hostname: " HOSTNAME echo ${HOSTNAME} > /etc/hostname -# Enable TRIM - systemctl enable fstrim.timer -# mount efivars - mount -t efivarfs efivarfs /sys/firmware/efi/efivars/ -# install bootloader - bootctl install touch /boot/loader/entries/arch.conf @@ -65,8 +51,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 -# install NetworkManager - sudo pacman -S networkmanager --noconfirm --needed sudo pacman -S git --noconfirm --needed sudo sed -i '/^\#\[multilib\]/s/^#//' /etc/pacman.conf From 1d89eba8e4d4b19ce343400b109fd52699ae5393 Mon Sep 17 00:00:00 2001 From: beech Date: Mon, 5 Jan 2026 16:28:42 -0600 Subject: [PATCH 08/19] bluetooth & iphone file support --- kdesetup.sh | 8 ++++++++ software.sh | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/kdesetup.sh b/kdesetup.sh index 1ff13ff..e15546e 100644 --- a/kdesetup.sh +++ b/kdesetup.sh @@ -39,6 +39,14 @@ PKGS=( 'pipewire-pulse' 'pipewire-alsa' 'pavucontrol' + + # --- Bluetooth + 'bluez' + 'bluez-utils' + 'bluez-libs' + 'bluez-firmware' + 'blueberry' + 'pulseaudio-bluetooth' ) for PKG in "${PKGS[@]}"; do diff --git a/software.sh b/software.sh index 9768fca..8b23354 100644 --- a/software.sh +++ b/software.sh @@ -51,6 +51,11 @@ PKGS=( 'gvfs' 'gvfs-smb' 'samba' + 'libimobiledevice' + 'usbmuxd' + 'gvfs-afc' + 'gvfs-gphoto2' + # Development From 097ae0990ce3344a99bdb9599a3b204af2ba3583 Mon Sep 17 00:00:00 2001 From: beech Date: Mon, 5 Jan 2026 17:06:02 -0600 Subject: [PATCH 09/19] Fix chroot --- install1.sh | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/install1.sh b/install1.sh index a34afb2..e83c1be 100644 --- a/install1.sh +++ b/install1.sh @@ -19,26 +19,26 @@ fi echo -e "\nFormatting disk...\n$HR" # disk prep -sgdisk -Z $DISK # zap all on disk -sgdisk -a 2048 -o $DISK # new gpt disk 2048 alignment +sgdisk -Z $DISK 2>/dev/null # zap all on disk +sgdisk -a 2048 -o $DISK 2>/dev/null # new gpt disk 2048 alignment # create partitions -sgdisk -n 1:0:1024M $DISK # partition 1 (boot) -sgdisk -n 2:0:8G $DISK # partition 2 (SWAP - change to desired size) -sgdisk -n 3:0:75G $DISK # partition 3 (root - change to desired size) -sgdisk -n 4:0:0 $DISK # partition 4 (home, remaining space) +sgdisk -n 1:0:1024M $DISK 2>/dev/null # partition 1 (boot) +sgdisk -n 2:0:8G $DISK 2>/dev/null # 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 4:0:0 $DISK 2>/dev/null # partition 4 (home, remaining space) # partition types -sgdisk -t 1:ef00 $DISK -sgdisk -t 2:8200 $DISK -sgdisk -t 3:8300 $DISK -sgdisk -t 4:8300 $DISK +sgdisk -t 1:ef00 $DISK 2>/dev/null +sgdisk -t 2:8200 $DISK 2>/dev/null +sgdisk -t 3:8300 $DISK 2>/dev/null +sgdisk -t 4:8300 $DISK 2>/dev/null # label partitions -sgdisk -c 1:"boot" $DISK -sgdisk -c 2:"swap" $DISK -sgdisk -c 3:"root" $DISK -sgdisk -c 4:"home" $DISK +sgdisk -c 1:"boot" $DISK 2>/dev/null +sgdisk -c 2:"swap" $DISK 2>/dev/null +sgdisk -c 3:"root" $DISK 2>/dev/null +sgdisk -c 4:"home" $DISK 2>/dev/null echo -e "\nCreating Filesystems...\n$HR" @@ -58,7 +58,13 @@ mkdir /mnt/home mount ${DISK}1 /mnt/boot mount ${DISK}4 /mnt/home -cp install2.sh /mnt/ +echo "-------------------------------------------------" +echo "Downloading 2nd install script" +echo "-------------------------------------------------" + +curl https://git.merlinslair.net/beech/ArchScripts/raw/branch/rework/install2.sh -o /mnt/install2.sh +sed -i 's/\r$//' /mnt/install2.sh +chmod +x /mnt/install2.sh echo "-------------------------------------------------" echo "Enabling Parallel Downloads" @@ -89,4 +95,4 @@ echo "Finished install script 1. Run install2.sh" echo "-------------------------------------------------" # chroot -arch-chroot /mnt ./install2.sh \ No newline at end of file +arch-chroot /mnt /install2.sh \ No newline at end of file From ad3628371da8884d597cb095598bb53a82ac9b3f Mon Sep 17 00:00:00 2001 From: beech Date: Mon, 5 Jan 2026 17:22:47 -0600 Subject: [PATCH 10/19] Fix install2 issues --- install2.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/install2.sh b/install2.sh index 51542b5..8cf91eb 100644 --- a/install2.sh +++ b/install2.sh @@ -23,12 +23,16 @@ sed -i 's/^# %wheel ALL=(ALL:ALL) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers echo "Defaults rootpw" >> /etc/sudoers sudo pacman -S bash-completion --noconfirm --needed + +pacman -S reflector --noconfirm --needed 2>/dev/null || true +reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist 2>/dev/null || true + sed -i 's/^#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen locale-gen echo LANG=en_US.UTF-8 > /etc/locale.conf export LANG=en_US.UTF-8 -ln -s /usr/share/zoneinfo/America/Chicago > /etc/localtime +ln -sf /usr/share/zoneinfo/America/Chicago /etc/localtime hwclock --systohc --utc echo "Set hostname (name of your PC on the network)." @@ -43,6 +47,10 @@ mount -t efivarfs efivarfs /sys/firmware/efi/efivars/ bootctl install +# Fix boot permissions +chmod 755 /boot +chmod 600 /boot/loader/random-seed 2>/dev/null || true + touch /boot/loader/entries/arch.conf echo "title Arch" > /boot/loader/entries/arch.conf @@ -60,6 +68,8 @@ sudo pacman -S base-devel linux-headers --noconfirm --needed sudo systemctl enable NetworkManager.service sudo systemctl start NetworkManager.service +umount /sys/firmware/efi/efivars/ 2>/dev/null || true + echo "-------------------------------------------------" echo "Arch Linux Installed & Configured. Please [exit] & run [umount -R /mnt] and reboot" echo "-------------------------------------------------" \ No newline at end of file From ceb702928c4c179120e7f0bc1e7131b1772d5212 Mon Sep 17 00:00:00 2001 From: beech Date: Mon, 5 Jan 2026 19:02:50 -0600 Subject: [PATCH 11/19] Added nvidia 580xx drivers --- install3-experimental.sh | 109 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 install3-experimental.sh diff --git a/install3-experimental.sh b/install3-experimental.sh new file mode 100644 index 0000000..3af6d41 --- /dev/null +++ b/install3-experimental.sh @@ -0,0 +1,109 @@ +#!/usr/bin/env bash +chmod +x gnomesetup.sh +chmod +x kdesetup.sh +chmod +x software.sh +chmod +x qemu.sh + +install_gnome () { + echo "Setting up GNOME + SDDM..." + sh gnomesetup.sh + echo "Gnome installed & GDM enabled on reboot." +} + +install_kde () { + echo "Setting up KDE + SDDM..." + sh kdesetup.sh + echo "KDE installed + SDDM enabled on reboot" +} + +install_software () { + echo "Setting up KDE + SDDM..." + sh software.sh + echo "Software installed." +} + +install_qemu () { + echo "Setting up QEMU + Virt Manager..." + sh qemu.sh + echo "Virt Manager installed." +} + +setup_nvidia () { + echo "-------------------------------------------------" + echo "NVIDIA Driver Selection" + echo "-------------------------------------------------" + + nvidia_options=("Main NVIDIA Drivers (Latest)" "NVIDIA 580xx Drivers (Pascal/Older - AUR)" "Cancel") + + echo "Select NVIDIA driver version:" + select nvidia_opt in "${nvidia_options[@]}"; do + 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 is 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 + options=("Install GNOME" "Install KDE" "Install Software" "Install QEMU + Virt Manager" "Setup Nvidia Drivers" "Exit") + + echo "Desktop & Software Setup: " + select opt in "${options[@]}"; do + case $REPLY in + 1) install_gnome; break ;; + 2) install_kde; break ;; + 3) install_software; break ;; + 4) install_qemu; break ;; + 5) setup_nvidia; break ;; + 6) break 2 ;; + *) echo "Invalid" >&2 + esac + done +done + +echo "Exiting! Please reboot to enter desktop environment." From bf24f48b63b2e75f0cd5f6d989a77acb1a9529ed Mon Sep 17 00:00:00 2001 From: beech Date: Mon, 5 Jan 2026 19:10:34 -0600 Subject: [PATCH 12/19] update readme --- README.md | 10 +++------- install3-experimental.sh | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 205a893..3f4ae66 100644 --- a/README.md +++ b/README.md @@ -11,15 +11,11 @@ This step installs Arch to your hard drive. *IT WILL FORMAT THE DISK* Boot into your Arch ISO & run commands: ```bash -# Installer 1 +# Installer 1 & 2 curl https://git.merlinslair.net/beech/ArchScripts/raw/branch/main/install1.sh -o install1.sh sh install1.sh -# Preparing for first boot -exit -umount -R /mnt - -# Reboot Machine (remove installation media during reboot) +# Reboot machine when prompted (remove installation media during reboot) reboot ``` @@ -29,7 +25,7 @@ reboot # Install Pacman Tools 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 sh install3.sh diff --git a/install3-experimental.sh b/install3-experimental.sh index 3af6d41..89fcab8 100644 --- a/install3-experimental.sh +++ b/install3-experimental.sh @@ -64,7 +64,7 @@ setup_nvidia () { rm -rf "${HOME}/yay" echo "Yay installation complete." else - echo "Yay is already installed." + echo "Yay already installed." fi # Install 580xx drivers From ed98a5506fa41d01a3eb9e7e09f4d5cb6af33a97 Mon Sep 17 00:00:00 2001 From: beech Date: Mon, 5 Jan 2026 20:04:01 -0600 Subject: [PATCH 13/19] Fix mirrorlist & combine install3 --- install1.sh | 6 +++ install2.sh | 11 +++- install3-experimental.sh | 109 --------------------------------------- install3.sh | 69 +++++++++++++++++++++---- 4 files changed, 74 insertions(+), 121 deletions(-) delete mode 100644 install3-experimental.sh diff --git a/install1.sh b/install1.sh index e83c1be..110b10f 100644 --- a/install1.sh +++ b/install1.sh @@ -75,6 +75,12 @@ pacman -Syy pacman -S archlinux-keyring --noconfirm pacman -S pacman-contrib rsync reflector terminus-font --noconfirm --needed sed -i 's/^#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf +cat > /etc/pacman.d/mirrorlist << 'EOF' +## +## Arch Linux repository mirrorlist +## Generated on install +## +EOF reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist # install arch diff --git a/install2.sh b/install2.sh index 8cf91eb..6400c5e 100644 --- a/install2.sh +++ b/install2.sh @@ -25,7 +25,14 @@ echo "Defaults rootpw" >> /etc/sudoers sudo pacman -S bash-completion --noconfirm --needed pacman -S reflector --noconfirm --needed 2>/dev/null || true -reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist 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 +reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist sed -i 's/^#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen locale-gen @@ -71,5 +78,5 @@ sudo systemctl start NetworkManager.service umount /sys/firmware/efi/efivars/ 2>/dev/null || true echo "-------------------------------------------------" -echo "Arch Linux Installed & Configured. Please [exit] & run [umount -R /mnt] and reboot" +echo "Arch Linux Installed & Configured. Please reboot" echo "-------------------------------------------------" \ No newline at end of file diff --git a/install3-experimental.sh b/install3-experimental.sh deleted file mode 100644 index 89fcab8..0000000 --- a/install3-experimental.sh +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env bash -chmod +x gnomesetup.sh -chmod +x kdesetup.sh -chmod +x software.sh -chmod +x qemu.sh - -install_gnome () { - echo "Setting up GNOME + SDDM..." - sh gnomesetup.sh - echo "Gnome installed & GDM enabled on reboot." -} - -install_kde () { - echo "Setting up KDE + SDDM..." - sh kdesetup.sh - echo "KDE installed + SDDM enabled on reboot" -} - -install_software () { - echo "Setting up KDE + SDDM..." - sh software.sh - echo "Software installed." -} - -install_qemu () { - echo "Setting up QEMU + Virt Manager..." - sh qemu.sh - echo "Virt Manager installed." -} - -setup_nvidia () { - echo "-------------------------------------------------" - echo "NVIDIA Driver Selection" - echo "-------------------------------------------------" - - nvidia_options=("Main NVIDIA Drivers (Latest)" "NVIDIA 580xx Drivers (Pascal/Older - AUR)" "Cancel") - - echo "Select NVIDIA driver version:" - select nvidia_opt in "${nvidia_options[@]}"; do - 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 - options=("Install GNOME" "Install KDE" "Install Software" "Install QEMU + Virt Manager" "Setup Nvidia Drivers" "Exit") - - echo "Desktop & Software Setup: " - select opt in "${options[@]}"; do - case $REPLY in - 1) install_gnome; break ;; - 2) install_kde; break ;; - 3) install_software; break ;; - 4) install_qemu; break ;; - 5) setup_nvidia; break ;; - 6) break 2 ;; - *) echo "Invalid" >&2 - esac - done -done - -echo "Exiting! Please reboot to enter desktop environment." diff --git a/install3.sh b/install3.sh index ed9a95f..b58dcc0 100644 --- a/install3.sh +++ b/install3.sh @@ -29,15 +29,64 @@ install_qemu () { } setup_nvidia () { - echo "Setting up 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." + echo "-------------------------------------------------" + echo "NVIDIA Driver Selection" + echo "-------------------------------------------------" + + nvidia_options=("Main NVIDIA Drivers (Latest)" "NVIDIA 580xx Drivers (Pascal/Older - AUR)" "Cancel") + + echo "Select NVIDIA driver version:" + select nvidia_opt in "${nvidia_options[@]}"; do + 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 @@ -57,4 +106,4 @@ while true; do done done -echo "Exiting! Please reboot to enter desktop environment." +echo "Exiting! Please reboot to enter desktop environment." \ No newline at end of file From 1a83a0067607477ad13ef41df00babef9b3d1aa6 Mon Sep 17 00:00:00 2001 From: beech Date: Tue, 6 Jan 2026 13:28:53 -0600 Subject: [PATCH 14/19] Fix reflector & add repo clone --- install1.sh | 5 ++++- install2.sh | 11 +++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/install1.sh b/install1.sh index 110b10f..169cae5 100644 --- a/install1.sh +++ b/install1.sh @@ -81,7 +81,10 @@ cat > /etc/pacman.d/mirrorlist << 'EOF' ## Generated on install ## EOF -reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist +if ! reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist || ! grep -q "^Server" /etc/pacman.d/mirrorlist; then + echo "Warning: reflector failed or produced empty mirrorlist, restoring backup mirrorlist" + cp /etc/pacman.d/mirrorlist.backup /etc/pacman.d/mirrorlist +fi # install arch echo "-------------------------------------------------" diff --git a/install2.sh b/install2.sh index 6400c5e..e883106 100644 --- a/install2.sh +++ b/install2.sh @@ -75,6 +75,17 @@ sudo pacman -S base-devel linux-headers --noconfirm --needed sudo systemctl enable NetworkManager.service sudo systemctl start NetworkManager.service +echo "-------------------------------------------------" +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 "-------------------------------------------------" From 48a9f4cb85e3e75f7d0b4ef95991be9d4bd53a34 Mon Sep 17 00:00:00 2001 From: beech Date: Tue, 6 Jan 2026 13:35:57 -0600 Subject: [PATCH 15/19] Fix mirrors --- install1.sh | 12 ++++++++++-- install2.sh | 13 ++++++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/install1.sh b/install1.sh index 169cae5..f0ac0a1 100644 --- a/install1.sh +++ b/install1.sh @@ -81,9 +81,17 @@ cat > /etc/pacman.d/mirrorlist << 'EOF' ## Generated on install ## EOF -if ! reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist || ! grep -q "^Server" /etc/pacman.d/mirrorlist; then - echo "Warning: reflector failed or produced empty mirrorlist, restoring backup mirrorlist" +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 diff --git a/install2.sh b/install2.sh index e883106..865a043 100644 --- a/install2.sh +++ b/install2.sh @@ -32,7 +32,18 @@ cat > /etc/pacman.d/mirrorlist << 'EOF' ## Generated on install ## EOF -reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist +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 locale-gen From 7f8460a096675eae05c0f1067a5196cf97b8d549 Mon Sep 17 00:00:00 2001 From: beech Date: Tue, 6 Jan 2026 13:36:39 -0600 Subject: [PATCH 16/19] Update README --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 3f4ae66..7ba07ac 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,6 @@ reboot sudo pacman -S --noconfirm pacman-contrib # Installer 3 (Desktop, software & Nvidia Drivers) -sudo git clone https://git.merlinslair.net/beech/ArchScripts cd ArchScripts sh install3.sh From 490875a30e1e5a79dc606b258e1e7c394ef73cb3 Mon Sep 17 00:00:00 2001 From: beech Date: Tue, 6 Jan 2026 13:39:34 -0600 Subject: [PATCH 17/19] Add warning to install1.sh --- install1.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install1.sh b/install1.sh index f0ac0a1..f8a653e 100644 --- a/install1.sh +++ b/install1.sh @@ -3,7 +3,7 @@ # Change boot, SWAP, and root partition sizes to your needs in lines 15-17 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 "-------------------------------------------------" lsblk From e36a7885a7190173ec0e72f8011aa1574bdbbead Mon Sep 17 00:00:00 2001 From: beech Date: Tue, 6 Jan 2026 13:41:17 -0600 Subject: [PATCH 18/19] Check for AUR helper in software.sh --- software.sh | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/software.sh b/software.sh index 8b23354..7e4272f 100644 --- a/software.sh +++ b/software.sh @@ -1,16 +1,26 @@ #!/usr/bin/env bash -echo -echo "Setting up Yay for AUR packages..." -echo -echo "Please enter username:" -read username -cd "${HOME}" -git clone "https://aur.archlinux.org/yay.git" -cd ${HOME}/yay -makepkg -si -echo -echo "Yay setup complete." -echo + +# Yay install +if ! command -v yay &> /dev/null; then + echo + echo "Setting up Yay for AUR packages..." + echo + echo "Please enter username:" + read username + cd "${HOME}" + git clone "https://aur.archlinux.org/yay.git" + cd ${HOME}/yay + 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 "INSTALLING SOFTWARE" echo From 9d828703bf93699ad84806aba71ea02dc7838ea5 Mon Sep 17 00:00:00 2001 From: beech Date: Tue, 6 Jan 2026 13:42:41 -0600 Subject: [PATCH 19/19] Fix branch link --- install1.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install1.sh b/install1.sh index f8a653e..b22da0b 100644 --- a/install1.sh +++ b/install1.sh @@ -62,7 +62,7 @@ echo "-------------------------------------------------" echo "Downloading 2nd install script" echo "-------------------------------------------------" -curl https://git.merlinslair.net/beech/ArchScripts/raw/branch/rework/install2.sh -o /mnt/install2.sh +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