diff --git a/mycroft/configuration/mycroft.conf b/mycroft/configuration/mycroft.conf index 34359dbe1a..b79e87f97b 100644 --- a/mycroft/configuration/mycroft.conf +++ b/mycroft/configuration/mycroft.conf @@ -86,6 +86,15 @@ // General skill values "skills": { + "msm": { + "directory": "/opt/mycroft/skills", + "versioned": true, + "repo": { + "cache": "/opt/mycroft/.skills-repo", + "url": "https://github.com/MycroftAI/mycroft-skills", + "branch": "18.02" + } + }, // Directory to look for user skills "directory": "~/.mycroft/skills", // TODO: Old unused kludge, remove from code diff --git a/mycroft/skills/main.py b/mycroft/skills/main.py index 0cd4c06554..6189bc5100 100644 --- a/mycroft/skills/main.py +++ b/mycroft/skills/main.py @@ -22,7 +22,7 @@ from threading import Timer, Thread, Event import monotonic from glob import glob from os.path import exists, join, basename, dirname, expanduser, isfile -from msm import MycroftSkillsManager +from msm import MycroftSkillsManager, SkillRepo import mycroft.lock from mycroft import dialog @@ -220,8 +220,19 @@ class SkillManager(Thread): ws.on('skillmanager.update', self.schedule_now) ws.on('skillmanager.list', self.send_skill_list) - self.msm = MycroftSkillsManager( - Configuration.get()['enclosure'].get('platform', 'default') + self.msm = self.create_msm() + + @staticmethod + def create_msm(): + config = Configuration.get() + msm_config = config['skills']['msm'] + repo_config = msm_config['repo'] + platform = config['enclosure'].get('platform', 'default') + return MycroftSkillsManager( + platform=platform, skills_dir=msm_config['directory'], + repo=SkillRepo( + repo_config['cache'], repo_config['url'], repo_config['branch'] + ), versioned=msm_config['versioned'] ) def schedule_now(self, message=None):