Adds "## Persistent memory (`persistent-memory.md`)" to the global CLAUDE.md, placed directly after the cognitive-load-reduction section because persistent memory is that mission's instrument: it is what lets the operator re-enter a project without reloading its context. Deliberately a POINTER, not a copy. The canon is the /snapshot skill (~/.claude/skills/snapshot -> ~/development/galdrabok/skills/snapshot, version-controlled there); the section says so explicitly and forbids restating it here or in a project CLAUDE.md, because a second copy is a sync surface that drifts silently. What it does carry is the four things a session needs BEFORE it loads the skill: read persistent-memory.md at session start; check /tmp/<althing-handle>-handoff.md and its 1h staleness rule; never bulk-read persistent-memory.d/; commit memory alongside the work. Plus the three-way split (project CLAUDE.md / auto-memory / persistent-memory) with the redundancy test, because that boundary is the one sessions actually get wrong. Fleet state at time of writing: 48 repos carry persistent-memory.md, 18 carry persistent-memory.d/. Stamped with the date so it reads as a snapshot rather than a standing fact.
dotfiles
Personal dotfiles. Configs are organized by where they get linked:
| Folder | Links into | Examples |
|---|---|---|
home_root |
~ |
.zshrc, .wezterm.lua, .nanorc |
home_config |
~/.config |
nvim, zellij, ghostty, aerospace |
windows |
Windows-only | windows-terminal/settings.json |
lk-installers |
n/a | helper scripts to install tooling |
Linux / macOS (GNU stow)
One-shot, host-aware:
./link-dotfiles # link only (installs stow if missing)
./link-dotfiles --apps # fresh box: install all CLI tools, then link
It detects the host (macOS vs Linux), installs stow
if missing (Homebrew on macOS; apt/dnf/pacman on Linux), then runs
stow home_root and stow --target=$HOME/.config home_config. Re-running is
safe — stow is idempotent.
Installing the tools
The configs assume a handful of CLI tools (bat, fd, fzf, zoxide,
zellij, nvim, btop, htop, tldr, fastfetch, plus the fzf-git.sh
helper). One host-aware installer covers them:
./lk-installers/install-apps # macOS -> Homebrew; Linux -> apt + upstream
On macOS it bootstraps Homebrew if absent. It's idempotent — re-running only
fills gaps. ./link-dotfiles --apps just runs this first, then links.
The zsh prompt and plugins (zinit, Powerlevel10k, autosuggestions,
syntax-highlighting, completions, vi-mode, fzf-tab) self-install from
.zshrc on first shell start, so they're not part of install-apps.
Windows (PowerShell)
stow doesn't run natively on Windows, so use the PowerShell equivalent. It
mirrors stow by creating junctions for directories and symlinks/hardlinks
for files — none of which require administrator rights:
pwsh -File .\link-dotfiles.ps1
- Re-running is safe: already-correct links are skipped.
- Any real file/dir that would be overwritten is moved aside to
<name>.bak. - Preview without changing anything:
pwsh -File .\link-dotfiles.ps1 -DryRun
The repo stays the source of truth — edit files under home_root /
home_config and the linked locations update live.
Windows Terminal
windows/windows-terminal/settings.json is linked into the Terminal package
folder (...\Microsoft.WindowsTerminal_*\LocalState\settings.json) by
link-dotfiles.ps1. Because it's linked, changes you make in the Terminal UI
write straight back into this repo. The settings include the Australis
color scheme and the VictorMono Nerd Font Mono profile font; install the
font (see below) so glyphs render.
Prompt
zsh uses Powerlevel10k — loaded
through zinit straight from .zshrc, with the instant-prompt preamble near the
top for fast startup. The theme config lives at home_root/.p10k.zsh (stowed to
~/.p10k.zsh); there's no separate installer — zinit fetches it on first shell
start.
PowerShell uses starship (configured separately).
Both expect a Nerd Font v3 (e.g. VictorMono Nerd Font Mono) installed and selected in your terminal for glyphs to render.