Description
Describe the request
As I understand there are 3 ways to initialize the CLI config:
arduino-cli config init
will initialize the config in~/.arduino15/arduino-cli.yaml
and use~/.arduino15
as data store;arduino-cli config init --dest-file cfg.yaml
will initialize the config incfg.yaml
and use~/.arduino15
as data store;arduino-cli config init --dest-dir cfg
will create acfg
folder, initialize the config incfg/arduino-cli.yaml
and STILL use~/.arduino15
as data store.
The first way is the generic default.
The second is a variant that allows you to have a different CLI config but share the package repos.
The third works exactly like the second but creates an (otherwise unused) directory. I was really surprised by this as I thought it would initialize a fully separate CLI environment. That is really useful for CI/testing purposes.
What is the use case of the config init --dest-dir
option? Can this be edited to automatically point directories.data
and directories.download
to the specified folder?
Describe the current behavior
Currently to achieve a separate environment, the config has to be initialized and then the directories have to be manually set via arduino-cli config set
commands.
Arduino CLI version
0.35.2
Operating system
Linux
Operating system version
--
Additional context
No response
Issue checklist
- I searched for previous requests in the issue trackerI verified the feature was still missing when using the nightly buildMy request contains all necessary details
Activity
cmaglie commentedon Jul 30, 2024
Hi @pillo79
I think the original idea of
config init --dest-file cfg.yaml
was to match the global flag--config-file cfg.yaml
.BTW the same did not happen for the
config init --dest-dir cfg
that has no global flag counter part--config-dir ...
.Maybe a better strategy is to add a global
--config-dir my/config/dir
flag that does two things:my/config/dir/arduino-cli.yaml
my/config/dir
, so it will be used to store platforms and downloads (note that the directory will not be written in the generated configuration, but just taken as "default").WDYT?
pillo79 commentedon Jul 30, 2024
I don't think that is enough, since the generated file specifies these paths explicitly, and it would still override the default set by
--config-dir
later.However, it would be fine if doing a
config init --dest-dir cfg --config-dir cfg
would result in the paths being "set to a custom default" and then written incfg/arduino-cli.yaml
.cmaglie commentedon Jul 30, 2024
This behavior is changed from the CLI 1.0.0, now the config file contains only the required field:
at this point it could be used as:
pillo79 commentedon Jul 30, 2024
Sorry didn't check the latest CLI behavior. I think this would be great! 😄 👍
--config-dir
flag #2677