Getting Started

Installation

paru -S vokun
# or
yay -S vokun

One-liner

curl -fsSL https://raw.githubusercontent.com/blacktechwarrior/vokun/main/install.sh | bash

This clones the repository to a temporary directory, runs make install (which copies files to /usr/local), and cleans up.

From source

git clone https://github.com/blacktechwarrior/vokun.git
cd vokun
sudo make install

make install places the following files:

File Destination
vokun /usr/local/bin/vokun
lib/*.sh /usr/local/share/vokun/lib/
bundles/*.toml /usr/local/share/vokun/bundles/
completions/vokun.bash /usr/local/share/bash-completion/completions/vokun
completions/_vokun /usr/local/share/zsh/site-functions/_vokun
completions/vokun.fish /usr/local/share/fish/vendor_completions.d/vokun.fish

To uninstall: sudo make uninstall.


Dependencies

Required: Bash 4+ and pacman.

Optional:

Package Purpose
paru or yay AUR package support
fzf Interactive fuzzy pickers
jq JSON state tracking
pacman-contrib Cache management (paccache)

Vokun works without any of the optional packages. Features that need them degrade gracefully with a warning.


Initial setup

After installing, run the setup command to verify dependencies and optionally bootstrap an AUR helper:

vokun setup

This checks for required tools (Bash 4+, pacman, jq) and optional ones (paru, yay, fzf, pacman-contrib), offering to install anything that is missing.

You can also run vokun doctor at any time for a comprehensive health check covering dependencies, sync drift, broken packages, orphans, cache size, and untracked packages:

vokun doctor

First commands

Interactive mode

The fastest way to explore vokun is to run it with no arguments:

vokun

This launches an interactive menu (powered by fzf when available) where you can browse bundles, install, remove, and access every command without memorizing subcommands. On a fresh install (no state file), a first-run wizard guides you through initial configuration.

Browse bundles

vokun list

This shows all available bundles grouped by their primary tag (dev, admin, net, etc.), with installed bundles highlighted.

Inspect a bundle before installing

vokun info sysadmin

Shows the bundle description, tags, every package with its description, and whether each package is already installed on your system.

Install a bundle

vokun install sysadmin

Vokun lists the packages to install, highlights any AUR packages, offers optional packages separately, shows a total count, and asks for confirmation. Pass --yes or -y to skip the prompt.

Find which bundles include a package

vokun why strace

Shows every bundle that contains a package and whether it is installed. Useful when deciding whether to add a package to a custom bundle or when investigating what installed it.

Search for bundles

vokun search python

Searches bundle names, descriptions, tags, and package lists.


Configuration

On first run, vokun creates ~/.config/vokun/ with a default state file. To customize behavior, create ~/.config/vokun/vokun.conf:

[general]
aur_helper = "paru"
color = true
confirm = true
fzf = true

See the Configuration page for all available options.


Profiles

If you need separate sets of installed bundles (e.g. for work and personal), use profiles:

vokun profile create work
vokun profile switch work
vokun install coding           # Installed under the "work" profile only
vokun profile switch default   # Switch back to the default profile

See the Configuration page for details on how profiles work.


Dotfile management

Vokun can manage your dotfiles through a unified interface that wraps chezmoi, yadm, or stow. It auto-detects which backend is installed, or you can set dotfiles.backend in your config. See the Commands page for full details.

vokun dotfiles init            # Initialize dotfile tracking
vokun dotfiles apply           # Apply dotfiles to the system
vokun dotfiles status          # Check status of tracked dotfiles

Rollback

If you make a mistake, vokun rollback undoes your last reversible action (bundle install, bundle remove, get, or yeet). Vokun shows what will be undone and confirms before proceeding. Every action is recorded in the action log, which you can review with vokun log.