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
| Key | Default | Notes |
|---|---|---|
journal_dir | ~/.driftlog | ~ and env vars are expanded. |
editor | $EDITOR | Must block until the file is closed (e.g. code --wait). |
date_format | 2006-01-02 | Go reference time layout. |
new.default_tags | [] | Applied to every new entry. |
new.filename | {date}-{time}-{slug}.md | Template for entry filenames. |
search.index_dir | ~/.cache/driftlog | Safe to delete; rebuilt by reindex. |
encryption.enabled | false | Encrypts 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.