Hey fellow Linux enthusiasts! I’m curious to know if any of you use a less popular, obscure or exotic Linux distribution. What motivated you to choose that distribution over the more mainstream ones? I’d love to hear about your experiences and any unique features or benefits that drew you to your chosen distribution.

  • nyl@lemmy.opensupply.space
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    1 year ago

    It all began with Nix software build system and package manager; they needee a way to build, compile software in a reproducible way. That is, if it builds on my machine, it should build on yours too given some constraints. Then they build a whole package repository for such sofware or package definitions, Nixpkgs, that can be build or retrieved using Nix package manager. Nixpkgs grew to be a repository for enabling runnig an GNU Linux OS on it: NixOS. It is declarative in the sense you write what it should contain like packages and behaves like system services. For example, see https://git.sr.ht/~misterio/nix-config.

    Atomic in the sense that when you want to change system’s configuration or state, everything should suceed in that update, otherwise fails; it is everything or nothing. This enables storing previous and current system revisions, so can rollback to previous state.

    Nix plus things like flakes, nix shell, enables a build inviroment akin to containers, but much better, correct, and flexible.

    Haskell is just an ecossytem Nixpkgs support.

      • nyl@lemmy.opensupply.space
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        1 year ago

        Basically all that. The unfinished part IMO is mostly for use in developer use cases, and that some ecosystems like JVM are not as well supported.

        Can run yes, given that you have to spend some time learning Nix and NixOS specifics. I do that myself.

        You either package the software if it is easy to do so—take a look a at nix-init which eases the process—or use Flatpack, containers, steam-run…