Milestone: flave has docs — getting started on Linux, Ubuntu, and Nix flakes
It worked on one NixOS laptop. Now there is a page that takes a collaborator from a clean Ubuntu install to the desktop app open on their screen, a direnv hook that makes the flake automatic, and docs rendered through LFM rather than around it.
Why Care?
A friend wants to work on flave. Until today, the only documentation for building it was a changelog entry that said “Tauri on NixOS, in about an hour” — true, and useless to anyone not on NixOS.
What’s New?
- Collaborate, a new header entry on the splash, leading to Getting Started tracks per OS. Linux and Nix are written; macOS and Windows are listed as not written yet, so the gap is visible rather than implied.
- An Ubuntu walkthrough from
lsb_releasetopnpm app:dev, with a proof command after every install step and a troubleshooting section for the failures that actually happen (missingwebkit2gtk-4.1, the blank-window DMA-BUF bug, launching from the wrong directory). .envrcwithuse flake. With direnv and nix-direnv,cd flavenow loads the devshell andcd ..unloads it.- Floors, not pins. The flake moves from
nodejs_22tonodejs; the docs state minimums (>= 22.12,>= 10.26,>= 1.77) and every install command fetches the newest release. CI follows:pnpm latest, Nodelts/*. - The splash now parses with LFM. Docs go through
parseMarkdownfrom@lossless-group/lfm(0.6.0, from JSR) and a walker ported from content-farm’s splash. Callouts reuse the editor’s tone mapping, so a> [!warning]reads the same in both places. Changelog and context-v pages still use Astro’s built-in markdown. - Astro 6 → 7, astro-pagefind 1 → 2. Clean build, no warnings, same 20 pages. Note that
pnpm devon Astro 7 detaches: it returns your prompt and keeps serving.pnpm astro dev status | logs | stopmanage it. - Reading pages finally have margins. Six pages — the Collaborate index, both changelog pages, both context-v pages, and search — used a
.container-narrowclass thattheme.cssnever defined, so their text ran to the viewport edges. It is now defined (820px), and both containers share a fluid--gutter(20px on a phone, up to 48px wide). Recorded inDESIGN.md§5.
One thing worth knowing
The splash now has its own pnpm-workspace.yaml, so it is its own pnpm root and carries its own allowBuilds (esbuild, sharp). That makes pnpm install --ignore-workspace, which the README and CI used to require, actively harmful: on pnpm >= 10.26 the flag skips the allowlist and the install fails. Both now run plain pnpm install.
What’s honestly not proven
- The Ubuntu path has not been run on Ubuntu. It is assembled from Tauri’s published prerequisites and this repo’s manifests. The JS half (
pnpm install,pnpm test,pnpm prove, editor build) was verified on a clean install; the Rust/WebKit half was not. The first collaborator through it is the test. - Nix on non-NixOS is untested. The page says so and gives the GPU-driver workarounds.
- The two
theme.csscopies have drifted.splash/andapps/editor/were byte-identical; the splash copy now has the container and gutter tokens and the editor copy does not. Harmless (the editor uses neither), but the sync is now a real follow-up rather than a claimed fact.