Configuration
The standard config for Johnny.Decimal tools is ~/.config/johnnydecimal/config.json. Use it and your tools will work with mine.
If you build Johnny.Decimal utilities, I recommend you use this file. Its configuration will be version controlled.
Example
{
"version": 1,
"systems": [
{
"sys": "D25",
"title": "My business system",
"root": "/Users/you/Documents/D25 My business system",
"jdex": "/Users/you/Documents/D25 JDex",
"default": true
},
{
"sys": "P76",
"title": "My personal system",
"root": "/Users/you/Documents/P76 My personal system"
}
]
}
The fields
version: the config format version. Currently1.systems: one entry per system. See multiple systems.
For each system:
sys: the system identifier.title: a name for the system.root: the filesystem root ā the folder that holds your areas.jdex: the root of your JDex, if it is on your filesystem (e.g. an Obsidian vault). Optional.1default: true: the system a tool acts on when you do not name one. Optional. Without it, the first system is the default.
Location
The path follows the XDG Base Directory Specification. Tools should use the first of these that applies.
JD_CONFIG, if it's set. This must be the full path to the config file, including its filename.$XDG_CONFIG_HOME/johnnydecimal/config.json, noting that$XDG_CONFIG_HOMEmust be an absolute path per their spec.~/.config/johnnydecimal/config.json.
It's the same on macOS. These are command-line tools, so they don't use ~/Library.
If you have the JD CLI, jd paths config prints the path. A tool that can run it doesn't need to work the path out.
Pre-v4 location
Before version 4 of the JD CLI, the file was ~/.jd/config.json. If yours is still there, the CLI reads it and tells you so. That won't last, so move it.
mkdir -p -m 700 ~/.config/johnnydecimal
mv ~/.jd/config.json ~/.config/johnnydecimal/
Environment variables
An earlier version of this page defined JD_* environment variables: JD_PATH, JD_D25_PATH, JD_JDEX. The config file replaces them. If you define your own Johnny.Decimal variables, keep the JD_ prefix.