Mycroft AI
  • Documentation
  • About Mycroft AI
    • Why use Mycroft AI?
    • Glossary of terms
    • Contributing
    • FAQ
  • Using Mycroft AI
    • Get Mycroft
      • Mark II
        • Mark II Dev Kit
      • Mark 1
      • Picroft
      • Linux
      • Mac OS and Windows with VirtualBox
      • Docker
      • Android
    • Pairing Your Device
    • Basic Commands
    • Installing New Skills
    • Customizations
      • Configuration Manager
      • mycroft.conf
      • Languages
        • Français (French)
        • Deutsch (German)
      • Using a Custom Wake Word
      • Speech-To-Text
      • Text-To-Speech
    • Troubleshooting
      • General Troubleshooting
      • Audio Troubleshooting
      • Wake Word Troubleshooting
      • Log Files
      • Support Skill
      • Getting more support
  • Skill Development
    • Voice User Interface Design Guidelines
      • What can a Skill do?
      • Design Process
      • Voice Assistant Personas
      • Interactions
        • Intents
        • Statements and Prompts
        • Confirmations
      • Conversations
      • Error Handling
      • Example Interaction Script
      • Prototyping
      • Design to Development
    • Development Setup
      • Python Resources
      • Your First Skill
    • Skill Structure
      • Lifecycle Methods
      • Logging
      • Skill Settings
      • Dependencies
        • Manifest.yml
        • Requirements files
      • Filesystem access
      • Skill API
    • Integration Tests
      • Test Steps
      • Scenario Outlines
      • Test Runner
      • Reviewing the Report
      • Adding Custom Steps
      • Old Test System
    • User interaction
      • Intents
        • Padatious Intents
        • Adapt Intents
      • Statements
      • Prompts
      • Parsing Utterances
      • Confirmations
      • Conversational Context
      • Converse
    • Displaying information
      • GUI Framework
      • Show Simple Content
      • Mycroft-GUI on a PC
      • Mark 1 Display
    • Advanced Skill Types
      • Fallback Skill
      • Common Play Framework
      • Common Query Framework
      • Common IoT Framework
    • Mycroft Skills Manager
      • Troubleshooting
    • Marketplace Submission
      • Skills Acceptance Process
        • Information Review Template
        • Code Review Template
        • Functional Review Template
        • Combined Template
      • Skill README.md
    • FAQ
  • Mycroft Technologies
    • Technology Overview
    • Roadmap
    • Mycroft Core
      • MessageBus
      • Message Types
      • Services
        • Enclosure
        • Voice Service
        • Audio Service
        • Skills Service
      • Plugins
        • Audioservice Plugins
        • STT Plugins
        • TTS Plugins
        • Wake Word Plugins
      • Testing
      • Legacy Repo
    • Adapt
      • Adapt Examples
      • Adapt Tutorial
    • Lingua Franca
    • Mimic TTS
      • Mimic 3
      • Mimic 2
      • Mimic 1
      • Mimic Recording Studio
    • Mycroft GUI
      • Remote STT and TTS
    • Mycroft Skills Kit
    • Mycroft Skills Manager
    • Padatious
    • Precise
    • Platforms
Powered by GitBook
On this page
  • About Mycroft Configurations
  • Why a configuration manager?
  • Available commands
  • Get a configuration value
  • Set a configuration value
  • Edit a configuration file
  • Show the contents of a configuration file
  • Reload configuration values
  • Further information

Was this helpful?

  1. Using Mycroft AI
  2. Customizations

Configuration Manager

The mycroft-config utility simplifies management of the the various configuration files that control Mycroft. Commands include: edit, show, get, set, reload.

PreviousCustomizationsNextmycroft.conf

Last updated 5 years ago

Was this helpful?

About Mycroft Configurations

Mycroft configurations are stored in files. These exist in four locations:

  • Default - mycroft-core/mycroft/configuration/mycroft.conf

  • Remote - Home.Mycroft.ai

  • System - /etc/mycroft/mycroft.conf

  • User - $HOME/.mycroft/mycroft.conf

When the configuration loader starts, it looks in these locations in this order, and loads all configurations. Keys that exist in multiple configuration files will be overridden by the last file to contain the value.

For example, if your account settings at Home.Mycroft.ai set the date_format variable to MDY, but the User configuration file on your device contains a date_format value of DMY, the loaded configuration will be DMY and dates will be provided in the format "29-11-2018".

This process results in a minimal amount being written for a specific device and user, without modifying default distribution files.

Why a configuration manager?

When directly editing configuration files it is very easy for even the most careful person to make a minor syntax error. In the past, this has been an extremely common cause of problems. A small error such as a comma in the wrong place breaks your configuration and results in "Mycroft not working".

We strongly recommend that you use the configuration manager rather than directly editing mycroft.conf files.

Available commands

Get a configuration value

mycroft-config get <var>

To display the requested value, this command first loads the mycroft.conf stack, then outputs the effective value(s).

The variable is specified using jq-style specifiers. For example:

Display a specific value mycroft-config get location.timezone.code

Display all values in the location block mycroft-config get location

Display all loaded configuration values mycroft-config get

Set a configuration value

mycroft-config set <var> <value>

Set the given variable in the User configuration file. For example:

Set language to es-es" mycroft-config set lang "es-es"

Set the Mimic1 voice to "Alan Pope" aka British Male mycroft-config set tts.mimic.voice "ap"

Edit a configuration file

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.

Show the contents of a configuration file

mycroft-config show (default|remote|system|user)

Display the contents of the selected configuration file.

Reload configuration values

mycroft-config reload

Sends a signal on the messagebus telling services to reload the configuration. This automatically occurs after a set or edit command.

Further information

For more information on the configuration options available, continue to the .

mycroft.conf
mycroft.conf documentation