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 |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
|
Lua 5.4 complete reference β metatables, coroutines, string patterns, C API |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
|
Go language specification, memory model |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
|
Full terminal emulator docs β kittens, graphics protocol, SSH kitten, hints, config |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
Security & Authentication
| Package | Key Files | What It Covers | Status |
|---|---|---|---|
|
|
All three PAM guides β every |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
|
GPG config examples, systemd user integration, implementation details |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
|
LUKS FAQ β edge cases, recovery, performance tuning |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
|
Example sudoers config, LDAP-integrated sudo |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
|
Kerberos reference configs β diff against own infrastructure |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
Infrastructure & Networking
| Package | Key Files | What It Covers | Status |
|---|---|---|---|
|
|
Production nftables patterns β connection tracking, load balancing, security marking |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
|
systemd environment variable handling, transient units, journal architecture |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
|
NetworkManager dispatcher and config examples |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
Tools & Workflow
| Package | Key Files | What It Covers | Status |
|---|---|---|---|
|
|
Full GNU Stow manual β symlink farm management (dots-quantum depends on this) |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
|
Power-user lazygit features β custom commands, stacked branches, fixup workflows |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
|
D2 diagramming language documentation |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
|
Complete CMake reference manual |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
/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 |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
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 |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Full sed manual with worked examples, beyond what |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Full grep manual β regex syntax differences (BRE vs ERE vs PCRE), performance notes |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Complete AWK reference β more thorough than |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Full find + xargs manual β exec vs execdir, primaries, operators, security considerations |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
GNU Make manual β pattern rules, automatic variables, functions, eval, include |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Archive operations β incremental, remote, multivolume |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Input editing library β affects bash, python REPL, gdb, every readline-enabled tool |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
diff/cmp/sdiff β output formats, context vs unified, directory comparison |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
Crypto & Security
| Topic | Content | Status |
|---|---|---|
|
GPG operations β key management, trust model, agent |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
TLS library β cipher suites, certificate handling |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
Build & Development
| Topic | Content | Status |
|---|---|---|
|
Same as manual-single.html β symlink farm algorithms, ignore lists, conflicts |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Configure script generation (understanding |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Parser generator β useful for understanding grammar/parsing concepts |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
GNU C Library β system calls, signals, processes, sockets, file I/O |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Download utility β mirroring, recursive, timestamping |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
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. |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
|
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Recommended branching/merge strategies β topic branches, integration, graduation |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Command-line conventions β flag parsing, |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Official FAQ β common pitfalls, how to undo things, credentials, configuration |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Minimum command set by role: individual developer, participant, integrator, admin |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Plumbing commands β how git actually works under the hood ( |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Introductory tutorial β clone, commit, branch, merge, log |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Part two β object model, index, low-level commands |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Username/password storage β helpers, credential caching, per-host config |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Diff pipeline internals β rename detection, pickaxe, order files |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Every git term defined β fast-forward, detached HEAD, refspec, pathspec, etc. |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Namespace isolation for hosting multiple repos in one |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Pack files, deltification, gc β how git stores objects efficiently |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Mounting repos inside repos β config, update, sync, deinit |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
Custom transport protocols β writing helpers for non-standard remotes |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
|
CVS to Git migration patterns (historical reference) |
β‘β‘β‘β‘β‘β‘β‘β‘β‘β‘ 0/10 |
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.