2.3 KiB
2.3 KiB
Configuration
Arc uses YAML configuration files.
user:
name: hanna
email: me@hanna.lol
key: ~/.ssh/id_ed25519
default:
bookmark: main
remote: origin
aliases:
c: commit
p: push
l: pull
File Locations
- Local config:
.arc/config.ymlinside the repository. Created automatically onarc initwith default bookmark/remote values. - Global config:
$XDG_CONFIG_HOME/arc/config.yml, or~/.config/arc/config.ymlifXDG_CONFIG_HOMEis not set.
Resolution Order
Local config values take priority over global config values. For each field, the local value is checked first; if not set, the global value is used. Aliases from both configs are merged, with local aliases overriding global ones with the same name.
Sections
user
| Key | Description |
|---|---|
user.name |
Author name for commits. |
user.email |
Author email for commits. Both name and email must be set for author info to appear on commits. |
user.key |
Path to an SSH private key for commit signing (e.g. ~/.ssh/id_ed25519). Tilde expansion (~) is supported. When set, commits are automatically signed. |
default
| Key | Description |
|---|---|
default.bookmark |
Default bookmark name (used on init). Defaults to main. |
default.remote |
Default remote name (used by push/pull/sync). Defaults to origin. |
aliases
Maps short names to command names. For example, aliases.c: commit lets you run arc c "message" instead of arc commit "message". Aliases are expanded at the CLI level before command dispatch. Any alias key is valid; the value should be a valid arc command name.
Commands
arc config set <key> <value> Set a local config value.
arc config set -g <key> <value> Set a global config value.
arc config get <key> Get a value (local first, then global).
arc config get -g <key> Get a value from global config only.
arc config show Show the effective (merged) configuration.
arc config show -g Show only the global configuration.
arc config unset <key> Remove a key from local config.
arc config unset -g <key> Remove a key from global config.
Keys use dot notation: section.field (e.g. user.name, default.remote, aliases.st).