driftlog

Configuration

driftlog reads ~/.config/driftlog/config.toml (override with --config or $DRIFTLOG_CONFIG).

Full example

# ~/.config/driftlog/config.toml

journal_dir = "~/.driftlog"        # where entry files live
editor      = "nvim"               # falls back to $EDITOR, then $VISUAL
date_format = "2006-01-02"         # Go reference layout
color       = true

[new]
default_tags = ["log"]             # tags applied to every new entry
filename     = "{date}-{time}-{slug}.md"
template     = """
# {title}

"""

[search]
index_dir = "~/.cache/driftlog"    # on-disk search index
fuzzy     = true

[export]
default_format = "md"
out_dir        = "~/Documents/journal-exports"

[encryption]
enabled    = false                 # set true to encrypt entries at rest
backend    = "age"                 # "age" or "gpg"
recipient  = ""                    # age recipient or gpg key id

Keys

KeyDefaultNotes
journal_dir~/.driftlog~ and env vars are expanded.
editor$EDITORMust block until the file is closed (e.g. code --wait).
date_format2006-01-02Go reference time layout.
new.default_tags[]Applied to every new entry.
new.filename{date}-{time}-{slug}.mdTemplate for entry filenames.
search.index_dir~/.cache/driftlogSafe to delete; rebuilt by reindex.
encryption.enabledfalseEncrypts entry bodies at rest via age or gpg.

Environment variables

DRIFTLOG_CONFIG   path to an alternate config.toml
DRIFTLOG_JOURNAL  override journal_dir for one invocation
NO_COLOR          disable colour output (respects no-color.org)
Changing journal_dir doesn't move existing entries โ€” move the files yourself, then run driftlog reindex.