Skip to main content

hmcs prefs

Manage key-value preferences stored in SQLite.

Quick Examples

hmcs prefs list
hmcs prefs get theme
hmcs prefs set theme dark
hmcs prefs set shadow_panel::alpha 0.5
hmcs prefs delete theme

list

Syntax

hmcs prefs list

Arguments

This subcommand takes no arguments.

Examples

Success:

theme
shadow_panel::alpha
persona::elmer:vrm

No stored preferences:

No preferences found.

Failure example:

[stderr]
...database error...

Behavior

  • Prints keys only, one per line.
  • Reads from ~/.homunculus/preferences.db.

get

Syntax

hmcs prefs get <key>

Arguments

NameRequiredDescription
keyYesPreference key to load.

Examples

Success:

hmcs prefs get theme
dark (string)

Success with JSON value:

hmcs prefs get profile
{
"voice": "ja",
"speed": 1.1
} (json)

Failure example:

hmcs prefs get missing_key
[stderr]
key not found: missing_key

Behavior

  • Prints value (type) where type is one of null, bool, number, string, json.
  • Pretty-prints JSON values.
  • Exits non-zero when the key does not exist.

set

Syntax

hmcs prefs set <key> <value>

Arguments

NameRequiredDescription
keyYesPreference key to write.
valueYesValue string parsed by type inference.

Examples

Success:

hmcs prefs set theme dark
hmcs prefs set ui_scale 1.25
hmcs prefs set enabled true
hmcs prefs set profile '{"voice":"ja","speed":1.1}'

Failure example:

[stderr]
...database error...

Behavior

  • Writes to ~/.homunculus/preferences.db.
  • Infers type in this order:
    1. null
    2. bool
    3. number
    4. JSON object or array
    5. string
  • Prints no output on success.

delete

Syntax

hmcs prefs delete <key>

Arguments

NameRequiredDescription
keyYesPreference key to remove.

Examples

Success:

hmcs prefs delete theme

Missing key is also treated as success:

hmcs prefs delete missing_key

Failure example:

[stderr]
...database error...

Behavior

  • Deletes the key when present.
  • Returns success even when the key does not exist.
  • Prints no output on success.