Config File
jolt stores its configuration in a TOML file that persists your preferences across sessions.
Config Location
Section titled “Config Location”The config file is located at:
macOS:
~/Library/Application Support/jolt/config.tomlLinux:
~/.config/jolt/config.tomlXDG Base Directory Support
Section titled “XDG Base Directory Support”jolt respects the XDG Base Directory Specification. Path resolution follows this priority:
- XDG environment variable (if set and non-empty)
- Platform default (via
dirscrate) - Hardcoded fallback (e.g.,
~/.config)
| Variable | Default (macOS) | Default (Linux) | Used for |
|---|---|---|---|
XDG_CONFIG_HOME | ~/Library/Application Support | ~/.config | Config file, custom themes |
XDG_DATA_HOME | ~/Library/Application Support | ~/.local/share | Database, history |
XDG_CACHE_HOME | ~/Library/Caches | ~/.cache | Temporary cache |
XDG_RUNTIME_DIR | (falls back to cache) | /run/user/$UID | Runtime files, logs |
This means macOS users who prefer XDG-style paths (~/.config, ~/.local/share) can set these environment variables and jolt will use them instead of the Apple-specific locations.
For example, to store jolt’s config in ~/.config on macOS:
export XDG_CONFIG_HOME="$HOME/.config"With this set, jolt will use ~/.config/jolt/config.toml instead of ~/Library/Application Support/jolt/config.toml.
jolt creates this file automatically with default values on first run.
Managing Config
Section titled “Managing Config”# Show current configurationjolt config
# Show config file pathjolt config --path
# Reset to defaultsjolt config --reset
# Open in your $EDITORjolt config --editConfiguration Options
Section titled “Configuration Options”Appearance
Section titled “Appearance”# Theme appearance mode: "auto", "dark", or "light"appearance = "auto"
# Active theme nametheme = "default"Refresh Rate
Section titled “Refresh Rate”# Update interval in milliseconds (min: 500, max: 10000)refresh_ms = 2000Lower values = more responsive but higher CPU usage.
Unit Preferences
Section titled “Unit Preferences”[units]# Energy display: "wh" (Watt-hours) or "mah" (milliamp-hours)energy = "wh"
# Temperature display: "celsius" or "fahrenheit"temperature = "celsius"
# Data size display: "si" (KB, MB, GB) or "binary" (KiB, MiB, GiB)data_size = "si"These settings affect how values are displayed throughout the TUI, including battery capacity, temperature readings, and data sizes.
Process Display
Section titled “Process Display”# Maximum processes to displayprocess_count = 50
# Minimum energy impact (watts) to show a processenergy_threshold = 0.5
# Group similar processes togethermerge_mode = true
# Processes to hide from the listexcluded_processes = []Example with exclusions:
excluded_processes = ["kernel_task", "WindowServer"]Graph Settings
Section titled “Graph Settings”# Show the graph panelshow_graph = true
# Graph metric: "battery", "power", "split", or "merged"graph_metric = "merged"| Metric | Description |
|---|---|
| battery | Battery percentage only |
| power | System power draw only |
| split | Battery and power side-by-side |
| merged | Combined view (default) |
History Settings
Section titled “History Settings”[history]# Enable background data collection (requires daemon)background_recording = false
# Sample interval in secondssample_interval_secs = 60
# Keep raw samples for N daysretention_raw_days = 30
# Keep hourly aggregates for N daysretention_hourly_days = 180
# Keep daily aggregates for N days (0 = forever)retention_daily_days = 0
# Keep session data for N daysretention_sessions_days = 90
# Maximum database size in MBmax_database_mb = 500Full Example Config
Section titled “Full Example Config”# Display settingsappearance = "auto"theme = "dracula"refresh_ms = 2000
# Graph settingsshow_graph = truegraph_metric = "merged"
# Process settingsprocess_count = 50energy_threshold = 0.5merge_mode = trueexcluded_processes = []
# Unit preferences[units]energy = "wh"temperature = "celsius"data_size = "si"
# History settings (requires daemon)[history]background_recording = falsesample_interval_secs = 60retention_raw_days = 30retention_hourly_days = 180retention_daily_days = 0retention_sessions_days = 90max_database_mb = 500In-TUI Settings
Section titled “In-TUI Settings”Press s in jolt to open the settings panel, which provides a visual interface for changing settings without editing the file directly.
Changes made in settings are saved immediately to the config file.
Environment Variables
Section titled “Environment Variables”Some settings can be overridden with environment variables:
| Variable | Description |
|---|---|
JOLT_CONFIG | Custom config file path |
JOLT_THEME | Override theme |
JOLT_APPEARANCE | Override appearance mode |
XDG_CONFIG_HOME | Override config directory (see XDG support) |
XDG_DATA_HOME | Override data directory |
XDG_CACHE_HOME | Override cache directory |
XDG_RUNTIME_DIR | Override runtime directory |
Example:
JOLT_THEME=nord jolt