-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
CtrlUserKnown edited this page Jul 22, 2026
·
1 revision
ssm keeps its configuration and session data under ~/.config/ssm/. Both files
are created automatically on first use.
| 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 directoryuse_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 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.
Guides
Contributing