All Projects → excalibur1234 → Pacui

excalibur1234 / Pacui

Licence: gpl-3.0
Bash script providing advanced Pacman and Yay/Pikaur/Aurman/Pakku/Trizen/Pacaur/Pamac-cli functionality in a simple UI

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Pacui

Pacaptr
Pacman-like syntax wrapper for many package managers.
Stars: ✭ 138 (+33.98%)
Mutual labels:  package-manager, pacman
Nve
Run any command on specific Node.js versions
Stars: ✭ 531 (+415.53%)
Mutual labels:  terminal, package-manager
Ansible Aur
Ansible module to manage packages from the AUR
Stars: ✭ 149 (+44.66%)
Mutual labels:  package-manager, pacman
Trizen
Lightweight AUR Package Manager
Stars: ✭ 696 (+575.73%)
Mutual labels:  package-manager, pacman
meta-package-manager
🎁 a wrapper around all package managers
Stars: ✭ 277 (+168.93%)
Mutual labels:  package-manager, pacman
Aura
A secure, multilingual package manager for Arch Linux and the AUR.
Stars: ✭ 998 (+868.93%)
Mutual labels:  package-manager, pacman
Plotille
Plot in the terminal using braille dots.
Stars: ✭ 99 (-3.88%)
Mutual labels:  terminal
Ruby Progressbar
Ruby/ProgressBar is a text progress bar library for Ruby.
Stars: ✭ 1,378 (+1237.86%)
Mutual labels:  terminal
Colored
🎨 Mirror of colored library repository
Stars: ✭ 98 (-4.85%)
Mutual labels:  terminal
Cancer
It's terminal.
Stars: ✭ 98 (-4.85%)
Mutual labels:  terminal
Ruckzuck
software package manager for windows
Stars: ✭ 103 (+0%)
Mutual labels:  package-manager
Cordless
The Discord terminal client you never knew you wanted.
Stars: ✭ 1,391 (+1250.49%)
Mutual labels:  terminal
Gql
Very simple CLI for many GraphQL schemas in the cloud. Provides autocompletion for GraphQL queries
Stars: ✭ 101 (-1.94%)
Mutual labels:  terminal
Instawow
World of Warcraft add-on manager CLI and GUI
Stars: ✭ 98 (-4.85%)
Mutual labels:  package-manager
Git Extra Status
Get more information for a single or batch of git repositories with a single command
Stars: ✭ 102 (-0.97%)
Mutual labels:  terminal
Unicode Display width
Monospace Unicode character width in Ruby
Stars: ✭ 98 (-4.85%)
Mutual labels:  terminal
Apt Offline
Offline APT Package Manager
Stars: ✭ 102 (-0.97%)
Mutual labels:  package-manager
Pacmanpagecontrol
Let's play Pac-Man.
Stars: ✭ 98 (-4.85%)
Mutual labels:  pacman
Tty Exit
Terminal exit codes.
Stars: ✭ 101 (-1.94%)
Mutual labels:  terminal
Dotnet Unpkg
Pure .NET front-end HTML package management using unpkg.com as a source
Stars: ✭ 103 (+0%)
Mutual labels:  package-manager

PacUI

PacUI provides useful and advanced Pacman and Yay/Pikaur/Aurman/Pakku/Trizen/Pacaur/Pamac-cli commands in a convenient and easy to use text interface.

PacUI is aimed at experienced/intermediate/advanced users of Arch Linux (and Arch-based distributions, including Manjaro), who have at least basic knowledge of their Linux system, Pacman and Yay/Pikaur/Aurman/Pakku/Trizen/Pacaur/Pamac-cli. Absolute beginners are probably overwhelmed by the choices PacUI offers.

This fork of an older version of pacli called PacUI follows the KISS principle: The whole script is contained within one file, which consists of easy to read bash code with many helpful comments. PacUI offers many more features over pacli in order to enhance comfort and speed of CLI based package management.

Table of Contents

Screenshots

UI of PacUI:

Screenshot 01

Installing the package "cantata" from system repositories by entering its name:

Screenshot 02

Installation

Execute without prior Installation

For a minimal working version of PacUI, please install its dependencies expac and fzf (and pacman-contrib on Arch Linux) using Pacman first (if possible). Then, the PacUI file can be downloaded and run without prior installation:

wget https://raw.githubusercontent.com/excalibur1234/pacui/master/pacui
bash pacui

I find this feature of PacUI invaluable for fixing systems. Here are two examples:

  • A large number of updates broke (parts of) the GUI, e.g. xorg, window manager, or desktop environment. In this case, switching to a different tty (with CTRL + ALT + F2), installing PacUI and using "Roll Back System" to roll back all the latest updates can fix the system (temporarily).

  • A broken keyring makes it impossible to apply updates or install any packages. Executing PacUI without prior installation and using "Fix Pacman Errors" (which does not require "expac" or "fzf") to fix the keyring and all related problems is the easiest and fastest solution I know of.

Manjaro

In Manjaro, you can simply install the stable version of PacUI from the Manjaro repositories:

sudo pacman -S pacui

