immutablue-settings#

Query configuration values from the Immutablue settings system.

Synopsis#

immutablue-settings <jq-path>

Description#

immutablue-settings retrieves configuration values from the hierarchical settings system. It uses jq-style paths to query YAML configuration files.

Settings are loaded in order of precedence:

  1. ~/.config/immutablue/settings.yaml (user settings, highest priority)
  2. /etc/immutablue/settings.yaml (system settings)
  3. /usr/immutablue/settings.yaml (default settings, lowest priority)

Arguments#

ArgumentDescription
<jq-path>A jq-style path to the setting (e.g., .immutablue.profile.enable_starship)

Examples#

Query a boolean setting#

$ immutablue-settings .immutablue.profile.enable_starship
true

Query a string setting#

$ immutablue-settings .immutablue.header.has_internet_host_v4
9.9.9.9

Query a nested setting#

$ immutablue-settings .services.syncthing.tailscale_mode
true

Use in a script#

#!/bin/bash
if [[ "$(immutablue-settings .immutablue.profile.enable_starship)" == "true" ]]; then
    eval "$(starship init bash)"
fi

Common Settings#

PathDefaultDescription
.immutablue.run_bootc_updatetrueUpdate bootc during immutablue-update
.immutablue.profile.enable_starshiptrueEnable Starship prompt
.immutablue.profile.ulimit_nofile524288File descriptor limit
.immutablue.header.preferred_terminalautoPreferred terminal emulator

See Settings Reference for the complete list of available settings.

Exit Codes#

CodeDescription
0Success
1Setting not found or invalid path

See Also#