* Shellcheck and update mycroft-config
* Shellcheck and update mycroft-pip
* Shellcheck and update mycroft-cli-client
* Shellcheck and update mycroft-help
* Shellcheck and update mycroft-listen
* Shellcheck and update mycroft-mic-test
* Shellcheck and update mycroft-msk
* Shellcheck and update mycroft-msm
* Shellcheck and update mycroft-say-to
* Shellcheck and update mycroft-skill-testrunner
* Shellcheck and update mycroft-speak
* Shellcheck and update mycroft-start
* Shellcheck and update mycroft-stop
* Add shellcheck step to github actions
This runs most of the shellcheck tests. The excludes are:
- SC1091: Avoids errors when shellcheck can't find sourced file
- SC2034: Unused variables, for example colors that aren't used yet
- SC2012: use of ls, from what I can see in our case this is fine (wc -l)
The version is locked to latest master as of November 2 2021
- Add TODO for 22.02 to remove the compatibility code
- Make Warning a single Log statement
- mycroft-config script now uses XDG-environment variable
- Remove redundant code
- Replace hard coded references to ~/.config
- Explicitly remove new path before move of "filesystem" (if needed)
Many versions of Linux (most Debian-based versions) support a mechanimsm
based on a link called "sensible-editor", which is configured to invoke
the user's preferred editing tool.
To get colorization help, the temp file is now named with a ".json"
extension. Most editors can colorize appropriately based on that.
The new mycroft-config utility simplifies management of the the
various configuration files that control Mycroft. Commands include:
edit, show, get, set, reload.
* mycroft-config edit (default|remote|system|user)
Open the requested file in an editor (nano by default), performing
JSON validation warnings to minimize accidental edit errors.
* mycroft-config show (default|remote|system|user)
Dump the selected file with nice highlighting using jq
* mycroft-config get <var>
Load the mycroft.conf stack, outputting the effective value(s). The
<var> is specified using jq-style specifiers. For example:
mycroft-config get enclosure.platform
mycroft-config get location
mycroft-config get
* mycroft-config set <var> <value>
Set the given variable in the "user" configuration file. Examples:
mycroft-config set lang "es-es"
mycroft-config set tts.mimic.voice "ap"
* mycroft-config reload
Sends a signal on the messagebus to tell services to reload configs.
This automatically occurs after a 'set' or 'edit' command.