A lightweight and fast command-line AUR (Arch User Repository) helper written in Go for managing AUR packages on Arch Linux systems.
- 🔍 Search AUR packages with detailed results
- 📦 Install packages directly from AUR
- 🔄 Update individual packages or all AUR packages at once
- ℹ️ Package Info - View comprehensive package details before installing
- 📋 List all installed AUR packages
- 🗑️ Delete packages with dependency removal
- ✅ Check for available updates without installing
- 🧹 Cleanup temporary build directories
- 💻 System Info - Display CPU, memory, and host information
- 🎨 Color-coded output for better readability
- ⚡ Fast and lightweight, written in Go
Required:
git- For cloning AUR repositoriespacman- Arch Linux package manager (system default)makepkg- For building packages (part of pacman)curl- For fetching package information
Optional:
sudoordoas- For installing packages with elevated privileges
- ✅ Zsh - Full auto-completion support included
wget https://github.com/nbebaw/Archub/releases/download/v0.1.1/archub_Linux_x86_64.tar.gz
tar -xvf archub_Linux_x86_64.tar.gz
chmod +x archub
sudo mv archub /usr/local/binmkdir archub_x86_64
cd archub_x86_64
wget https://github.com/nbebaw/Archub/releases/download/v0.1.1/archub_Linux_x86_64.tar.gz
tar -xvf archub_Linux_x86_64.tar.gz
chmod +x archub
sudo mv archub /usr/local/bin
sudo mv LICENSE /usr/share/licenses/archub
sudo mv auto_completions/zsh /usr/share/zsh/site-functions/_archubgit clone https://github.com/nbebaw/Archub.git
cd Archub
go build -ldflags "-X main.Version=v0.1.0" -o archub main.go
sudo mv archub /usr/local/binarchub [options]| Option | Alias | Description |
|---|---|---|
-s [package] |
--search |
Search for a package in AUR |
-Si [package] |
--pkginfo |
Show detailed package information |
-i [package] |
--install |
Install a package from AUR |
-u [package] |
--update |
Update a specific package |
-u --all |
--update --all |
Update all AUR packages |
-d [package] |
--delete |
Delete a package |
-l |
--list |
List all installed AUR packages |
-c |
--clean |
Clean up temporary build directories |
--check |
Check for available updates | |
--info |
Display system information | |
--help |
Show help message | |
--version |
Show version information |
archub -s yay
# or
archub --search yayDisplay comprehensive package details including dependencies, votes, maintainer, and more:
archub -Si paru
# or
archub --pkginfo paruExample output:
Repository : aur
Name : paru
Version : 2.1.0-2
Description : Feature packed AUR helper
Maintainer : Morganamilo
Votes : 1148
Popularity : 35.17
Depends On : git pacman libalpm.so>=14
Optional Deps : bat
devtools
Installed : No
archub -i package_name
# or
archub --install package_nameUpdate a specific package:
archub -u package_name
# or
archub --update package_nameUpdate all AUR packages:
archub -u --all
# or
archub --update --allarchub -l
# or
archub --listRemoves the package along with its dependencies:
archub -d package_name
# or
archub --delete package_nameLists packages with available updates without installing them:
archub --checkRemove temporary build directories:
archub -c
# or
archub --cleanarchub --info- Search: Queries the AUR RPC v5 API for package information
- Install: Clones the AUR git repository to
~/.config/archub_tmp, then builds usingmakepkg -si - Update: Fetches the latest PKGBUILD version from AUR and compares with installed version
- Package Info: Retrieves comprehensive metadata from AUR including dependencies, popularity, and maintainer information
Archub uses ~/.config/archub_tmp as its temporary directory for cloning and building packages. This directory can be cleaned up using the -c flag.
| Feature | Archub | yay | paru |
|---|---|---|---|
| Written in | Go | Go | Rust |
| Package Search | ✅ | ✅ | ✅ |
| Package Info | ✅ | ✅ | ✅ |
| Install Packages | ✅ | ✅ | ✅ |
| Update Packages | ✅ | ✅ | ✅ |
| Lightweight | ✅ | ✅ | ✅ |
| Simple Interface | ✅ | ❌ | ❌ |
| AUR Dependency Resolution | ❌ | ✅ | ✅ |
| PKGBUILD Review | ❌ | ✅ | ✅ |
Archub focuses on simplicity and speed, providing core AUR functionality without the complexity of larger helpers.
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Clone the repository
git clone https://github.com/nbebaw/Archub.git
cd Archub
# Build
go build -o archub main.go
# Run tests
go test ./...
# Run locally
./archub -s test-packageThis project is licensed under the MIT License - see the LICENSE file for details.
- Built with Go and love for the Arch Linux community
- Uses the AUR RPC API for package information
- Inspired by popular AUR helpers like yay and paru