Back to Atuin

config

docs/docs/reference/config.md

18.18.13.0 KB
Original Source

config

atuin config

Read, write, and inspect Atuin configuration values. Atuin resolves configuration from multiple sources (defaults, config file, environment variables). The config command lets you see what's set where, and change values in your config.toml without opening an editor.

Subcommands

atuin config get <key>

Print the value of a key as it appears in your config file.

console
$ atuin config get search_mode
fuzzy

$ atuin config get daemon
[daemon]
enabled = true
socket_path = "/tmp/atuin_daemon.sock"

If the key isn't present in the config file, you'll see:

console
$ atuin config get enter_accept
(not set in config file)

--resolved / -r

Print the effective value after merging defaults, the config file, and environment variable overrides:

console
$ atuin config get enter_accept --resolved
false

This also works for table keys, showing all resolved children as flat dotted key=value pairs:

console
$ atuin config get logs --resolved
logs.ai.file = ai.log
logs.daemon.file = daemon.log
logs.dir = /home/user/.local/share/atuin/logs
logs.enabled = true
logs.level = info
logs.search.file = search.log

--verbose / -v

Show both the config file value and the resolved value side by side:

console
$ atuin config get enter_accept --verbose
Config file:
  (not set in config file)

Resolved:
  false

atuin config set <key> <value>

Set a configuration value in your config.toml. The file's existing formatting and comments are preserved.

shell
$ atuin config set search_mode fuzzy
$ atuin config set daemon.enabled true

Type detection

By default, set matches the TOML type of the existing value when the key is already in the config file. This prevents accidentally changing a string like "300" into an integer 300.

For new keys (not already in the file), set automatically detects the type:

ValueDetected type
true/falseboolean
42, -1integer
3.14float
anything elsestring

!!! warning "Scalar values only" atuin config set can only set config entries with scalar values, so for tables or arrays, edit the config file manually.

--type / -t

Override type detection with an explicit type:

shell
$ atuin config set sync_frequency 600 --type string

Possible values: auto, string, boolean, integer, float.

Setting a key that's currently a table will produce an error directing you to use a dotted key instead:

console
$ atuin config set logs true
Error: 'logs' is a table; use a dotted key like 'logs.key' to set a value within it

atuin config print [key]

Print configuration values from your config file in TOML format. Without a key, prints the entire file. With a key, prints that section:

console
$ atuin config print daemon
[daemon]
enabled = true
socket_path = "/tmp/atuin_daemon.sock"
pidfile_path = "/tmp/atuin_daemon.pid"
autostart = false