There is also an (often outdated) development version available:

sudo pacman -S pacui-git

Arch Linux

PacUI is no longer available on the AUR. PKGBUILDs are still availble (see PKGBUILD_AUR file) and Pacui can be executed without installation (see above).

chaotic-aur

Both the stable and -git version of PacUI are in chaotic-aur. After adding chaotic-aur to your list of repositories, PacUI can be installed using the same commands as within Manjaro (see above).

Usage

Start PacUI with UI

After successful installation, type the following command into your terminal in order to start PacUI with a simple UI:

pacui

Start PacUI without UI: Using Options

Using PacUI without its UI requires less keystrokes and can therefore be much quicker. An overview of all PacUI options is displayed with pacui h.

For example, you want to display the Reverse dependency Tree of a package. Please note the marked letters "R" and "T" in PacUI's corresponding UI option. PacUI does not care, whether you use upper or lower case letters as options or whether you use no, one or two dashes in front. Therefore, the following four commands are equivalent:

  • pacui RT
  • pacui rt
  • pacui -rt
  • pacui --rt

This principle can be used with all of PacUI's options. Here is another random example (of PacUI's hidden "List Packages by Size" option):

  • pacui LS
  • pacui -LS
  • pacui --LS
  • pacui ls
  • pacui -ls
  • pacui --ls

Start PacUI without UI: Using Options and Package Names

You can also use package names in addition to options. For example, you want to install the package "cantata". Then, you can use a command like

pacui i cantata

Instead of a list of all available packages, a much shorter already filtered list is displayed. Simply select the "cantata" package you want to install and press ENTER in order to install it.

If an argument contains special characters, it has to be passed on as string. This can be achieved differently depending on the used shell. For example when using regular expressions in zsh in order to search package file names starting with string "archlinux-":

pacui s '^archlinux-'

Start PacUI without UI: Passing Arguments to AUR helper or Pacman

For advanced use (e.g. in scripting or an alias), PacUI can have a "flag" argument, which gets passed directly to an AUR helper and/or Pacman. Examples:

  • pacui -r 0ad --flag="--noconfirm"
  • pacui u flag --noconfirm
  • pacui --FLAG --asdeps --i --bash
  • pacui b --flag=--noconfirm

Multiple installed AUR helpers

Please note that PacUI optionally requires at least one of these AUR helpers to enable use of the AUR.: Yay, Pikaur, Aurman, Pakku, Trizen, Pacaur, or Pamac-cli.

If more than one AUR helper is installed, they are automatically used in the same order as listed above (i.e. Aurman is used with priority while Pacaur is only used as a last resort). A specific AUR helper can be set with the PACUI_AUR_HELPER environment variable.

Alternatively, replacing $PACUI_AUR_HELPER with the name of your preferred AUR helper in the following variable (within /usr/bin/pacui file) works as well. Note that $PACUI_AUR_HELPER needs to be replaced (again) after each PacUI update:

# here, the preferred AUR helper can be set manually by the user. for example, AUR_Helper="trizen" uses Trizen despite any other installed AUR helpers.
AUR_Helper="$PACUI_AUR_HELPER"

Useful Tips and Recommended Settings

It is highly recommended to use an utility, which notifies the user about available updates alongside of PacUI. Such a lightweight utility is for example update-notifier.

Along with PacUI the following settings are recommended by the author:

Fancy List View

A fancy list view for all pacman updates can be enabled by uncommenting the following line in your /etc/pacman.conf file:

#VerbosePkgLists

A very easy way to edit this file by using PacUI is:

pacui c pacman.conf

Alias

If you use PacUI without the UI it is recommended to use an alias for PacUI to reduce the amount of necessary typing. Do this by adding the following line to your ~/.bashrc file (if you use bash):

alias p='pacui'

This will set "p" as an alias to "pacui" within your terminal (after a restart of your shell or computer). For example, you can now update your system using

p u

Search syntax

PacUI uses fuzzy finder (fzf) to display lists of items (such as packages, package groups, logs, patchs, etc.) and by starting to type, you can easily search/filter those lists. Regular expressions can be used to improve the search results, e.g.:

Search Term Description
"sbtrkt" Items that match sbtrkt
"^music" Items that start with music
"git$" Items that end with git
"'wild" Items that include wild
"!fire" Items that do not include fire
"!-git$" Items that do not end with -git

A single bar character term acts as an OR operator. For example, the following query matches entries that start with core or end with go, rb, or py.

"^core|go$|rb$|py$"

Help

Short PacUI Help

For short help, e.g. when using PacUI without UI, use one of the following commands:

  • pacui h
  • pacui -h

Detailed PacUI Help

Choose the "Help" option within PacUI's UI by entering "00" or "H" or "h" or "help" and pressing "ENTER". pacui --help from the terminal will call PacUI's detailed help page, too.

This help page explains some general stuff such as how to navigate PacUI. It also explains every PacUI option in detail. If you want to look up which commands PacUI uses under the hood and understand them in order to use PacUI correctly, this is the right place for you!

Manjaro Forum Threads

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].