llms?
  • Prolog 84.4%
  • Nix 12.2%
  • Shell 1.9%
  • Common Lisp 1.5%
Find a file
2026-09-16 00:16:58 -04:00
.prolog bootstrap: add .prolog/verify.pl 2026-09-16 00:16:57 -04:00
lem bootstrap: add lem/init.lisp 2026-09-16 00:16:51 -04:00
nix bootstrap: add nix/home-manager.nix 2026-09-16 00:16:49 -04:00
tests bootstrap: add tests/verify-kb.sh 2026-09-16 00:16:58 -04:00
.gitignore bootstrap: add .gitignore 2026-09-16 00:16:52 -04:00
AGENTS.md bootstrap: add AGENTS.md 2026-09-16 00:16:47 -04:00
flake.nix bootstrap: add flake.nix 2026-09-16 00:16:48 -04:00
README.org docs: define pinned Lem migration bootstrap 2026-09-16 00:16:46 -04:00

Emacs to Lem Migration

Purpose

This repository owns the evidence-driven migration of the active Doom/GNU Emacs environment to Lem. It tracks explicit packages, implicit Doom modules, custom code, snippets, external tools, and user-visible workflows. Package list equality is not treated as feature parity.

Pinned evidence

Source environment
lost-rob0t/dotfiles@6adff8f295201bec7c45b655123615c56a20d3fb
Lem upstream
lem-project/lem@75b48185d5e90283d6ab50cccff15322b6fb8987
Migration epic
#1
Control-plane decision
#2
Install/activation slice
#3
Inventory/parity probes
#4

Lem installation scaffold

The flake pins upstream Lem and exposes its ncurses package/app plus a Home Manager module. A consuming Home Manager configuration can import it and set:

{
  inputs.star-lem.url = "github:lost-rob0t/emacs--lem-";

  # In the Home Manager module list:
  imports = [ inputs.star-lem.homeModules.default ];

  programs.star-lem.enable = true;
}

This installs the pinned lem-ncurses package and deploys this repository's lem/ tree to ~/.config/lem/. The real flake.lock, host activation, build evidence, and launch evidence belong to issue #3 and must be produced on a Nix host. This bootstrap does not replace Doom, change $EDITOR, or claim parity.

For an upstream-only smoke install at the exact pinned revision:

nix profile add github:lem-project/lem/75b48185d5e90283d6ab50cccff15322b6fb8987#lem-ncurses

Knowledge base

The Git-tracked Prolog KB lives in .prolog/kb/. It records the source and target SHAs, current control mode, package/module/custom-component inventory, domain ownership, issue numbers, and queue order.

bash tests/verify-kb.sh
bash tests/verify-kb.sh --implementation

The normal check validates the bootstrap KB. The implementation gate fails while the control mode is unselected, as required by RAGE issue #2.

Current state

  • Lem packaging/config scaffold: present, not host-verified.
  • RAGE queue: issues #1 through #16.
  • Control mode: unselected; port implementation is blocked on issue #2.
  • Feature parity: not claimed.