بنقرة واحدة
alice-emacs-mods
Tour of Alice's heavily-customized terminal Emacs — Causal transients, Worlding org, proof tooling, MLX chat, voice, and clipboard.
القائمة
Tour of Alice's heavily-customized terminal Emacs — Causal transients, Worlding org, proof tooling, MLX chat, voice, and clipboard.
استنادا إلى تصنيف SOC المهني
Query and explore the 2600: The Hacker Quarterly magazine archive (1984-present) via DuckDB. Provides structured access to 168+ issues covering hacker culture, security, privacy, telephony, and digital rights without loading full content into context.
ACSets (Attributed C-Sets): Algebraic databases with Specter-style bidirectional navigation. Category-theoretic formalism for relational databases.
Attributed C-Sets as algebraic databases. Category-theoretic data structures generalizing graphs and dataframes with Gay.jl color integration.
ACSets (Attributed C-Sets): Algebraic databases with Specter-style bidirectional
Bridge active inference theory with robot control using K-Scale's JAX/MuJoCo stack. Use when connecting predictive coding to locomotion policies, mapping KL divergence minimization to RL training, applying mean field approximation to robotics state estimation, or implementing sim2real as inference about future observations.
Implement affective valence as directional derivative of interoceptive energy landscapes for AI alignment. Use when building alignment-aware RL agents, validating GF(3) conservation in reward signals, training Langevin-based policies, or analyzing fold-change detection signals in POMDP environments.
| name | alice-emacs-mods |
| description | Tour of Alice's heavily-customized terminal Emacs — Causal transients, Worlding org, proof tooling, MLX chat, voice, and clipboard. |
| metadata | {"trit":0} |
Read this BEFORE editing ~/.emacs.d/init.el, suggesting packages, or
explaining why some keybinding does something unexpected. Most surprises
here are intentional and load-bearing.
emacs-nox 30.2 from Nix store (/nix/store/...emacs-nox-30.2)(display-graphic-p) = nilfactory, server, claude-crdt, horsin-around, …)
factory = full init.el (the "real" one)claude-crdt / horsin-around = -Q daemons, started for specific purposes/var/folders/.../T/emacs501/<name>~/.emacs.d/init.el (~700 lines), ~/.emacs.d/early-init.el~/.emacs.d/lisp/ (e.g. org-worlding.el), ~/.emacs.d/site-lisp/ (whisper.el, chatgpt-shell, shell-maker)package.el + use-package (use-package-always-ensure t), MELPA + GNU + nonGNU. ~/.emacs.d/elpa/ ≈ 70 packagesC-ocausal is a plurigrid fork of casual-suite — Transient-based menus
covering most built-in modes plus several additions. The convention:
C-o opens the mode's transient menu in dired, isearch, ibuffer, info,
calc, bookmarks, agenda, calendar, compile/grep, re-builder, eshell,
help, man, csv, image, ediff, eww, make, ghostty, gnus (group/summary/
article/message), portal, proof.M-m opens transients for elisp-mode, html-mode, css-mode.C-o is causal-editkit-main-tmenu (the umbrella menu).Plurigrid additions beyond casual-suite:
| Binding | Menu | What it's for |
|---|---|---|
C-c C | causal-catcolab-tmenu | Capture proof → olog export to CatColab |
C-c p | causal-portal-tmenu | Post-web proof-theoretic navigation (Narya) |
C-c t z | causal-timezone-tmenu | Multi-zone planning |
Other causal modules loaded if present (require ... nil t):
causal-self-walker, causal-self-walker-paperproof, causal-proof,
causal-proofreader, causal-ucm, causal-xypic, causal-notebooklm,
sophia-mnemosyne, causal-portal, causal-gnus.
If a C-o binding doesn't seem to work, the mode probably isn't loaded
yet — Causal uses with-eval-after-load everywhere.
#+TODO: states. There is no global
GTD configuration. Don't impose one.org-worlding (custom, in ~/.emacs.d/lisp/org-worlding.el) supplies
faces, agenda files, capture templates, keybindings.#7AA2F7 (light blue) across all 8 levels —
this is intentional via set-face-attribute after org-faces loads.org-bullets for pretty bullets, org-roam at ~/org-roam/,
org-download for screenshots/yank to ~/org-images/.C-c a agenda, C-c c capture, C-c n … for org-roam.org-mcp — exposes org over MCP.Configured for barton@plurigrid.com via IMAP imap.gmail.com:993 SSL +
SMTP smtp.gmail.com:587 STARTTLS. Auth in ~/.authinfo. Start with
C-c g. Gnus dirs all under ~/.emacs.d/gnus/. Causal-gnus binds C-o
in every Gnus mode.
paredit, rainbow-delimiters, magit, avycider, clojure-mode, parseclj, parseedn, sesman — Clojurehy-mode — Hyproof-general + narya — Narya is the active proof assistantcausal-proof binds C-o in proof-mode-map; causal-portal binds
C-o in narya-mode-map so Narya hops live inside the Portal menu.chatgpt-shell (xenodium) loaded from ~/.emacs.d/site-lisp/chatgpt-shell
with shell-maker next to it. Uses local MLX server at
http://127.0.0.1:8009 running mlx-community/Olmo-3-1125-32B-4bit
("Olmo-3-32B"). Anthropic key from ANTHROPIC_API_KEY env. OpenAI
key falls back to literal "local".agent-shell + acp — Agent Client Protocol.mcp-server-lib, org-mcp — MCP from inside Emacs.whisper.el (in ~/.emacs.d/site-lisp/) bound to F9:
whisper-cli from flox (NOT auto-installed by whisper.el; whisper-install-whispercpp = nil)~/v/ggml-base.en.bin (base.en)avfoundation :1 (MacBook Pro Mic)whisper-command overrides
the default to point at the flox binary + local model.key-translation-map + input-decode-map so it
works in both GUI and terminal frames. The user is on a Kinesis
Advantage 360 + Dvorak.xterm-mouse-mode on (terminal-only block).mouse-1 set point, mouse-4/5 scroll, drag copies region.tab-line-mode global, terminal styling: black bg / white fg, current
tab inverted. C-c <left>/C-c <right> switch tabs.tab-line-tabs-mode-buffers).treesit-language-source-alist populated for ~16 languages
(bash, c, cpp, css, go, html, java, js, json, markdown, python, rust, toml,
tsx, typescript, yaml). M-x install-tree-sitter-grammars installs all.
major-mode-remap-alist sends *-mode → *-ts-mode.
latexmk -pdf as TeX-command-default, RefTeX on,
cdlatex for both LaTeX and Org math. C-o in bibtex-mode.hledger (not ledger). Custom reports for
income statement / balance sheet / cash flow / monthly expenses.
Files: *.journal, *.ledger, *.hledger. ob-ledger for org-babel.~/.emacs.d/undo-tree-hist/.
Auto-save every 100 keys / 30s idle.collaborative-emacs skill for the
Claude-Code ↔ Emacs CRDT setup using socket claude-crdt on port 6531.menu-bar-enable-clipboard button (which sets gui-*
functions that no-op without a window-system frame). Enabled
globally via (after-init . global-clipetty-mode).binaural sound theme is built (see
emacspeak-binaural skill) but the (load-file ...) line is
commented. Re-enable at your own risk.pbcopy/pbpaste shellouts for clipboard — clipetty
already handles this via OSC 52, faster + works over SSH.#+TODO: config — each org file owns its states.M-x package-install an alternative to causal-suite — the
plurigrid causal fork supersedes it and adds modes you'd lose.interprogram-cut-function directly; let
global-clipetty-mode advise it per-frame.package-autoremove is governed.C-o? Check whether the mode hook fired
(with-eval-after-load) and whether causal-<mode> was required.(featurep 'clipetty) and global-clipetty-mode.whisper-cli is on PATH (flox
env active), that ~/v/ggml-base.en.bin exists, and that
avfoundation :1 is the right mic index.M-x org-roam-db-sync.emacs — base ecosystemelisp — language referenceemacs-color-chain — SplitMix64 → facesemacspeak-binaural — disabled audio themecollaborative-emacs — CRDT setup using claude-crdt daemonxenodium-elisp — chatgpt-shell / agent-shellproofgeneral-narya — proof assistantThe user's hard requirement is Cmd+C in terminal Emacs → macOS pasteboard, Cmd+V anywhere. The full chain that delivers this:
Cmd+C in Ghostty
→ Ghostty keybind sends literal M-w (ESC w) to Emacs
→ Emacs runs kill-ring-save on the marked region
→ clipetty advice fires, emits OSC 52 to terminal
→ Ghostty receives OSC 52 and writes selection to macOS pasteboard
→ Cmd+V anywhere on the Mac pastes the killed text
The Ghostty side lives in ~/.config/ghostty/config:
keybind = cmd+c=text:\x1bw
This OVERRIDES Ghostty's default Cmd+C = copy_to_clipboard. Trade-off: you
lose "copy Ghostty's mouse selection on Cmd+C". Workarounds for terminal-text
capture: right-click → Copy, or mouse-drag with copy-on-select = true.
The Emacs side: clipetty must be loaded and global-clipetty-mode on.
Already in init.el; verify with (featurep 'clipetty) and global-clipetty-mode.
Workflow: C-Space to set mark → move cursor → Cmd+C → text on macOS pasteboard.
menu-bar-enable-clipboard — the "turn on copy paste" menu button. Sets
interprogram-cut-function to gui-select-text which is a no-op in TTY
frames. clipetty bypasses this entirely. Don't trust the button.Cmd+Shift+, reloads Ghostty config in place. If keybinds don't take effect,
fully quit and relaunch Ghostty.
Backup of original Ghostty config saved at ~/.config/ghostty/config.bak.<ts>
before the Cmd+C override was added (2026-04-19).
emacs-strobe-walk skill)A separate sibling skill at ~/.claude/skills/emacs-strobe-walk/ that drives
every face in the frame from a SplitMix64 chain advanced once per
interaction. Background, foreground, cursor, region, hl-line, mode-line
(active + inactive), fringe, all font-lock-* faces, and org-level-1..8
get retinted on each tick. Strobing, deterministic, reseedable, throttled
(default 40 ms minimum gap).
This is what the horsin-around daemon already runs — it was launched
with -Q -l ~/horsin-around/color-walk.el (and the canonical copy is in the
skill dir). Default seed is #x42D (1069). Commands: M-x horsin/enable,
horsin/disable, horsin/reseed. Variables: horsin/seed, horsin/throttle.
Drop into any new daemon:
emacs --daemon=NAME -l ~/.claude/skills/emacs-strobe-walk/color-walk.el
# or, into a live one:
emacsclient -s NAME -e '(load-file "~/.claude/skills/emacs-strobe-walk/color-walk.el")'
Hooks installed: post-command-hook, server-visit-hook,
server-after-make-frame-hook, plus :after advice on
server-eval-and-print so even emacsclient -e ticks the chain.
Footgun (in the skill, repeating it here): never advise server-process-filter —
it fires on every network byte and deadlocks the daemon. Recovery is kill -9.
Also don't call redraw-display in the tick; force-mode-line-update t is
enough and won't block on a tty frame.
Composes cleanly with emacs-color-chain (the other SplitMix64 skill —
that one is on-demand single-apply via C-c g a; strobe-walk is continuous
auto-tick). Don't enable both at once on the same faces.
As of 2026-04-19 there is a bridge file
~/.claude/skills/emacs-strobe-walk/color-walk-gay.el that loads both
skills and rewires the strobe's two helpers (horsin/-sm, horsin/-hsl)
to delegate to gay--splitmix64 / gay--hsl-to-hex. Single source of
truth for the math; strobe provides hooks + face spec, gay provides the
color chain.
To launch a daemon with merged mode:
emacs --daemon=NAME -l ~/.claude/skills/emacs-strobe-walk/color-walk-gay.el
# or hot-load into a running daemon:
emacsclient -s NAME -e '(load-file "~/.claude/skills/emacs-strobe-walk/color-walk-gay.el")'
horsin/seed and gay-seed are mirrored at load time; horsin/reseed
is advised to also update gay-seed. Reseeding either now retargets
both the strobe trajectory and any on-demand gay-apply-chain calls.
Behavioral identity: same SplitMix64 constants, same face spec, same output — this is deduplication, not a visual change.
takeover.bb in this skill dir does the whole "I'm sitting down at a
daemon, give me my workspace" routine in a single call. Loading this
skill is enough — no need to also load emacs-strobe-walk /
emacs-color-chain / tmux / org; the script pulls what it needs.
~/.claude/skills/alice-emacs-mods/takeover.bb # server + 6 orgs + 0x42D
~/.claude/skills/alice-emacs-mods/takeover.bb factory # same for factory daemon
~/.claude/skills/alice-emacs-mods/takeover.bb server 4 0xCAFE
What it does, in order:
Finds emacsclient via /nix/store/*emacs-nox-*/bin/emacsclient (with
PATH / homebrew fallbacks).
Probes the daemon using perl -e 'alarm 3; exec @ARGV' — never hangs
on a stale socket (the factory socket has bitten us; claude-crdt
and server are usually live).
Finds N most-recent .org files across ~/worlds ~/org ~/org-roam ~/.emacs.d using stat -f '%m %N' + sort -rn (macOS stat syntax).
Splits every frame of the daemon into a 2×3 grid via
split-window … 'below + 'right, then balance-windows, and
visits one file per pane in reading order:
w1 w4
w2 w5
w3 w6
Hot-loads ~/.claude/skills/emacs-strobe-walk/color-walk-gay.el and
calls (horsin/reseed SEED) with an explicit seed. Gotcha: after
the bridge loads, horsin/reseed is advised with arity 1 — calling it
no-arg raises Wrong number of arguments. The script catches that
and falls back to the no-arg form for the plain color-walk.el case.
| Daemon | What it is | Good for takeover? |
|---|---|---|
server | The real frame the user attaches to with emacsclient -t -s server | yes (default) |
factory | Full init.el daemon; may be stale (hung probe) | sometimes |
claude-crdt | -Q headless for CRDT sharing — no visible frame by default | no (placement is invisible) |
horsin-around | -Q strobe-only daemon | no |
Lesson 2026-04-20: targeting claude-crdt placed 6 files on an invisible
frame while the user watched an unrelated emacs -nw splash. Always target
server unless you have a reason not to.
emacsclient -s server -t # TTY frame in current terminal
emacsclient -s server -c # new graphical frame (GUI build only — N/A here)
This skill participates in the 32-skill working set assembled in /Users/alice/worlds/e session 2026-04-23 (15 new skills also created).
Outgoing references (this skill src → other skill dest):
alice-emacs-mods → ghostel-imposter-audit — detects comint imposters in daemon buffer-listalice-emacs-mods → horsin-bignum-safe — fixes Crack #2 bignum seed overflow in horsin/tickalice-emacs-mods → ghostel-multi-spawn-safe — serialized spawn recipe avoids Crack #4 daemon hangalice-emacs-mods → narya-pg-clean-reload — workaround for Crack #1 PG macro collisionalice-emacs-mods → emacs-session-seed-bridge — ties $CLAUDE_SESSION_ID into horsin/seedalice-emacs-mods → causal-asi-hydra — wires asi-agenda onto C-c a A alongside Causal C-oIncoming references (other skill src → this skill dest):
plurigrid-asi-ghostel → alice-emacs-mods — host daemon conventionsbob-emacs-mods → alice-emacs-mods — host-level defaults; operational layer lives in bobVerified GF(3) triads containing this skill:
Part of: repl-commons. Family canonical: emacs.