Pakt (PAcman KaTegories) is a POSIX-compliant Pacman shell wrapper for categorizing packages.
You can order the packages you install in categories. They are stored in plain text files at $XDG_DATA_HOME/pakt/
, like this:
> cat ~/.local/share/pakt/dev
emacs
typescript
clang
rustup
# pakt can act as a replacement of pacman ...
pakt -S neovim
# ... and as a wrapper for your AUR helper
pakt -S neovim-git
# Installs neovim and assigns the `editors` category
pakt -S neovim +editors
# Installs firefox and assigns the categories `gui` and `all`
pakt -S firefox +gui +all
# Performs system update, installs htop and lf both in `cli`,
# firefox in `basic` but git only in the default categories (if any configured)
pakt -Syu htop lf +cli firefox +basic git
git clone https://github.com/mrminede/pakt
cd pakt
sudo sh install.sh
When you're done, you can remove the source code directory.
curl -LsS https://raw.githubusercontent.com/mrminede/pakt/main/uninstall.sh | sudo sh
Or if you still have the source code directory:
cd path/to/pakt
sudo sh uninstall.sh
The configuration is usually done in /etc/pakt.conf
. By exporting a PAKT_CONF_PATH
in your shell config (e.g. ~/.bashrc
), you can set another path for pakt.conf
.
In the file, you can choose an AUR helper for Pakt to wrap around, or just keep Pacman.
You can also assign multiple categories that package names go into by default. Out of the box, it's just default
. But you can also set none.
See the todo project and the respective issues