██████╗ ███╗ ██╗██╗ ██╗
██╔════╝ ████╗ ██║██║ ██║
██║ ███╗██╔██╗ ██║██║ ██║
██║ ██║██║╚██╗██║██║ ██║
╚██████╔╝██║ ╚████║╚██████╔╝
╚═════╝ ╚═╝ ╚═══╝ ╚═════╝
GNU is Not Unix!
ara@talos ──────────────── Host: Raptor Talos II CPU: 2× POWER9, 22-core (44 threads) RAM: 1 TB DDR4-2400 ECC GPU: AMD Radeon Pro W7900 (48 GB) HBA: LSI 9305-24i (24-port SAS) Display: Dasung Paperlike Color (25.3″ e-ink) PSU: MSI Ai1600T (1600 W) OS: Debian 13 (trixie, ppc64le) Kernel: Linux 6.12 (Debian) Profile: Guix Home + straight.el Cert: RYF-certified mainboard Desktop: fbterm + tmux Editor: GNU Emacs (terminal, no-X) Notes: Org-mode + Denote Browser: eww + elpher LLM: gptel + llm-tool-collection Stats: R + ESS + Maxima ███ ███ ███ ███ ███ ███
Hardware
Raptor Computing Systems Talos II, POWER9 ppc64le. RYF-certified mainboard, with a fully libre boot path: OpenPOWER OPAL firmware and Petitboot. From cold start through to the kernel handoff there is no closed binary blob.
The build is dual 22-core POWER9 (44 threads), 1 TB of DDR4-2400 ECC memory, an AMD Radeon Pro W7900 (48 GB) for the local LLM, an LSI 9305-24i HBA for the SAS pool, a Dasung Paperlike Color e-ink display at the desk, and an MSI Ai1600T 1600 W PSU feeding the lot.
OS layer
Debian 13 (trixie) on bare metal, the ppc64le port, on Debian's stock Linux 6.12 kernel. Not Linux-libre — the boot path is libre, the running kernel isn't strictly so yet. Debian's tooling and ppc64le ecosystem are the pragmatic base; the libre kernel is on the path but the OS layer hasn't migrated.
Guix Home rides on top as the user-profile manager — that's where Emacs and the rest of the libre stack actually live, deployed declaratively from one home.scm. See the Guix Home page for the full inventory.
The desktop frame is fbterm on the framebuffer, with tmux as the window manager — Emacs is the application. There is no X server.
Storage layout: ~/ref/
All reference material lives under one root, split into two silos that map onto the gptel backend boundary:
~/ref/
├── pdf/ # workspace silo — academic papers
│ ├── papers/ # git-annex working tree
│ ├── references.bib # pulled from the bib repo
│ ├── text/ # pdftotext output (rebuilt locally)
│ └── title-index.txt # filename → title lookup
└── text/ # personal silo — born-text reference corpora
├── dicts/ # StarDict + Wiktionary (6 languages)
├── gutenberg/ # Project Gutenberg
├── wikipedia/ # English Wikipedia plain text
├── rfc/ # IETF RFCs
├── manpages/ # man pages from Debian + Guix
├── info/ # Texinfo manuals
└── unicode/ # Unicode Character Database
Same parent, two silos. The boundary is enforced by the gptel tool surface, not by the directory tree — the path alone does not tell you which side you are on. The detail is in the RAG page.
Total under ~/ref/text/ is around 42 GB; ~/ref/pdf/ is around 50 GB across roughly 10k papers. Both are within the page cache after first warm read; rg across the full corpus runs in under two seconds.
Out-of-Guix sources: ~/src/
Third-party clones that are not packaged in Guix live under ~/src/. The rule is: anything in guix.scm does not belong here; anything here either eventually graduates into a Guix package or stays out by explicit choice.
| Project | Why not Guix | Notes |
|---|---|---|
llama.cpp |
Guix package lags upstream; missing the Vulkan backend | Self-built with Vulkan for the AMD W7900 (48 GB VRAM). Active build loop; weekly git pull + rebuild. |
pyim-greatdict |
Not packaged in Guix | ~3.3 M-entry Mandarin pinyin dict; data file only, registered directly with pyim-dicts. |
pyim-sogou-scel-dict |
Not packaged in Guix | Aggregate of Sogou cell dicts, pre-converted to pyim format. |
Python venvs: ~/.local/share/
Python virtual environments isolated from system Python and Guix Python. One venv per consumer; each has a setup script colocated under ~/.local/share/ documenting how to rebuild it from scratch. The venv directory itself is treated as a reproducible artifact — if in doubt, delete and re-run the setup.
The Guix Python packages are too narrow for the scientific stack, and PyPI wheels rarely cover ppc64le. So venvs build from source, with apt-supplied build prereqs (python3-dev, libopenblas-dev) noted in each setup script.
gptel-venv—numpy,scipy,pandas,sympy. Consumed by the gptelpython_evaltool.rag-venv—pyglossary. Disposable; runs once during corpus conversion, then sits idle until the next refresh.
What Talos is and isn't
Talos is a single-user, single-host workstation. There is no CI, no fleet, no second machine to fall back on. The configuration is hand-tuned for one set of external assumptions and does not try to detect or fall back from them — notes corpus path, dictionary path, mail provider, llama.cpp endpoint, IME dictionaries are all hard defaults. That is the right tradeoff for one host: simplicity over portability.
It is also a reading end of the corpus pipeline, not the source of truth for any of it. Org notes, paper PDFs, references all flow in from elsewhere; Talos derives text and embeddings locally and never pushes those derivatives back. See the RAG page for how the inflow is structured.