• ikidd@lemmy.world
    link
    fedilink
    English
    arrow-up
    100
    ·
    9 days ago

    This article is spot on. Fantastic operating system with a clear concept of how it should be done. And great for people that want to fight for it. But everything you want to do that’s slightly off the path is a 3 hour research project in documentation that’s pretty damn poor. It eventually wears you out.

    • Steamymoomilk@sh.itjust.works
      link
      fedilink
      arrow-up
      28
      arrow-down
      1
      ·
      edit-2
      9 days ago

      Nixos user here for 4 years.

      Yep

      Its legit you want to try sway window manager?!?

      Sway = true;

      You want to change the keybinds and make it declarative.

      MAY GOD HELP YOU.

      Files.home

      Is what u want and it took me 3 hours to find that

        • MonkderVierte@lemmy.zip
          link
          fedilink
          arrow-up
          1
          ·
          8 days ago

          or just want to use some obscure software in general, then yeah, things can get more complicated…

          Well thanks, so NixOS is not for me then.

          • Ephera@lemmy.ml
            link
            fedilink
            English
            arrow-up
            4
            ·
            edit-2
            8 days ago

            Oof, I was just talking about making things declarative there. If you want to configure it the old-fashioned way, like you would on other distros, then those difficulties don’t apply.

            In more general terms, though, it’s a bit of a double-edged sword. The Nix package repository has more packages than other package managers: https://repology.org/repositories/graphs

            So, the chance of finding an obscure software, that’s already packaged, is rather high.
            Here’s the online package search, if you want to check the availability of some of the obscure software you use: https://search.nixos.org/packages

            But then, yeah, the flipside is that, from what I understand, you can’t just download a random executable off of the internet and run it, because of the Filesystem Hierarchy Standard not being adhered to, as the post also mentions.
            You can set up Flatpaks, and I believe AppImages would work, because those also live in their own FUSE filesystem. Well, and there is ways to emulate the FHS layout to get normal applications to run, too.

            But yeah, way out of my field of expertise there. I have only one software installed which isn’t packaged for Nix, which is a program I wrote myself.
            And to get sufficient FHS emulation for that, I just needed this line in my config:

            programs.nix-ld.enable = true;
            

            More complex programs will need a bit of extra configuration: https://wiki.nixos.org/wiki/Nix-ld

            (I could also add a flake.nix file into my software’s repository, though, which would make it so it could be installed straight from my repo, as if it was packaged.)

    • rozodru@piefed.social
      link
      fedilink
      English
      arrow-up
      19
      ·
      9 days ago

      I love NixOS but it really does make the hard things easy and the easy things hard. I even take “vacations” from it. Like right now for example. I switched back to Arch for a bit as I found myself spending too much time playing around with my various nix configurations/modules and also getting frustrated in trying to get some random application to work. So went back to Arch so I don’t have to think about stuff.

      the beauty of NixOS is I can go back to it and be exactly where I left off in like 15minutes. I just need a break from it.

        • higgsboson@piefed.social
          link
          fedilink
          English
          arrow-up
          12
          ·
          edit-2
          8 days ago

          Sure it is now, but it was not always. Gentoo didnt just spring forth from the aether full-grown.

          pre-alpha

          The period of pre-0.1 that I reference above, ended in 2002 with the release of 0.1 Alpha. This is back when the idea of adding a binary installer was controversial in the gentoo community. That was 24 years ago, in case you are following along. So going on about the current state of Gentoo is not super relevant. I am glad it is better, but I am old enough to remember when it was a pretty gnarly ball of yarn and that is what I mentioned.

    • harsh3466@lemmy.ml
      link
      fedilink
      arrow-up
      11
      ·
      8 days ago

      I gave nixos a shot and pretty immediately noped out. All I wanted as a starting point was nvim with lazyvim. And as you said, it was a huge research project and after an hour with no luck, I nuked it.

    • teft@piefed.social
      link
      fedilink
      English
      arrow-up
      4
      ·
      9 days ago

      Is there no forum or discord for the distro? Or a self help book. Way back in the day that’s how i did shit on slackware. Irc and books.

  • onlinepersona@programming.dev
    link
    fedilink
    arrow-up
    35
    arrow-down
    1
    ·
    9 days ago

    Damn right. And the Nixos community forums are full of people unwilling to accept this. They will gaslight you into thinking you’re the problem. “Just do this”, as I’d it’s completely obvious and you’re dumb for not realising that. Of course if they find out you have some ideological incompatibility with them, you’re out anyway.

    NIXOS really needs a fork. One that embraces or rejects flakes outright. One that stops inviting ideological battles. And one that embraces documentation.

    • balsoft@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      7 days ago

      One that stops inviting ideological battles

      That’s impossible IMHO. Nix is fundamentally about doing things “the right way”, and so there will always be disagreements about what “the right way” is. I think they are bound to be eventually settled on the best possible answer, you don’t need a fork for that.

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

        If only the battles were about software. They are about unrelated beliefs and political ideologies. I’d very much prefer ideological battles about software trust me.

    • Ephera@lemmy.ml
      link
      fedilink
      English
      arrow-up
      15
      ·
      9 days ago

      I mean, you don’t really need a fork for that. Anyone who’s motivated to actually improve the situation here, can just write appropriate documentation.

      I guess, a fork would give you a new name, and therefore a clean slate where there’s not loads of contradicting information already out there. But yeah, that’s also a lot of work…

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

        Well, I’m not in Microslop platforms, so that’s going to be difficult.

        Second, the way things work in the current nix/nixos community make it easy to create a PR but very difficult to get it merged. Attempts at writing documentation are nitpicked to death, unless you belong to the privileged class of the documentation team or have merge rights on Microslop’s Github.

        A fork would also give an attempt at forming a new community with different rules and focus.

      • onlinepersona@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        6 days ago

        I haven’t yet found out where its major differences lie. And it seems like they haven’t taken a firm stance on flakes (yes or no). They also only forked the interpreter, not nixpkgs. A good step, but their documentation wasn’t good, the last time I checked.

  • Samueru_sama@programming.dev
    link
    fedilink
    English
    arrow-up
    19
    arrow-down
    2
    ·
    9 days ago

    The problem is that NixOS achieves all of this by breaking assumptions that almost all Linux software relies on. Most Linux binaries assume the Filesystem Hierarchy Standard exists, and they expect interpreters and libraries at fixed global paths.

    This is a problem of those applications, we began to make appimages that do not make those assumptions and work in NixOS directly. (And this also means it works in places like alpine where a lot of those binaries wont either).

    People like to throw the FHS around but the reality is that not a single distro follows it fully, I wouldn’t rely on it to be the same in the near future at all.

    • unexposedhazard@discuss.tchncs.de
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      edit-2
      9 days ago

      Most of these are still relevant issues afaik, so yeah… appimages are just not a solution for everything. Same as stuff like flatpak and snap. These are nice for when you just need some little standalone app that doesnt do a lot of compute heavy stuff, but they will never replace native implementations.

      • Samueru_sama@programming.dev
        link
        fedilink
        English
        arrow-up
        7
        ·
        edit-2
        9 days ago

        The points in the screenshot are just false and outdated, the guy even says that it doesn’t work on every distro lol

        This is signal made with sharun working on ubuntu 12.04 a 14 year old distro: https://imgur.com/a/1f5S0P7 The distro is so old that internet no longer worked lol, had to use a flash drive to transfer the appimage.

        we use a lot less storage than flatpak and this comparison is outdated, we have reduced the size of a lot of apps since then.

        I actually did a quick test installing an alpine linux container and about 10 GUI apps vs appimage and appimage used less storage, now this comparison was flawed because I later realized that the alpine stable repo was super old and for example GIMP was pulling the gtk2 version instead of the gtk3 one (which brings all of gtk2 into the system instead of sharing the existing gtk3) but you get the idea of how close we are.

        For updates and desktop integration use AM or soar

        but they will never replace native implementations.

        Eden makes its appimage using sharun, they made it with PGO optimizations on it which has a ~10% increase in FPS.

        native implementations wouldn’t bother doing this, in fact PCSX2 had to tell people to not use the official archlinux package while it existed, because archlinux compiled it with generic flags which was horrible lol

        https://www.reddit.com/r/linux_gaming/comments/ikyovw/pcsx2_official_arch_linux_package_not_recommended/

        This is also the reason why this benchmark showed appimage performing much better, you are free to optimize your application, while distros packages, flatpak, etc you often have to deal with packaging policies that do not allow this:

        https://www.reddit.com/r/linux/comments/u5gr7r/interesting_benchmarks_of_flatpak_vs_snap_vs/

    • MonkderVierte@lemmy.zip
      link
      fedilink
      arrow-up
      3
      ·
      8 days ago

      At this point, FHS feels more like a hindrance to me. Also, it was made in a time with very limited disk capacity and personal computers weren’t much of a thing yet.

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

      I never want to go back to an OS I can’t diff or track under revision control. I just love being able to solve an issue once and move on without worrying about if I’ll forget all the minutiae of changes I made to my customized system when it eventually comes to migrating workstations or replicating across my computers.

  • Ek-Hou-Van-Braai@piefed.social
    link
    fedilink
    English
    arrow-up
    16
    arrow-down
    2
    ·
    9 days ago

    Lol love the title.

    I feel the same about KDE on Wayland, it’s amazing but it’s not stable enough yet.

    Took my laptop to work and it had a stroke when I plugged it into the office monitors

  • timbuck2themoon@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    10
    ·
    9 days ago

    I also think- how often am I borking or reinstalling my desktop?

    It’s a good idea but I’ve been running the same system for years and years. All that effort goes kind of unused. I replicated most of what I’d need in a single ansible playbook over the years that didn’t take long. In the rare event I need to reinstall at all.

  • apotheotic (she/her)@beehaw.org
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    4
    ·
    9 days ago

    Didn’t they start going anti-woke at some point? I was very excited about nixos when i started trying it and then between the weapons sponsorships and some anti woke stuff i read about at the time, i moved on

  • MonkderVierte@lemmy.zip
    link
    fedilink
    arrow-up
    8
    arrow-down
    2
    ·
    edit-2
    6 days ago

    Personally, i dream of a stateless, tag/attribute-based, tree-less operating system. “directories” would not be neccessary but a tag could be displayed as one in file managers. Want to load a library? type:library, name:xyz it is.
    Stuff is there on the disk anyway, you just have to identify it.

    But that would require the whole system and the tooling made for this.
    But maybe we get there; since the young generation isn’t used to file trees anymore.

    Edit: ok, scratch the kernel, it could work.

    • balsoft@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      7 days ago

      I think what you’re looking for is simply an indexer + UI that sorts your filesystem by tags rather than by directory structure. Not sure if that’s as beneficial as you imagine it to be, but IIRC KDE allows you to do something like that in Dolphin.

      • MonkderVierte@lemmy.zip
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        6 days ago

        No, they always have to keep a index uptodate. And no synch (or even compatibility) with other such tooling. Only thing that comes close currently is xattributes some fs support. But they are wholly a undefined blank slate.

        About advantages, no broken paths would be one.

        • balsoft@lemmy.ml
          link
          fedilink
          arrow-up
          2
          ·
          7 days ago

          Dolphin (well, whatever the KDE’s indexer is called) uses xattrs under the hood for tagging, so it will be compatible with other software (including {get,set}fattr).

          The index has to be up-to-date, but then that would be true with any tag-based filesystem, it’s just happening on a different layer (and arguably a layer which is more suitable for this - not sure it’d be a good idea to enforce synchronous indexing during xattr writes).

          The most significant user-facing obstacle is lack of software which supports this system, but I guess that shows that there’s not much desire for it in reality.

          • MonkderVierte@lemmy.zip
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            6 days ago

            Right, i remembered KDE using xattr just after writing the answer. But still, only a KDE convention how the data is stored, not a fs convention.

            But my point was, we could entirely get rid of file trees.
            How many times did i wish, find slowly traversing the fs tree, that you could define a bit more details than the name and roughly if it is a file, a directory or a symlink.

            Working on a small trashdir shell script currently, there is a .trashinfo file with the date deleted and the last used path; that’s a hack, not a solution.

            The fs index could contain things like mime type, intended use (library, executable, plaintext), advanced security context, deleted/visibility, without storing a tree the tooling has to hang on to. Finding stuff on the whole disk could be instantaneous.

            And yeah, of course this would be incompatible to everything *nix and Windows currently. Which is why i think it would need to be a whole new OS (with compatibility tooling to *nix).
            Current *nix kernels have a lot of Server-centric assumptions the distro tooling has to work around for desktop use anyway. The file systems also, they were made for server-centric use in times of MB, not TB. ext3/4 are just iterations over the old thing, with higher limits, better optimized algorithms, and so on.

  • entwine@programming.dev
    link
    fedilink
    arrow-up
    5
    ·
    7 days ago

    I wonder how many Nix cheerleaders are aware of OSTree based systems like Silverblue, Kinoite, Bazzite, etc? They provide the same immutability guarantees, but none of the pain and standards-defiance of NixOS.

    I think Nix (the package manager) is a much stronger sell than NixOS. You can use Nix to install your apps on top of another immutable OS, whereas otherwise you might go with Flatpaks, containers, AppImages, etc. It’s certainly better than adding Homebrew or some other manager like Pacman.

    For devs, Nix is nice for people who can’t or don’t want to use containers for any reason (or want to use both!). I just don’t see anyone benefiting from using NixOS except for Nix addicts.

      • entwine@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        7 days ago

        I haven’t actually, I just assumed it would be pretty straightforward to do, but apparently not :/

        That issue is full of cringe though. Not a good look for either side, and not productive. It’s not clear whether the ublue people don’t feel like supporting it, or if it’s actually not possible due to SELinux issues.

    • balsoft@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      7 days ago

      They provide the same immutability guarantees

      Not as easy to have your entire system introspectable, sharable between devices, and under the same VCS. NixOS is declarative first and foremost, and all other benefits fall out from that; immutability is just one of them.

      NixOS is a hack that shoehorns existing FOSS software into what an OS should really be. I doubt we’ll get anything better for the foreseeable future, except maybe Guix.

  • ChaoticNeutralCzech@feddit.org
    link
    fedilink
    English
    arrow-up
    5
    ·
    7 days ago

    it undermines decades of Unix experience

    Which I don’t have. So my interest got piqued.

    package everything you want to run

    Sounds like a way to finally make my attempts at using Linux organized

    bulletproof rollbacks

    McMahon red glowing eyes

  • poinck@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    8 days ago

    This lets Gentoo look like a beginner/user-friendly distro next to NixOS.

    The fact that my OS should not be a project anymore made me switch to Debian instead to NixOS. But I need to try an immutable distro some time.

  • Mwa@thelemmy.club
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    8 days ago

    its amusing my first/second Distro was NixOS(and i didnt know much Linux,and someone told me its a good distro)

    • Chais@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      ·
      8 days ago

      It is a good distro. It’s just that the documentation is either outdated, inaccurate or inexistent and that the learning curve is parallel to the y-axis.
      The community, somewhat understandably, has limited time and willingness to explain the same things over and over, yet for some reason refuses to conclude that rigorously maintaining a wiki is their best bet to combat this situation and will ultimately be less effort than repeating the same explanations.

  • vga@sopuli.xyz
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    8 days ago

    NixOS has some neat ideas but goes to the deep end implementing a near-perfect design of those ideas. If you need those ideas, it’s really great.

    I’m fantasizing about doing a lipstick-on-pig kind of a facsimile of NixOS on top of Arch Linux.

    • Kogasa@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      8 days ago

      Nixpkgs and home manager on top of Arch is a nice hybrid system. I gave up on the idea for my PC because it enforces a level of tidiness that I’m not always on board with. Sometimes I do Evil Things to my computer and leave garbage lying around. It doesn’t complain, and I’d shoot it if it did

  • Itdidnttrickledown@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    8 days ago

    It seems needlessly complicated. I installed it as a virt like I do with most distros and it seems like they are dumbing it all down to the point its headed toward android levels of needless complication.