-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mycroft: init at 0.9.19 [WIP] #36248
Conversation
Can you, please, elaborate on PulseAudio issue?
|
Can you, please, elaborate on PulseAudio issue?
Sure - it isn't actually so much of a pulseaudio issue as it's a "which run-mode do we use".
Mycroft needs to run as an unprivileged user and we can do this in 3 ways:
1. A normal script fired off by a user (this is what happens when you run the upstream-sanctioned start-mycroft.sh) which backgrounds a bunch of services. This is pretty ugly but allows mycroft to interact with the user's running pulseaudio instance.
2. A bunch of systemd user services which can also talk to the user's pulseaudio instance.
3. A bunch of systemd *system* services that require a system-wide pulseaudio instance.
So either mycroft should run in "appliance mode" if deployed to a Raspberry Pi or similar or in user-mode when used by a regular user. We then have to bring in pulseaudio in system mode if running as an appliance and probably fiddle that paths if running in user-mode.
|
Cc: @FRidh as main python guy around here |
|
||
systemd = { | ||
packages = with pkgs; [ mycroft ]; | ||
targets.mycroft.wantedBy = lib.mkIf cfg.applianceMode [ "multi-user.target" ]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I understand it correctly, nothing is run if services.mycroft.enable = true
. What's the purpose of having two "enable" options, then?
true. What's the purpose of having two "enable" options, then?
It gives you access to the systemd units so you can do this:
``` shell
systemctl --user start mycroft.target
```
It seems a little heavy-handed to enable it for ALL users.
|
Hi, I'm excited about this PR. I have some questions:
I get (from
When saying I also get
from (I started each mycroft module individually from the I just noticed that mycroft created a directory with the name |
Please cherry-pick f39e151659f from my fork of nixpkgs. |
Please cherry-pick 4b14f3ebd28 as well. |
Please cherry-pick b019aaa782a as well. This works for me now. Mycroft cannot understand me, but it at least works. |
Hm, the I pushed another change of the HOME variable thing in 20a71005ccf67dc4c7b519565e7cb61706630306 Propably not the right solution, though. |
Thanks for trying things out. I had hoped to have it ready for 18.03 but I need to throw some time at it this weekend.
The escaping is wrong. Should be |
Any updates on this? |
Unfortunately not. And I know a lot has changed upstream as well. |
Closing due to inactivity. |
Related: #87621 |
Motivation for this change
Well, who doesn't want AI on your NixOS machine?
This is VERY much WIP but let's get it out there as soon as possible.
What works:
nixos-rebuild build-vm
.But I don't actually know if it works, because there are a number of things that need to be fixed first:
Cc: @dotlambda @bjornfor
Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)