MCPcopy Create free account
hub / github.com/camtisocial/pacfetch

github.com/camtisocial/pacfetch @v1.1.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.1.3 ↗ · + Follow
119 symbols 259 edges 9 files 19 documented · 16% updated 4mo agov1.1.3 · 2026-03-12★ 37

Browse by type

Functions 98 Types & classes 21
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Project Banner

Neofetch style snapshot and sys update wrapper for the Arch linux package manager


Installation

AUR

yay -S pacfetch      # build from source
yay -S pacfetch-bin  # or prebuilt binary

Cargo

cargo install pacfetch

Build from source

git clone https://github.com/camtisocial/pacfetch
cd pacfetch
sudo make install

Usage

Run pacfetch -Syu to sync and upgrade, or just pacfetch to see stats synced to a temp database (no risk of partial upgrades)

Flag Description
no args Show stats with sync to temp databases
-Syu Sync databases, display stats, then upgrade
-Sy Sync package databases, then display stats
-Su Display stats, then upgrade packages
--yay Full system + AUR upgrade via yay
--paru Full system + AUR upgrade via paru
--ascii <PATH> Custom ASCII art file, built-in name, or NONE to disable
--color <COLOR> Override ASCII art color (name, hex #RRGGBB, or none)
--image <PATH> Use an image instead of ASCII art
--json Output stats as JSON
--local Use local cached database
-d, --debug Show verbose output and execution times per function
-h, --help Print help
-V, --version Print version

Configuration & Logs

  • User config is automatically created on first run at ~/.config/pacfetch/pacfetch.toml
  • Error logs are written to ~/.cache/pacfetch/pacfetch.log

Demo

Full demo

## Customization

Config is created on first run at ~/.config/pacfetch/pacfetch.toml

### Stats

Choose which stats to display and in what order. Insert "newline" for blank line spacing.

toml [display] stats = [ "title.header", "installed", "upgradable", "last_update", "newline", "download_size", "installed_size", "net_upgrade_size", "disk", "orphaned_packages", "cache_size", "mirror_url", "mirror_health", "colors", ]

Available stats: installed · upgradable · last_update · download_size · installed_size · net_upgrade_size · orphaned_packages · cache_size · disk · mirror_url · mirror_health · colors · colors_dark · colors_light · newline

### ASCII Art

toml [display] ascii = "PACMAN_DEFAULT" # "PACMAN_DEFAULT", "PACMAN_SMALL", "NONE", or a file path ascii_color = "yellow"

### Image

Set an image path to render a logo alongside stats. Image takes precedence over ASCII art. Protocol (kitty, sixel, iterm) is auto-detected.

toml [display] image = "~/.config/pacfetch/logo.png"

### Titles

Define named titles under [display.titles.{name}] and reference them in the stats array as "title.{name}". You can create as many as you want.

```toml

# example embedded title [display.titles.header] text = "default" text_color = "bright_yellow" line_color = "none" style = "embedded" width = "content" line = "─" left_cap = "╭" right_cap = "╮" padding = 2

# footer [display.titles.footer] text = "" style = "embedded" width = "content" line = "─" left_cap = "╰" right_cap = "╯" ```

Option Values Default
text "default" · "pacman_ver" · "pacfetch_ver" · "" · custom string ""
text_color color name, hex, "none" "bright_yellow"
line_color color name, hex, "none" "none"
style "stacked" · "embedded" "stacked"
width "title" · "content" · integer "title"
align "left" · "center" · "right" left for stacked, center for embedded
line string "-"
left_cap / right_cap string ""
padding integer 0

### Colors

All color values support named colors, hex (#RRGGBB), or "none" for terminal default.

```toml # global stat colors [display.colors] label = "bright_yellow" stat = "none"

# per-stat override (takes precedence over global) [display.colors.installed] label = "bright_green" stat = "white" ```

### Labels

Override the display text for any stat label.

toml [display.labels] installed = "Pkgs" cache_size = "Cache" disk = "Storage (/)"

### Glyph

Customize the separator between labels and values.

toml [display.glyph] glyph = ": " color = "none"

### Color Palette

Configure the appearance of the colors / colors_dark / colors_light stats.

toml [display.palette] style = "blocks" # "blocks", "dots", "ghosts", or any custom character spacing = 0 # spaces between each color element

### Disk

toml [disk] path = "/"

### Cache

toml [cache] ttl_minutes = 15 # set to 0 to always sync fresh

Contributing

See CONTRIBUTING.md

Core symbols most depended-on inside this repo

Shape

Function 78
Method 20
Class 14
Enum 7

Languages

Rust100%

Modules by API surface

src/pacman.rs36 symbols
src/config.rs32 symbols
src/ui/mod.rs16 symbols
src/stats.rs12 symbols
src/main.rs8 symbols
src/util.rs7 symbols
src/ui/ascii.rs3 symbols
src/color.rs3 symbols
src/log.rs2 symbols

For agents

$ claude mcp add pacfetch \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page