PacJunkie is a Bash script designed to facilitate package management and upgrades on Arch Linux systems. It integrates with Pacman for managing core system updates and Yay for handling AUR (Arch User Repository) along with (devel) development package updates. The script provides a user-friendly menu interface using Dialog, allowing users to interactively manage and upgrade their system packages.
PacJunkie is written in Bash scripting language, chosen for its robustness and efficiency in handling system-level operations and scripting tasks. Bash scripting allows PacJunkie to leverage Linux command-line utilities effectively, ensuring compatibility and performance in managing Arch Linux package upgrades.
PacJunkie displays real-time progress updates during package upgrades using Dialog. This feature enhances user experience by providing immediate feedback on the upgrade process, ensuring transparency and user control over system updates.
- Description: Displays a categorised list of available upgrades for core system packages, AUR packages, and development packages. Users can view which packages have updates available and decide which packages to upgrade based on their preferences.
- Description: Offers options to upgrade specific categories of packages:
- Core System: Upgrades essential system packages using Pacman.
- AUR Packages: Upgrades user-contributed AUR packages using Yay.
- Development Packages: Upgrades (devel) development-specific packages from the AUR using Yay.
- All Packages: Upgrades all available packages, including core system, AUR, and development packages, in a single operation.
PacJunkie utilises Dialog to present a graphical menu interface within the terminal. This interface enhances usability by allowing users to navigate and select upgrade options easily. Dialog provides a consistent, intuitive experience for managing Arch Linux package upgrades directly from the command line.
PacJunkie relies on several key dependencies for its operation:
- Dialog: Provides the framework for creating text-based graphical interfaces in the terminal.
- Toilet: Used for generating ASCII art and stylised text, enhancing the visual presentation of the script's title screen.
- Tee and Tail: Essential for managing output logs and displaying real-time updates during package upgrades.
- Pacman and Yay: Core package managers for Arch Linux and the AUR, respectively. Pacman manages system packages, while Yay extends support for managing AUR packages, including development-specific updates.
To use PacJunkie, follow these steps:
-
Clone the Repository: Clone the PacJunkie repository from GitHub.
git clone https://github.com/grahfmusic/PacJunkie.git cd PacJunkie
-
Install Dependencies: Ensure that the following dependencies are installed on your Arch Linux system:
sudo pacman -S dialog toilet yay -S yay # Install yay if not already installed
-
Make the Script Executable: Ensure the script has executable permissions.
chmod +x pacjunkie.sh
-
Run PacJunkie: Execute the script to launch the menu interface.
./pacjunkie.sh
To make pacman
and makepkg
not ask for a password when using PacJunkie, follow these steps:
-
Edit Sudoers File: Add the following lines to your sudoers file. You can edit the sudoers file using
visudo
to ensure syntax correctness.sudo visudo
-
Add the Following Lines: Append the following lines to allow
pacman
andmakepkg
to run without requiring a password. Replaceyour_username
with your actual username.your_username ALL=(ALL) NOPASSWD: /usr/bin/pacman
-
Save and Exit: Save the changes and exit the editor. This configuration will allow
pacman
andmakepkg
to run without prompting for a password when executed by the specified user.
Upon running PacJunkie, users are presented with a menu offering various upgrade options:
-
List Available Upgrades: Displays a categorised list of available package upgrades, including core system, AUR, and development packages.
-
Upgrade Core System: Initiates the upgrade process for core system packages using Pacman.
-
Upgrade AUR Packages: Upgrades user-contributed AUR packages using Yay.
-
Upgrade Development Packages: Updates development-specific packages from the AUR using Yay.
-
Upgrade All Packages: Upgrades all available packages, including core system, AUR, and development packages, in a single operation.
-
Quit: Exits the PacJunkie script.
This project is licensed under the MIT License. See the LICENSE file for details.
PacJunkie was developed by Grahf in 2024. Contributions and feedback are welcome via the GitHub repository at github.com/grahfmusic/PacJunkie.
For questions, issues, or feature requests, please open an issue on the GitHub repository.
PacJunkie is designed to simplify and streamline the package management experience on Arch Linux systems, ensuring efficient and reliable updates tailored to user preferences and system requirements.