diff --git a/archlabs-installer b/archlabs-installer index 4db59be..0c28bf7 100755 --- a/archlabs-installer +++ b/archlabs-installer @@ -7,7 +7,7 @@ # shellcheck disable=SC2086,SC2046 -VER=2.1.27 +VER=2.1.28 # default values { @@ -30,8 +30,8 @@ USER_CMD="" # optional command(s) entered by the user to export DIALOGOPTS="--cr-wrap" # dialog environment variable to hold default options, see `man dialog` # packages installed for all installation types as a baseline -BASE_PKGS="base base-devel xorg xorg-drivers sudo git gvfs gtk3 libmad libmatroska tumbler " -BASE_PKGS+="playerctl pulseaudio pulseaudio-alsa pavucontrol pamixer scrot xdg-user-dirs " +BASE_PKGS="base base-devel xorg xorg-drivers git gvfs gtk3 libmad libmatroska tumbler " +BASE_PKGS+="playerctl pulseaudio pulseaudio-alsa pavucontrol sudo pamixer scrot xdg-user-dirs " BASE_PKGS+="ffmpeg gstreamer gst-libav gst-plugins-base gst-plugins-good bash-completion xterm" # packages installed specific to archlabs, installed when any session is chosen @@ -43,6 +43,18 @@ WM_BASE_PKGS="arandr nitrogen polkit-gnome network-manager-applet " WM_BASE_PKGS+="volumeicon xclip exo laptop-detect xdotool picom wmctrl feh " WM_BASE_PKGS+="gnome-keyring dunst gsimplecal xfce4-power-manager xfce4-settings" +# packages installed when choosing to use pacstrap +ISO_PKGS="arch-install-scripts b43-firmware b43-fwcutter broadcom-wl btrfs-progs " +ISO_PKGS+="clonezilla crda darkhttpd ddrescue dhclient dhcpcd dialog diffutils dmraid " +ISO_PKGS+="dnsmasq dnsutils dosfstools elinks ethtool exfat-utils f2fs-tools fsarchiver " +ISO_PKGS+="ppp pptpclient refind-efi reiserfsprogs rp-pppoe rsync sdparm sg3_utils smartmontools " +ISO_PKGS+="linux-firmware lsscsi lvm2 man-db man-pages mc mdadm mtools nano ndisc6 netctl nfs-utils " +ISO_PKGS+="nilfs-utils nmap ntfs-3g ntp openconnect openssh openvpn p7zip partclone parted partimage " +ISO_PKGS+="gpm gptfdisk hdparm htop ipw2100-fw ipw2200-fw irssi iwd jfsutils lftp linux-atm gnu-netcat " +ISO_PKGS+="tcpdump testdisk unrar usb_modeswitch usbutils vi vim vpnc wget wireless-regdb wireless_tools " +ISO_PKGS+="wpa_supplicant wvdial xfsprogs xl2tpd alsa-firmware alsa-lib alsa-plugins geoclue2 lm_sensors " +ISO_PKGS+="lsb-release networkmanager pacman-contrib reflector terminus-font ttf-dejavu archlabs-keyring " + SYS_MEM="$(awk '/MemTotal/ {print int($2 / 1024) "M"}' /proc/meminfo)" LOCALES="$(awk '/\.UTF-8/ {gsub(/# .*|#/, ""); if ($1) {print $1 " - "}}' /etc/locale.gen)" CMAPS="$(find /usr/share/kbd/keymaps -name '*.map.gz' | awk '{gsub(/\.map\.gz|.*\//, ""); print $1 " - "}' | sort)" @@ -1468,8 +1480,9 @@ install_packages() # update and install crucial packages first to avoid issues chrun "pacman -Syyu --noconfirm" 2> "$ERR" 2>&1 - chrun "pacman -S ${LOGIN_PKGS[$LOGIN_TYPE]} $NEWSHELL --noconfirm --needed" 2> "$ERR" 2>&1 - errshow 1 "chrun 'pacman -S ${LOGIN_PKGS[$LOGIN_TYPE]} $NEWSHELL --noconfirm --needed'" + chrun "pacman -S $BASE_PKGS $ISO_PKGS ${LOGIN_PKGS[$LOGIN_TYPE]} $NEWSHELL --noconfirm --needed" 2> "$ERR" 2>&1 + errshow 1 "chrun 'pacman -S $BASE_PKGS $ISO_PKGS ${LOGIN_PKGS[$LOGIN_TYPE]} $NEWSHELL --noconfirm --needed'" + # reinstalling iputils fixes the network issue for non-root users chrun "pacman -S iputils $UCODE $KERNEL --noconfirm" @@ -1636,8 +1649,13 @@ install_mirrorlist() elif hash rankmirrors > /dev/null 2>&1; then echo "Sorting mirrorlist... This will take a while" local key="access_key=5f29642060ab983b31fdf4c2935d8c56" - ip_add="$(curl -fsSL "http://api.ipstack.com/check&?$key&fields=ip" | python -c "import sys, json; print(json.load(sys.stdin)['ip'])")" - country="$(curl -fsSL "http://api.ipstack.com/$ip_add?$key&fields=country_code" | python -c "import sys, json; print(json.load(sys.stdin)['country_code'])")" + + ip_add="$(curl -fsSL "http://api.ipstack.com/check&?$key&fields=ip" | + python -c "import sys, json; print(json.load(sys.stdin)['ip'])")" + + country="$(curl -fsSL "http://api.ipstack.com/$ip_add?$key&fields=country_code" | + python -c "import sys, json; print(json.load(sys.stdin)['country_code'])")" + if [[ "$country" ]]; then if [[ $country =~ (CA|US) ]]; then # use both CA and US mirrors for CA or US countries @@ -1662,7 +1680,9 @@ install_background() ( install_mirrorlist "/etc/pacman.d/mirrorlist" > /tmp/bgout 2>&1 && pacstrap /mnt $BASE_PKGS > /tmp/bgout 2>&1 && + cp /etc/pacman.d/mirrorlist "$MNT/etc/pacman.d/mirrorlist" al_repo "$MNT/etc/pacman.conf" + chrun "systemctl enable NetworkManager.service" > /tmp/bgout 2>&1 ) & BG_PID=$! else