Local Documentation System
Overview
Arch Linux ships documentation across four locations. Most engineers only use man. This reference maps every location, what’s stored there, how to read it, and what’s directly relevant to the domus stack.
| Location | Count | Purpose | Reader |
|---|---|---|---|
|
178 packages |
Package-shipped HTML guides, examples, FAQs |
|
|
20,905 pages |
Primary tool documentation (flags, syntax, config formats) |
|
|
95+ entries |
GNU tool tutorials β longer and more detailed than man pages |
|
|
461 files |
Zsh completions β reveals every flag a tool supports |
|
Man Pages by Section
| Section | Pages | Content |
|---|---|---|
1 |
2,229 |
User commands (daily tools) |
2 |
525 |
System calls (kernel interface) |
3 |
13,028 |
Library functions (C, crypto, etc.) |
4 |
41 |
Device files ( |
5 |
540 |
Config file formats ( |
7 |
571 |
Overviews and conventions |
8 |
831 |
System admin commands (mount, systemctl, etc.) |
Section 5 is underused. man 5 sudoers, man 5 sshd_config, man 5 journald.conf, man 5 nft β these document config file syntax that most people guess at.
|
/usr/share/doc β HTML Guides (w3m-readable)
Shell & Language References
| Package | Key Files | What It Covers | Status |
|---|---|---|---|
|
|
Complete GNU Bash Reference Manual β expansions, builtins, traps, arrays, arithmetic, readline |
β Not read |
|
|
Lua 5.4 complete reference β metatables, coroutines, string patterns, C API |
β Not read |
|
|
Go language specification, memory model |
β Not read |
|
|
Full terminal emulator docs β kittens, graphics protocol, SSH kitten, hints, config |
β Not read |
Security & Authentication
| Package | Key Files | What It Covers | Status |
|---|---|---|---|
|
|
All three PAM guides β every |
β Not read |
|
|
GPG config examples, systemd user integration, implementation details |
β Not read |
|
|
LUKS FAQ β edge cases, recovery, performance tuning |
β Not read |
|
|
Example sudoers config, LDAP-integrated sudo |
β Not read |
|
|
Kerberos reference configs β diff against own infrastructure |
β Not read |
Infrastructure & Networking
| Package | Key Files | What It Covers | Status |
|---|---|---|---|
|
|
Production nftables patterns β connection tracking, load balancing, security marking |
β Not read |
|
|
systemd environment variable handling, transient units, journal architecture |
β Not read |
|
|
NetworkManager dispatcher and config examples |
β Not read |
Tools & Workflow
| Package | Key Files | What It Covers | Status |
|---|---|---|---|
|
|
Full GNU Stow manual β symlink farm management (dots-quantum depends on this) |
β Not read |
|
|
Power-user lazygit features β custom commands, stacked branches, fixup workflows |
β Not read |
|
|
D2 diagramming language documentation |
β Not read |
|
|
Complete CMake reference manual |
β Not read |
/usr/share/info β GNU Info Pages
INFO: Info pages are tutorial-style and significantly longer than man pages. For GNU tools, this is where the real depth lives.
Shell & Text Processing (Highest Value)
| Topic | What You Get Over man |
Status |
|---|---|---|
|
Same as bashref.html β navigable with info keybindings |
β Not read |
|
Every GNU core utility documented in depth β sort, cut, tr, tee, env, printf, test, expr, wc, uniq, comm, paste, join, nl, od, fmt, pr, fold |
β Not read |
|
Full sed manual with worked examples, beyond what |
β Not read |
|
Full grep manual β regex syntax differences (BRE vs ERE vs PCRE), performance notes |
β Not read |
|
Complete AWK reference β more thorough than |
β Not read |
|
Full find + xargs manual β exec vs execdir, primaries, operators, security considerations |
β Not read |
|
GNU Make manual β pattern rules, automatic variables, functions, eval, include |
β Not read |
|
Archive operations β incremental, remote, multivolume |
β Not read |
|
Input editing library β affects bash, python REPL, gdb, every readline-enabled tool |
β Not read |
|
diff/cmp/sdiff β output formats, context vs unified, directory comparison |
β Not read |
Crypto & Security
| Topic | Content | Status |
|---|---|---|
|
GPG operations β key management, trust model, agent |
β Not read |
|
TLS library β cipher suites, certificate handling |
β Not read |
Build & Development
| Topic | Content | Status |
|---|---|---|
|
Same as manual-single.html β symlink farm algorithms, ignore lists, conflicts |
β Not read |
|
Configure script generation (understanding |
β Not read |
|
Parser generator β useful for understanding grammar/parsing concepts |
β Not read |
|
GNU C Library β system calls, signals, processes, sockets, file I/O |
β Not read |
|
Download utility β mirroring, recursive, timestamping |
β Not read |
Man Pages β Tool Coverage Audit
Present (man page installed)
Daily CLI Tools
jq, rg (ripgrep), fd, bat, delta, fzf, w3m, tmux, age, stow, gh (GitHub CLI), d2, kitty
System Administration
journalctl, systemctl, ip, ss, nft, pacman, openssl, ssh, curl, docker, nvim
Desktop Environment
hyprctl, waybar, grim, slurp, wl-copy
Programming
rustc, lua
Missing (not installed)
podman, ansible, vault (HashiCorp), virsh, qemu-system-x86_64, go, lazygit
Install missing docs with pacman -S <package> or look for -docs companion packages via pacman -Ss '<package>-docs'.
|
Git Man Pages (241 pages)
Arch does NOT package git-doc (the HTML user manual, howtos, and API docs). The man page references to /usr/share/doc/git-doc/ are upstream paths that don’t exist on Arch. However, git ships 241 man pages that cover the same content.
Section 7 β Conceptual Documentation (The User Manual)
These 17 pages replace the HTML user manual. Read them with man <page>.
| Page | What It Covers | Status |
|---|---|---|
|
Git’s core data model β blobs, trees, commits, refs. This is the "Git concepts" chapter from the missing HTML manual. |
β Not read |
|
|
β Not read |
|
Recommended branching/merge strategies β topic branches, integration, graduation |
β Not read |
|
Command-line conventions β flag parsing, |
β Not read |
|
Official FAQ β common pitfalls, how to undo things, credentials, configuration |
β Not read |
|
Minimum command set by role: individual developer, participant, integrator, admin |
β Not read |
|
Plumbing commands β how git actually works under the hood ( |
β Not read |
|
Introductory tutorial β clone, commit, branch, merge, log |
β Not read |
|
Part two β object model, index, low-level commands |
β Not read |
|
Username/password storage β helpers, credential caching, per-host config |
β Not read |
|
Diff pipeline internals β rename detection, pickaxe, order files |
β Not read |
|
Every git term defined β fast-forward, detached HEAD, refspec, pathspec, etc. |
β Not read |
|
Namespace isolation for hosting multiple repos in one |
β Not read |
|
Pack files, deltification, gc β how git stores objects efficiently |
β Not read |
|
Mounting repos inside repos β config, update, sync, deinit |
β Not read |
|
Custom transport protocols β writing helpers for non-standard remotes |
β Not read |
|
CVS to Git migration patterns (historical reference) |
β Not read |
Discovery Commands
# List all 241 git man pages
man -k '^git' | awk '{print $1}' | sort -u
# Section 7 only (conceptual docs)
man -k '^git' | grep '(7)' | sort
# Section 1 only (command reference)
man -k '^git' | grep '(1)' | sort
# Section 5 only (config file formats)
man -k '^git' | grep '(5)' | sort
Arch does not package git-doc. The HTML files at /usr/share/doc/git-doc/ referenced in man git are Debian/Fedora paths. All conceptual content is available via the section 7 man pages above.
|
Zsh Completions as Documentation
461 completion files in /usr/share/zsh/functions/Completion/Unix/.
Key tools with completions (reveals every flag):
_awk, _curl, _find, _git, _gpg, _ip, _jq, _make, _mount, _rsync, _sed, _ssh, _sudo, _tmux
# Read a completion file to discover flags
less /usr/share/zsh/functions/Completion/Unix/_git
# Count how many flags git exposes
wc -l /usr/share/zsh/functions/Completion/Unix/_git
Exploration Commands
Discovery
# Find all HTML docs (best for w3m reading)
find /usr/share/doc -name '*.html' -type f | awk -F/ '{print $5}' | sort -u
# Find packages with example configs
find /usr/share/doc -type d -name examples | awk -F/ '{print $5}'
# List available info pages
ls /usr/share/info/*.info* | sed 's/\.info.*$//' | awk -F/ '{print $NF}' | sort -u
Package Interrogation
# What files did a package install?
pacman -Ql systemd | grep -E 'doc|example|share'
# Who owns this file?
pacman -Qo /usr/share/doc/kitty/html/conf.html
# Search ALL packages (even uninstalled) for a file
pacman -Fi journalctl
Getting More Docs
# Find -docs companion packages
pacman -Ss -- '-docs'
# Reading man pages in w3m
man -Hcat jq
Learning Log
Track insights gained from reading local documentation. Date each entry.