From 54fe57df62f54dcbeb70c0e64449c495378ad561 Mon Sep 17 00:00:00 2001 From: TrudeEH Date: Wed, 6 Aug 2025 10:29:01 +0100 Subject: [PATCH] Add pacman conf and fix fetch --- install.sh | 11 +++-------- pacman.conf | 47 +++++++++++++++++++++++++++++++++++++++++++++++ scripts/fetch | 21 +++++++++++++++++---- 3 files changed, 67 insertions(+), 12 deletions(-) create mode 100644 pacman.conf diff --git a/install.sh b/install.sh index a39205e1..b4363ec8 100755 --- a/install.sh +++ b/install.sh @@ -49,7 +49,7 @@ case "$XDG_CURRENT_DESKTOP" in ;; *) whiptail --title "Warning" --msgbox \ - "Dconf settings and GNOME extensions can only be installed from within GNOME.\n\nPlease run this script again from within a GNOME session. The script will configure NetworkManager for you if needed." \ + "Dconf settings and GNOME extensions can only be installed from within GNOME.\n\nPlease run this script again from within a GNOME session." \ 15 60 ;; esac @@ -114,22 +114,17 @@ if [ $W_MAIN = "paru" ]; then fi if [ $W_MAIN = "install" ]; then + sudo cp -f ./pacman.conf /etc/pacman.conf ./scripts/update printf "%b\n" "${YELLOW}[+]${NC} Installing Dependencies..." - sudo pacman -Sy git tmux fzf tealdeer pass-otp zbar-tools bat ufw unp network-manager bash-completion gnome-keyring libsecret reflector + sudo pacman -Sy git tmux fzf tealdeer pass-otp bat ufw unp bash-completion gnome-keyring libsecret reflector # Enable GNOME Keyring SSH agent printf "%b\n" "${YELLOW}[+]${NC} Enabling GNOME Keyring SSH agent..." systemctl enable --user gcr-ssh-agent.socket systemctl start --user gcr-ssh-agent.socket - # Enable Network Manager - printf "%b\n" "${YELLOW}[+]${NC} Enabling Network Manager..." - sudo mv /etc/network/interfaces /etc/network/interfaces.bckp - sudo systemctl restart networking - sudo service NetworkManager restart - printf "%b\n" "${YELLOW}[+]${NC} Selecting Fastest Arch Mirrors..." sudo reflector --sort rate --fastest 10 --verbose --protocol https --latest 200 --save /etc/pacman.d/mirrorlist fi diff --git a/pacman.conf b/pacman.conf new file mode 100644 index 00000000..0bb11729 --- /dev/null +++ b/pacman.conf @@ -0,0 +1,47 @@ +# See the pacman.conf(5) manpage for option and repository directives + +[options] +HoldPkg = pacman glibc +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +Color +CheckSpace +VerbosePkgLists +ParallelDownloads = 5 +DownloadUser = alpm + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# -------- REPOS --------- + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +# 32-bit pkgs +[multilib] +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs diff --git a/scripts/fetch b/scripts/fetch index 94e98d0d..44719c2f 100755 --- a/scripts/fetch +++ b/scripts/fetch @@ -30,10 +30,23 @@ printf "%b\n" "${CYAN}Kernel:${NC} Linux $(uname -r)" UPTIME=$(uptime -p | sed 's/up //') printf "%b\n" "${CYAN}Uptime:${NC} $UPTIME" -# Package counts: dpkg and flatpak -PKG_COUNT=$(dpkg-query -f '${binary:Package}\n' -W 2>/dev/null | wc -l) -FLAT_COUNT=$(flatpak list 2>/dev/null | wc -l) -printf "%b\n" "${CYAN}Packages:${NC} ${PKG_COUNT} (dpkg), ${FLAT_COUNT} (flatpak)" +# Package counts: detect package manager and count packages +if command -v pacman >/dev/null 2>&1; then + # Arch Linux - count pacman and AUR packages + PKG_COUNT=$(pacman -Q 2>/dev/null | wc -l) + AUR_COUNT=$(pacman -Qm 2>/dev/null | wc -l) + FLAT_COUNT=$(flatpak list 2>/dev/null | wc -l) + printf "%b\n" "${CYAN}Packages:${NC} ${PKG_COUNT} (pacman), ${AUR_COUNT} (AUR), ${FLAT_COUNT} (flatpak)" +elif command -v dpkg >/dev/null 2>&1; then + # Debian/Ubuntu - count dpkg packages + PKG_COUNT=$(dpkg-query -f '${binary:Package}\n' -W 2>/dev/null | wc -l) + FLAT_COUNT=$(flatpak list 2>/dev/null | wc -l) + printf "%b\n" "${CYAN}Packages:${NC} ${PKG_COUNT} (dpkg), ${FLAT_COUNT} (flatpak)" +else + # Fallback - just count flatpak + FLAT_COUNT=$(flatpak list 2>/dev/null | wc -l) + printf "%b\n" "${CYAN}Packages:${NC} ${FLAT_COUNT} (flatpak)" +fi # Shell and version BASH_VER=$(bash --version | head -n1 | awk '{print $4}' | cut -d'(' -f1)