







Are you sure you aren’t either applying nixpkgs overlays, or following master instead of nixos-unstable? I’ve not really experienced anything like you’ve described.
Anyways - I’ve additionally built my own cache server, which builds every output of my flake every time I push to main. System updates are ONLY downloads now. Also allowed all of my low-powered VMs to auto-update, since they’ll never need to build anything at all.


In that order. I self-host both XMPP and Matrix, and I wouldn’t want to stop using matrix. Spaces, arbitrary amounts of self-chats, and so on are great. I use matrix every day.
But for chatting… It sooner or later fails you. It’s slow. Notifications break. Messages are shown as sent, but somehow do not appear in the recipient’s devices until TWO WEEKS LATER (yeah IDK, happened twice already, in different chats and directions. Best part is, I’m not even federated!). Encryption is great IF YOU KNOW SOME CRYPTOGRAPHY BASICS, and utterly confusing otherwise.
XMPP just works. Especially the calls, holy shit, I had to fight Matrix for so long to make voice and video calls work, and xmpp just… Works. Notifications are way more reliable (as in, have been absolutely perfect). I really like monocles as a chat app on Android. (The downside is: can’t decrypt old messages on new devices, and desktop clients are ugly.)
So why Signal above XMPP?
Because it’s not your fault should something ever break in a vital service. Also the encryption and privacy afforded by it a great.
I’ll second Pocket-ID.
I originally had Authentik setup. It worked well enough. However, their packaging constantly broke and no-one seemed to care.
Switched to Pocket-ID and won’t be looking back. Passkey-based OAuth was all I wanted anyways. (Also, the logins themselves are noticeably faster!)


Thanks, I’m very happy to hear that!


I actually have things like “play x by y” functioning really well without a LLM.
Have a custom service that exports all song/album/artist names from MusicAssistant, does some simple cleanup, and places the list where HomeAssistant expects it for custom voice intents. Then this: https://github.com/charludo/hass-closest-intent is enough that imperfect STT can still easily be matched to those song/artist/… names.


I’m just gonna shamelessly plug my project here: https://github.com/charludo/hass-closest-intent
You do need local STT, but it’s fine if it’s somewhat bad; the conversation agent linked is sufficient to “get” what you meant, without LLM.
It’s just a helper. It’s a way for your calendar to ask “uhhh… Should I already know of any calendars…?” and the service going “oh actually yeah, the user configured their email account, hold on, here’s the corresponding calendar”.
That’s just basic functionality. Maybe what’s tripping you up is that it’s a separate service? Because I assume you have nothing against inputting your email into a mail client and a calendar separately.
If so, then for one, it’s not really a difference if the mail app stores this into or the service does; and second, it’s a good thing to have this standardized into a single purpose built service, rather than having each app reimplement this stuff.
CPU and RAM usage is so negligible it’s laughable.
IDK.
It seems like you read something about personal data in the service description and just jumped to the conclusion that this is something nefarious.
How exactly is it bloatware though? Not a KDE user myself, just had a look at the wiki. Seems it’s just a convenience utility to allow you to not have to enter the same things into multiple applications?
This is VERY different from pre-installed apps in your start menu that collect and sell info about you…
Yeah, thinking more about it, I don’t think the term “bloatware” (as it is commonly used) applies here at all.
How do I completely disable it forever?
To answer your question: sudo systemctl mask <servicename>.service
The much more common disable just disables autostart; masking will point the service file at /dev/null, which makes it impossible to load or start the service, even when other services or apps (like the clock widget someone mentioned in the comments) request it.


Awesome!! And thanks for actually letting me know! :D
Edit: anything for the wishlist?


This started off as a single file in my private nix config, to see if I could get it working at all. In that initial part, some parts were indeed LLM generated (esp. testcases based on my existing intents and failures).
When I noticed that this might actually work and be useful not just for myself though, I moved everything out manually, refactored and cleaned it up, and everything since has just been myself. I guess you’re still right though. I’ll see about adding a disclaimer to the README until I’ve gotten the chance to properly rewrite everything.


Yes, you can! See the “threshold” value/slider. It’s at 0.7 by default, which seems to be a good tradeoff. 1 means exact match or failure, 0 will afaik match anything to everything.
Ah, I didn’t see the Edit, so we’re both in the same boat 😂


Huh, interesting. Does that work with wildcards like “put x on my shopping list”? Also, what are you using for that, if I may ask?


Sorry, I don’t quite follow 😅
What’s the problematic response?


Yay, that’s fantastic to hear!
Also, how’s your experience been with the PE? Getting a readymade device in a nice shell is appealing for sure 😅


Oh, in the demo gif, that’s via a shortcut (holding power for half a second). Sorry, can’t help with wakeword there 😅


Very cool. I’ll definitely look into that, and let you know back here :D


Yeah, fair :)


Glad to be of service… 😄
did you consider metaphone matching?
I did not even know about this. Sounds super interesting. Though it seems to be very language specific?
My original intent was to not rely on language specifics. But maybe we could just define additional steps in the pipeline for specific languages. Hm. I’ll have to think about this some more, but it might definitely be a great idea for a future version, so thanks for telling me about it!!


Finally got this through another comment below. No, this should not be able to happen, unless you yourself have created a custom intent + shell script action in home assistant that runs this. The integration itself does not execute actions/scripts or the like, it just finds the closest string in a list of strings, and then hands that to the official conversation agent/Hassil.