-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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
speechd: introduce minimal variant, use it everywhere, inject big variant impurely #329658
Conversation
Allow filtering voices based on any number of extglob patterns.
This reduces the size of mbrola-voices by 387M (647M -> 260M) for all installers that ship with speechd, to make sure that they fit the output limits of hydra while not compromising too much on accessbility. Co-authored-by: Martin Weinelt <[email protected]>
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.
Thanks, i think that looks worth a try.
Incidentally this also fixes tests like nixosTests.installer.simple /cc PR NixOS#329658
Incidentally this also fixes tests like nixosTests.installer.simple /cc PR NixOS#329658
Now that I think of it, I'm not sure if I don't care really. But now when it's new (not even on master yet) such changes are easiest. So I'm just posting this note... |
It is conceptually a service, it's just started weird currently. The upcoming next release will be a proper systemd socket activated thing. |
Oh, OK. BTW, another way of saving space would be to default to English only (and perhaps just a single voice) unless you override your |
Something in the changelog would have been nice… Also what are the consequences of force disabling it? I used my system for severel years without it, and have no clue how I had to trigger it right now… |
It's perfectly fine to disable it if you don't need text to speech. |
And why did it get enabled by default without a mention in the changelog? |
Which more than 99% of people don't... so why is it enabled by default for everybody? |
Because accessibility is important. It should have definitely had a release note, though. |
Yes, accessibility is important, I agree, though so far there is some random envvar set without any documentation of how to use it nor what programs can actually use it. The closure doesn't seem to be large in its effect on my system, I still consider the way it gets introduced worth questioning. |
That environment variable gets picked up by libspeechd in applications. The whole thing was actually an attempt to reduce closure size - previously you'd just get speechd as a single package, including the gigabytes of voice data; now individual applications only depend on the library, and the daemon and voice data are separate and late bound, so you can disable them. |
So it's enabled for everybody because otherwise people who used it the way it worked before would have it break? |
Indeed, and also because people that rely on screenreaders should be able to use the stock configuration on the installer and on the default system. |
You get rid of it with: services.orca.enable = false;
services.speechd.enable = false; |
I think it would have been better to introduce an |
Description of changes
TODO: figure out how to default this to false without breaking people.
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.