Settings
Options you’d pass every time can be defaults instead, in git-like config files: one for everything, one per repository.
Options you’d pass every time can be defaults instead, in git-like config
files: ~/.config/instamix/config for everything, and the nearest
.instamixconfig from the script’s directory up to the root of its git
repository for there. The repository’s file wins, and the command line and
environment variables win over both. A section is a command, a key one of
its long options:
[run]
install = true
env = true
[env]
upgrade = true
[proxy]
url = http://proxy:8470 # where install, env and the language server fetch through
list = web # the list, when the script names none
[proxy.serve]
listen = 0.0.0.0:8470
[ansible-cfg]
local-paths = true # ./collections and ./roles in the tree's ansible.cfg
Flags that can be set have a --no- form to undo them for one run
(--no-install, --no-env); flags for one-off actions, like
--list-tasks, can’t be set.
Every setting there is, with its type and default, is in the reference: Settings.
imix config#
imix config works on the files:
config get KEY [--show-origin] | the value here (exit 1 when unset) |
config set [--global] KEY VALUE | checked against the option first; comments are kept |
config unset [--global] KEY | |
config edit [--global] | in $EDITOR, checked afterwards |
config list | what the files set, and which file wins |
config keys [SECTION...] | every setting there is, with type, default and environment variable |
config dump [--changed | --all] | all of it as a file: what differs from the defaults, the rest commented out at theirs; --changed only the differences, --all every key at its value |
Without --global, set writes to the repository’s file (at its root
when there’s none yet). INSTAMIX_NO_CONFIG=1 ignores both files.