Configuration

Settings live in ~/Library/Application Support/nerd/config.json. Settings… edits the common ones, and Edit config.json… there opens the file. nerd re-reads the file while it runs, so an edit lands within a second.

KeyDefaultDescription
theme"auto"auto follows the macOS appearance, switching when it does, or dark, light. nerd paints every colour itself, pane output included
colors{}Overrides the built-in palette by role: accent, fill and on_fill (the cursor and selections, and the text on them), ground, surface, slab (the cursor while the keys are in another area), border, border_focus, text, muted, faint, ok, warn, bad, wait (an agent waiting for you), teal, and ansi0..ansi15 for the sixteen colours pane output asks for by number. Values are #rrggbb; accent carries border_focus and the fill with it. A role left out, misspelled or malformed keeps its built-in colour
mousetrueMouse support
sidebar_visibletrueSidebar expanded; false collapses it to a rail of state marks. « and » at its bottom switch it, and nerd remembers the choice
sidebar_width34Sidebar width in columns, 20 to 48
tree_width34File tree width, 20 to 80
preview_width60File preview width, 30 to 120
scrollback10000History lines per pane, 100 to 100000; panes opened after a change get it
pane_border"always"always, multiple or never
pane_gap1Space between panes, 0 to 3
scrollbartrueShow scrollbars
clock"time"The clock at the end of the top row, written as the menu bar clock writes it: "off" (plugins' segments take its room), "time", or "date" (the date and the time). A click on it switches time and date
clock_time""Your own pattern for the time, in the letters macOS uses: "HH:mm:ss"; empty: as the menu bar
clock_date""Your own pattern for the date: "EEE d MMMM"; empty: as the menu bar
battery"percent"The battery before the clock: "off"; "percent": 46% on battery, ϟ 71% on the charger, L after it in Low Power Mode; "time": to empty on battery, to full on the charger. A click switches percent and time. Nothing on a Mac with no battery
battery_low20On battery at this percent or less the charge is yellow; 0 turns it off
battery_critical10On battery at this percent or less the charge is red and a notice says so once; 0 turns both off
restore_screenstrueKeep pane text across restarts
sandboxtrueDeny networking to the nerd server
previewtrueShow the file preview next to the tree
preview_wrapfalseWrap long lines in the preview; off, they scroll sideways. w in the preview switches it
paths"home"home writes paths from your home folder (~/dev/nerd), full writes them whole (/Users/you/dev/nerd). Typing ~/ works either way
images"auto"Image previews: auto (full quality where the terminal supports it, blocks elsewhere), blocks or off
prefix"ctrl_b"nerd's key, as in tmux: ctrl_b, ctrl_a or off. A stored off becomes ctrl_b once, on the first start of the build that made it the default
tmux"ask"Started inside tmux: ask to open a window outside it, new_window without asking, or stay
notify{"sound": true, "bell": false}When an agent outside the focused pane needs you: play a sound, ring the terminal bell. nerd sends no macOS notifications
remotesnoneMachines for Connect to another computer… and nerd --remote: [{"name": "studio", "host": "me@studio.local"}], a name of 1 to 16 letters, digits, ., _ or -, with ssh keys set up for the host
pluginsnoneSettings for each plugin, by its name; kept as written

Check for new releases (Settings…, off or daily) is not in config.json: it is kept per Mac in update-check beside it, written only from nerd's own window on that Mac (a window inside a pane cannot change it, though a program running as you could write the file itself). With no file nerd asks once. Installing a release is asked for the same way, only from nerd's own window on that Mac, though a program running as you could ask for the install itself: it would get only the newest release, checked against nerd's release key: nothing it could not already do as you.

A config.json that does not parse is never overwritten: nerd keeps the last good settings, says so, and writes nothing until the file parses again.

Edit on GitHub