Skip to content

Notes and Writing

The notes workflow is intentionally small: plain files, explicit storage, and thin helpers around the writing tools already managed by mise.

Location

Notes live outside this dotfiles source repo by default:

text
~/notes/

Set NOTES_DIR to an absolute path to use another vault:

bash
export NOTES_DIR="$HOME/Documents/notes"

The helpers create files only when called. They do not create a notes vault inside the dotfiles repo unless NOTES_DIR explicitly points there.

Suggested layout:

text
~/notes/
  index.md
  scratch.md
  daily/
    2026-05-14.md

Helpers

CommandPurpose
noteOpen or create index.md.
note "topic"Open or create a slugged Markdown note.
todayOpen or create daily/YYYY-MM-DD.md.
scratchOpen or create scratch.md.
mdp file.mdPreview Markdown with Glow.
mdp present slides.mdPresent Markdown in the terminal with presenterm.
typ file.typCompile Typst with typst compile.
typ watch file.typWatch Typst with typst watch.
typ format file.typFormat Typst with typstyle.
diagram flow.mmdRender Mermaid to flow.svg.
diagram flow.mmd flow.pngRender Mermaid to an explicit output path.

Use --path with the note helpers when another script needs the path without launching an editor:

bash
daily_file="$(today --path)"
scratch_file="$(scratch --path)"

Tool Ownership

Mise owns the portable writing and rendering tools:

text
typst
tinymist
typstyle
pandoc
glow
tectonic
mermaid-cli
presenterm

The Bash helpers render for WSL and CachyOS. Native Windows keeps the managed writing tools available through mise, but the POSIX helper commands are omitted until Windows-native wrappers are intentionally added.

Command Palette

Q044 owns any interactive command palette or cheatsheet layer. A future palette can call these commands directly; this workflow only defines the commands and their storage contract.