Skip to content

Configuration

CtrlUserKnown edited this page Jul 22, 2026 · 1 revision

Configuration

ssm keeps its configuration and session data under ~/.config/ssm/. Both files are created automatically on first use.

Locations

Path Purpose
~/.config/ssm/config.toml Preferences (theme, herdr, probe, biometric toggles, update settings)
~/.config/ssm/sessions.json Saved sessions

Override the config directory with the DOTS_SSM_DIR environment variable:

export DOTS_SSM_DIR=~/.my-ssm-config
ssm   # reads config.toml and sessions.json from that directory

config.toml

use_herdr = true
theme = "auto"
probe = true
biometric_unlock = false
update_check = true
update_frequency = 1440
Key Type Default Meaning
use_herdr bool true Route SSH connections through herdr --remote instead of plain ssh
theme string "auto" Active color theme (see Themes)
probe bool true Run background reachability probes and show latency in the list
biometric_unlock bool false Require a biometric check before revealing a stored password (see Security)
update_check bool true Periodically check GitHub Releases for a newer ssm
update_frequency int (minutes) 1440 Minutes between update checks (1440 = daily)

Unknown keys are ignored and missing keys fall back to defaults, so the file is forward- and backward-compatible across versions. A malformed file logs a warning and ssm falls back to defaults rather than failing.

Settings can also be toggled at runtime from the TUI via Space → Settings. See Interactive TUI for the full menu.

sessions.json

Sessions are stored as a JSON array. Each session contains:

{
  "name": "my-server",
  "host": "192.168.1.100",
  "user": "deploy",
  "port": 22,
  "tags": ["prod", "web"],
  "proxy_jump": "bastion"
}

Passwords are never written to sessions.json — they live exclusively in the OS keychain. See Security for details.

Clone this wiki locally