I occasionally see love for niche small distros, instead of the major ones…

And it just seems to me like there’s more hurdles than help when it comes to adopting an OS whose users number in the hundreds or dozens. I can understand trying one for fun in a VM, but I prefer sticking to the bigger distros for my daily drivers since the they’ll support more software and not be reliant on upstream sources, and any bugs or other issues are more likely to be documented abd have workarounds/fixes.

So: What distro do you daily drive and why? What drove you to choose it?

  • WalnutLum
    link
    fedilink
    arrow-up
    14
    ·
    3 months ago

    I use guix because, while it has a small community, the packaging language is one of the easiest I’ve ever used.

    Every distro I’ve tried I’ve always run into having to wait on packages or support from someone else. The package transformation scheme like what nixos has is great but Nixlang sucks ass. Being able to do all that in lisp is much preferred.

    Plus I like shepherd much more than any of the other process 0’s

    • Crazazy [hey hi! :D]@feddit.nl
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      3 months ago

      As a nix user, guix looks legit nice but it took me until 2 days ago to actually find community projects made for guix(https://whereis.みんな/) . Sometimes I just wish they used the same store and daemon as nix so that nix packages can work as guix dependencies and vice versa.

      (Also major thing stopping me from using guix is I don’t get service types at all, let alone how you’d define your own service :( )

      • WalnutLum
        link
        fedilink
        arrow-up
        1
        ·
        3 months ago

        You can use nix alongside guix, it’ll just double-up the dependencies on disk:

        services (append (list (service nix-service-type))
                            %base-services)))
        

        Services are, in guix terms, any configuration change to a computer, so creating your own service 99% of the time is just extending etc-service-type and creating a variable interface to fill in the config file text yourself

        Creating a service as in a daemon of some kind uses shepherd and involves extending shepherd-service-type or home-shepherd-service-type with your service description, depending on whether the service runs in root or user space.

        Shepherd service configurations aren’t actually part of the guix spec(https://www.gnu.org/software/shepherd/manual/shepherd.html#Defining-Services), but still use Guile, so you can interoperate them super easily.

        It’s important in guix to understand lisp pretty thoroughly, and knowing how to program lisp is still a very useful skill to have so I’d recommend learning it even if you never touch guix.