What other approaches do folks use to deterministically customize Linux?

  • onlinepersona@programming.dev
    link
    fedilink
    arrow-up
    23
    ·
    edit-2
    3 days ago

    NixOS could be the future if it had a better community, documentation, and a user interface to manage the system. Right now, it’s still completely unusable for even tech literate folk. In fact it’s unusable for people without time.

    If NixOS is to become the future, it has to become more user friendly. Not only as a system but as a community. A community that ridicules people asking questions or responds with “just read the source code” might as well just continue believing in “self-documenting” code.

    And let’s not even dive into the close-source source forge dependency they have.

    Anti Commercial-AI license

    • QuizzaciousOtter@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      5
      ·
      1 day ago

      As a huge NixOS enthusiast I wholeheartedly agree with you. It works amazing for me but only because my autistic ass hyperfixated on it to the point of tinkering with it every afternoon for months.

      I would love to be able to recommend NixOS to people but unfortunately, the lack of good documentation is a huge problem.

      • onlinepersona@programming.dev
        link
        fedilink
        arrow-up
        5
        ·
        edit-2
        1 day ago

        my autistic ass hyperfixated on it to the point of tinkering with it every afternoon for months

        Relatable 💯 I had a basic functional system after the third time trying NixOS. But then I started trying to get my old workflow and programs back and anything missing from nixpkgs was such a pain.

        But I persevered and now keep trying to get others interested to share the pain, but they (rightfully) aren’t very excited about the prospects. These are people working in tech and who have written code for at least 5 years BTW.

        Unfortunately my efforts of communicating problems and solutions to the NixOS community mostly fall upon deaf ears or resistance. Maybe it’s the way I communicate it. Dunno.

        Anti Commercial-AI license

    • ExLisper@lemmy.curiana.net
      link
      fedilink
      arrow-up
      2
      ·
      1 day ago

      A community that ridicules people asking questions or responds with “just read the source code” might as well just continue believing in “self-documenting” code.

      From my time on discord I think what open source projects need to accommodate some users are full time HR-therapist-personal tutor type positions. People will show up to channels about development tools, ask the most insane questions (“Guys, how do yo build an operating system and/or browser?”) and expect immediate answers. Anything other then the most apologetic, calculated, professional response is treated like a personal attack and used to denounce the entire project. I’m constantly amazed by the patience of some of the contributors (that do it for free BTW) and the concept of judging project by the PR skills of its developers still seams bizarre to me. For me the important thing was always the quality of documentation and code, not how nice the devs are to me. But hey, I guess I’m old and I didn’t learn everything I know from ChatGPT.

      • onlinepersona@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        There’s a large spectrum between marketing expert and RTFM. Unfortunately, most nerds fall closer to the RTFM end than marketing expert or even normally functioning human. It isn’t much of a surprise, but it is a problem for sure.

        And of course there are hordes of lusers out there, but devs don’t even treat each other well. Join a programming forum for any language and ask questions about things you don’t comprehend. The amount of responses that are the equivalent of “just do this”, “that’s easy, just do”, or non-descript links to code or documentation is quite large.

        Anti Commercial-AI license

        • ExLisper@lemmy.curiana.net
          link
          fedilink
          arrow-up
          1
          ·
          1 day ago

          I’m not denying any of this. I just don’t like it when people use this as an argument not o use some projects. So the devs are not great at one-to-one communication? Ok, is the documentation good? Is the code clear? Are the bugs fixed in a timely manner? Are support tickets answered? If yes then I don’t care how nice they are. I assume that I will have to figure it out by myself and if there’s someone to ask that’s just a nice bonus. At the same time I see a lot of people that expect others to pretty much assist them on every step and complain when devs don’t do it. It’s just weird.

    • ruffsl@programming.devOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      2 days ago

      As a prior proponent of graphical programming interfaces, I’ve been thinking there’d be a good use case for a GUI based control panel for NixOS, something that could transcompile standard user selected options down to a nix config that could be abstract of the way from most users, like any sort of game save file.

      Given all options and packages in nixpkgs are already machine readable and indexed, supplying a GUI based tool to procedurally generate nix codes doesn’t at first seem initially daunting, but given the past discussions around this idea perhaps proves it to be on the contrary:

      Although SnowflakeOS in particular looks promising:

      SnowflakeOS Simple, Immutable, Reproducible SnowflakeOS is a NixOS based Linux distribution focused on beginner friendliness and ease of use.

      https://snowflakeos.org/

      • onlinepersona@programming.dev
        link
        fedilink
        arrow-up
        5
        ·
        edit-2
        2 days ago

        I think Snowflake OS is dead. The NixOS community didn’t really get behind it for whatever reason. My guess is that many people don’t understand enough about NixOS to contribute, but those that do are too proud of their ability to understand it that making it easier for others would seemingly devalue it. I have noticed that many nerds attach a sense of self-worth to understanding difficult things and will fight tooth and nail when those things are made more simple as it will diminish their self-worth.

        Given all options and packages in nixpkgs are already machine readable and indexed, supplying a GUI based tool to procedurally generate nix codes

        Nix can create attribute sets from JSON, so there isn’t a need to generate nix code. Projects like npins do this albeit for another purpose (locking dependencies without flakes).

        Anyway, NixOS is lightyears away from a noon friendly OS because it’s also terribly far away from a dev friendly OS.

        Anti Commercial-AI license

        • ruffsl@programming.devOP
          link
          fedilink
          English
          arrow-up
          4
          ·
          2 days ago

          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?

          • onlinepersona@programming.dev
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            1 day ago

            I agree with the points you are making. As for loss of interest for making things graphical, in my case it’s just a lack of time. If I had time, SnowflakeOS would have my contributions.

            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?

            For sure. I’m on mobile right now but something like

            {...}:
            builtins.fromJson( 
              builtins.readFile ./path/to/configuration.json
            )
            

            and importing that in your configuration.nix should do the trick. You have handcrafted stuff in another nix file, but it will be your responsibility to make it work with the imported/managed JSON. Maybe SnowflakeOS even does that. I’m not sure.

            Anti Commercial-AI license