Image text: “Fact: 90% of Linux users switch back to windows right before all their problems are about to be fixed”

    • onlinepersona@programming.dev
      link
      fedilink
      English
      arrow-up
      4
      ·
      8 months ago

      In terms of stability and packages, it’s an amazing OS. Gone are the days of being afraid that of updates or system upgrades that might leave your system borked. Unless you’re experimenting with filesystems and boot parameters, it’s not straightforward to fuck things up.

      On the flipside, by Linus is it difficult to get things working as a beginner. Good luck packaging new stuff, good luck creating new options, good luck cross-compiling, good luck configuring stuff with hardcoded config paths in /var/ or whatever, actually good luck understanding how to configure existing packages, good luck getting any kind of PR merged without the say-so of a chosen few, good luck changing anything in the community without getting past the gatekeepers, and have fun understanding why some random package is being installed and/or compiled when you switch to a new configuration.

      Anti Commercial-AI license

      • Atemu@lemmy.ml
        link
        fedilink
        arrow-up
        7
        ·
        8 months ago

        Good luck packaging new stuff

        Packaging is generally hard on any distro.

        Compared to a traditional distro, the packaging difficulty distribution is quite skewed with Nix though as packages that follow common conventions are quite a lot easier to package due to the abstractions Nixpkgs has built for said conventions while some packages are near impossible to package due to the unique constraints Nix (rightfully) enforces.

        good luck creating new options

        Creating options is really simple actually. Had I known you could do that earlier, I would have done so when I was starting out.

        Creating good options APIs is an art to be mastered but you don’t need to do that to get something going.

        good luck cross-compiling

        Have you ever tried cross-compiling on a traditional distro? Cross-compiling using Nixpkgs is quite easy in comparison.

        actually good luck understanding how to configure existing packages

        Yeah, no way to do so other than to read the source.

        It’s usually quite understandable without knowing the exact details though; just look at the function arguments.

        Also beats having no option to configure packages at all. Good luck slightly modifying an Arch package. It has no abstractions for this whatsoever; you have to copy and edit the source. Oh and you need to keep it up to date yourself too.

        Gentoo-like standardised flags would be great and are being worked on.

        good luck getting any kind of PR merged without the say-so of a chosen few

        Hi, one of the “chosen few” here: That’s a security feature.

        Not a particularly good one, mind you, but a security feature nonetheless.

        There’s also now a merge bot now running in the wild allowing maintainers of packages to merge automatic updates on their maintained packages though which alleviates this a bit.

        have fun understanding why some random package is being installed and/or compiled when you switch to a new configuration.

        It can be mysterious sometimes but once you know the tools, you can directly introspect the dependency tree that is core to the concept of Nix and figure out exactly what’s happening.

        I’m not aware of the existence of any such tools in traditional distros though. What do you do on i.e. Arch if your hourly shot of -Syu goes off and fetches some package you’ve never seen before due to an update to some other package? Manually look at PKGBUILDs?