feat: documentation handbook, PDF pipeline and config-driven keymap docs - #2
Merged
Conversation
added 7 commits
July 19, 2026 17:51
Update all flake inputs (nixpkgs unstable, nvf on nixos 26.05, plugins), resolving blink-cmp Rust crate availability. Adapt config to new schemas: clipboard register order, rust LSP settings, and prettier (nodePackages removed upstream).
Migrate disabledFiletypes to the new statusline/winbar attrset, and add disabled_filetypes to the manual lualine setup so the statusline is hidden on the alpha dashboard (the module option alone had no effect).
io.popen can return nil (restricted/headless environments); the unchecked handle:read crashed init.lua when run headless, silently dropping later keymaps. Guard all three call sites.
Untrack the local prompt log and Claude instructions (kept on disk, now ignored). Ignore mkdocs site output and the built handbook PDF. Anchor the 'core' ignore to root so it no longer shadows config/core/.
Add a Material for MkDocs handbook with Kartoza branding, a pandoc+TeXLive PDF build (nix run .#handbook-pdf), and serve/build apps. Keymap tables, which-key map, completion tables and keyboard-layout SVGs are generated from the live keymaps (nix run .#handbook-keymaps) so docs never drift from config. Diagrams are brand-coloured SVGs (kartozaColors).
On PRs, build the handbook PDF as a short-lived artifact and comment its link. On merge to main, publish the mkdocs site to GitHub Pages. On v* tags, cut a release with the PDF asset and CHANGELOG-derived notes linking the PDF and docs.
Bump version and add CHANGELOG for the documentation handbook, PDF pipeline and config-driven keymap docs.
|
📄 Handbook PDF for this PR ( Download it from the workflow artifacts (short-lived, 7 days). The site preview publishes to GitHub Pages once this merges to 📦 Software Bill of Materials543 components for timvim-wrapped (runtime closure).
Full CycloneDX + SPDX SBOMs are attached as build artefacts. Download the full CycloneDX + SPDX SBOM (short-lived, 7 days). |
added 2 commits
July 19, 2026 20:49
Add a 'nix run .#sbom' app (sbomnix from nixpkgs-stable; the unstable build is broken by a Python 3.14 dependency) that emits CycloneDX, SPDX, CSV and a Markdown summary for the timvim runtime closure. CI wiring: - docs.yml: new 'sbom' job uploads the SBOM as a 7-day artifact and folds its summary table into the PR comment alongside the handbook PDF. - Release.yml: attaches the CycloneDX + SPDX files as release assets and appends the summary table to the release notes.
nix flake check --all-systems failed evaluating the Darwin outputs: nixpkgs unstable (26.11) throws on x86_64-darwin (support dropped), and the editor closure pulls in wayland which is unsupported on aarch64-darwin. The config is Linux-oriented, so declare only x86_64-linux + aarch64-linux.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a Kartoza-branded documentation handbook with a full PDF + GitHub Pages
pipeline, and makes the keybinding docs generate themselves from the live
config so they can never drift.
Highlights
guide, keybindings reference, developer guide, about.
nix run .#handbook-pdf), A4, Kartoza cover.keymap.md,which-key.md,completion.mdand all keyboard-layout SVGs are generated from timvim's live keymaps
(
nix run .#handbook-keymaps); CI regenerates them before every build.Also in this PR
chore(deps): freshen flake inputs (nvf on nixos 26.05) — fixes blink-cmpRust crate availability — and adapt to new nvf/nixpkgs schemas.
fix(dap): guard uncheckedio.popen(crashed init headless, dropping ~140keymaps).
fix(ui): hide the statusline on the alpha dashboard.chore: stop trackingPROMPT.log/CLAUDE.md; ignoresite/+ built PDF.CI behaviour
main→ publishes the site to GitHub Pages.v*tag → cuts a release with the PDF asset + CHANGELOG notes linking it.Testing
nix flake check,nix build,nix run .#handbook-build(strict) andnix run .#handbook-pdfall pass locally (PDF: 62pp, A4).