bushel Printed matter · Issue 0.3.6

Doc. 05 · Config

Config

Four options, a file that holds them, and the flags that set the same things.

bushel reads ~/.config/bushel/config.toml, which holds the same options the command-line flags set. The file is optional and every key below is optional inside it. Set BUSHEL_CONFIG_DIR to move the directory that contains config.toml. This page is generated from bushel v0.3.6, so the defaults are the ones the binary actually starts with.

Writing out the defaults gives you a file that changes nothing:

no_splash = false
reduced_motion = false
ascii = false
layout = "rail"

Options

Key Flag Default Does
no_splash --no-splash false Skip the splash screen
reduced_motion --reduced-motion false Disable all animation and effects
ascii --ascii false ASCII icons and spinners (no Unicode glyphs)
layout --layout "rail" Body layout: rail keeps all four panes in view, table gives one full-width table

Layouts and settings

rail is the default: all four panes remain visible, with the active one expanded beside the detail pane. In narrow terminals the rail moves above the detail. table puts one full-width table above one full-width detail pane at every size. Both use the same pane and action keys.

bushel --layout table

Press , to open settings. Move between rows with j/k or the up/down arrows, then press enter or space to change the selected setting. Changes apply immediately and are saved for future launches. Close the panel with esc, q or ,.

Flags and the file

The three boolean flags, --no-splash, --reduced-motion, and --ascii, are ORed with the values in the file at startup. A true value in the file stays true when you omit its flag. Edit the file or use the settings panel to turn it off.

--layout takes rail or table and replaces the file's layout for that run. For example, bushel --layout table uses the full-width table without changing layout = "rail" in the file. Changing a setting in the panel saves that choice while keeping the other saved option values. For example, launching with --ascii and changing the layout does not save the temporary ASCII override. Saving changes only the selected setting and preserves comments, unknown keys and the other saved values.

A key bushel does not recognise is ignored in silence, so a misspelling like reduce_motion is silently dead. A value of the wrong type is louder: bushel logs an error naming the file and falls back to defaults for all of it. Press m to read the error. Troubleshooting has both.

bushel refuses to overwrite an invalid or unreadable config, a file changed on disk since it was loaded, or a symbolic link. It also refuses a save if the file cannot be edited without losing content. The change still applies to the current session; press m for the save error. Fix an invalid file and restart bushel before saving again. Restart after an external edit too. Edit a symbolic link's target directly.

Config directory

BUSHEL_CONFIG_DIR changes the directory used for config.toml and the .launched first-run marker. For example, this keeps a separate set of preferences:

BUSHEL_CONFIG_DIR="$HOME/.config/bushel-work" bushel

The settings panel shows the path it saves to. This override does not move the shell installer's update receipt; that receipt uses XDG_CONFIG_HOME. If a save fails, the change still applies in the current session and the message log records the error.