Skip Navigation

Posts
160
Comments
102
Joined
3 yr. ago

I'm a robotics researcher. My interests include cybersecurity, repeatable & reproducible research, as well as open source robotics and rust programing.

  • I haven't dug into Guix yet, so is the config more of a markup and less of Turing complete language? That sounds like it'd be easier to grock or optimize an LSP for.

    I have heard that Guix takes a stronger stance with respect to unfree software. I don't think any of the official nix Hydra infrastructures build for unfree packages, but they are packaged and indexed into nixpkgs. Has Guix been difficult at all in that regard, i.e. using proprietary drivers or closed libraries for work or personal hardware?

  • As soon as you veer off the beaten path, things can get really tricky.

    For med tech and robotics development, I'm still using Debian via docker because the surrounding ecosystems for those software communities are so tightly integrated with the Debian.

  • Hey do we have a central place with everyone’s configuration file ?

    As roundabout as it sounds I've had good luck using GitHub's code search with language:nix and path:flake.nix modifiers.

    E.g, I was looking for complete flake examples to overlay nvidia drivers from the unstable branch/channel, I used this regex:

    Most folks publishing their configs often have more advance setups, but still nice trace git blame to learn how they evolved.

    some config file editor where I can just toggle kde + nvidia drivers +

    There is SnowflakeOS this kind of stalled, but that could change with recent improvements to structured edits of Nix:

  • I think installing NixOS is something that could really benefit from more community mentoring or nearby a local linux user group.

    Now that I have a working config for my hardware, I feel like I could explain it all to my old self in under half an hour. But to get to that point of familiarity took a few days. Having someone over your shoulder to save a new user most of any trial and error could go a long way in terms of adoption or bounce rate. It's like subject that can be tricky to approach solo, but could be trivial if tutored even slightly formally.

    If you also like me prefer spoken/visual instructions over written forms, I'd also recommend these resources:

  • Well let me at least leave why I think Nix is not it at the moment:

    • Software Center - browsing search.nixos.org isn't quite the same in terms low friction and discoverability
      • You already have to know what you're looking for, and it can't make system config on your behalf
      • Debian or conventional package managers usually offer a native GUI for package selection and deployment

    • System Defaults - the minimality of a basic default install can cause a lot of papercuts
      • the default boot partition is rather small given the OS's prepecity to add new kernels with new generations
      • and without any garbage collection service enabled by default, user first encounter switch failures due to this

    • External Binaries Compatibility - Linux also suffers from this in general as compared to MacOS or Windows
      • in addition to being much more niche, reuse of existing binaries from more prevalent distros becomes complicated
      • the desktop ISO could suggest a nix-ld config with default libs most binary distributes expect, easing in new users

    • The Nix language - much more complex than conventional cong markup langs, being more of a turing complete DSL
      • partial working LSP impare introspection while writing, and the runtime error messages are poorly formatted
      • most desktop users (in debian or fedora) have little need to learn their OS's packaging schemas, but NixOS users do

  • What are we doing here? This isn’t even an argument.

    Correct, this isn't an argument, or at least I'm not trying to argue.All I wanted to learn what exact properties you though makes for a better desktop OS.

    I'm in agreement that NixOS isn't the best for mainstream desktop user base, but like any decent inquiry or survey, if I just preemptively bias someone's responses with my own observations on NixOS defecenties, then there wouldn't be as much of a case to before ask what they think other Linux Distro do better in the first place.

    Not everyone who strikes up a convo online for a debate, and not all (but quite a few) who ask questions are trolls.

  • It's a slippery slope, to be sure.

  • It doesn’t matter, because Nix isn’t built for it. That’s not it’s purpose or what it’s best at.

    I was asking more about linux distros other than NixOS.

    They all offer a better desktop experience because they are tuned with their packages and experience.

    • Would you say it's a front end aspect? If user driven system changes were as simple as using a Software Center UI?
    • A similar [desktop] experience sounds relative, what the comparison? Windows, MacOS,

      <Not Fedora>

      linux?
  • Not great for an uncontrolled user experience.

    • Interesting. What linux distros are optimal for that use case?
      • Specifically what properties of those distros make them ideal?
  • Does anyone know of an Android app to install an additional 3rd party TTS engine that can then be configured to point to a custom Open-AI/Fast-API endpoint for self hosting higher quality voices that are not easily run/fit on mobile hardware?

  • Yeah, I didn't hear much about the project over this summer.

    Switched from Gnome to Plasma a little after Unity expired, as I couldn't keep up with the churn of Gnome plugins, and hoping Cosmic could balance customizability with stability. KDE has been great with adding HDR support and Wayland features, though as a Rust lang fan, I'm still curious what Cosmic will bring to the table in terms of plugin API and tooling.

  • Some poignant questions for these new platform requirements:

    • How do you anticipate this being used against journalists and advocacy groups?
    • What research and statistical quantification will be done to evaluate the amount of harm these restrictions can inflict?
    • What precautions or safeguards will users have against malicious state actors or capitulating corporations?
    • How can developers protect themselves from liable damages due to service interruptions caused by third party verification?
    • Do you foresee legal restrictions in rollout due to national security concerns from differing nation states?
  • I've really enjoyed using Kokoro for generating audiobooks:

    Be sure to first try using this convenient API wrapper:

    Note that not all the modelled voices in Kokoro-82M are of equal quality, given disparities in limited training data from reference speakers. However, what's cool is that you can prescribe polynomial weights to multiple voices tags, enabling you to synthesize different variants weighted more heavily from the highest quality voices.

    One current limitation for Kokoro is that there's no way to prescribe emotion or intonation procedurally using markup tags like SSML in the source text, unlike other models like Orpheus. But Orpheus sometimes generate weird hallucinations like repeating sentences, injecting new phrases, appending radio silence or filter words, and generally increasing the tempo of words per minute as a sentence progresses. Still, this may be of interest if you want to add emotion like fear or urgency to your generated dispatches, and manage to tune the input temperature you want for the model.

    However, Kokoro is a lot more compute efficient and audibly consistent, requiring less scrutiny or manual supervision. The author behind Kokoro now also looks to be working towards an emotional variant as well:


    Reference project I've been following for audiobook generation:

  • Wow, that sounds damning. Where can one read more on this?

  • This is the flake config I started from, but am now refactoring for multi-host support:

    Simple and documented config templates to help you get started with NixOS + home-manager + flakes. All the boilerplate you need!

    I first learned of NixOS through this project, but decided on writing my own config for starters.Still, it has been a neat reference as an advance example:

    My main NixOS configuration. Features include a polished Hyprland environment. A fully configured NeoVIM environment, QMK support. A Keyboard shortcut menu pop-down available in the top bar and so much more!


    BTW, could you breakdown your hardware.nix configs?They look a lot different from my auto generated one from the ISO install, particularly for fileSystems:

  • Ah, that's a shame. Thanks for the context though.

    I did feel a little bit of that slight dismissal or elitism from the thread I linked above about the graphical installer ISO. Although I think the relative surge of new users after graphical ISO's implementation did end up changing some minds on the merit of its continual development.

    It seems like some tools just never fully realize their potential market demand until they're finally implemented and consequently adopted. Quite the catch 22.

    I also wonder if it's a bit of a motivational aspect for individual contributors, as in demand with mostly originate from novice users who've yet to master the Nix language, yet by the time one's gained enough experience to contribute to Snowflake OS, you've kind of grown out of outgrow the need for it. That kind of reflects my personal interests around graphical programming, as I became more familiar with various languages, my inkling for a graphical representation of control flow gradually waned.

    Still, I think lowering the barrier to adoption is in the long run best serves the community and in sustaining new contributors. Sort of like the conventional Greek proverb:

    A society grows great when old men plant trees whose shade they know they shall never sit in.


    Nix can create attribute sets from JSON, so there isn't a need to generate nix code.

    Is there a good way of mixing and mashing JSON attribute sets with conventional nix config files? Perhaps relegating some config to machine-generated JSON, and some hand crafted configs?