I'm planning to move over to Guix over NixOS, as soon as my current situation improves and possibly import a new libre respecting laptop (Star Labs is thankfully available in India). I do have a very old laptop with a Celeron processor and 4GB of RAM with Guix installed already, and what has come to my attention is that it uses shepherd.

I'm not actually against or for systemd, in fact, I am not really sure why I should even care - maybe it is because I'm still not on to the level of a power user. Since I'm starting to learn kernel basics to prepare for GNU/Hurd contributions in the nearest possible future and shepherd seems to be what the GNU folks will be using, is there any reason why I should even care about the freedom of init system?

Edit: I'm asking this because I came across this blog - What is systemd and Why Should I Care? and also because Guix uses shepherd, and I'm not sure how I'll be affected.

  • Atemu@lemmy.ml
    ·
    8 months ago

    systemd has become like the JavaScript of init systems

    Likening systemd to JavaScript is incredibly inappropriate.

    systemd now handles DNS, cron, bootloader, and is a suite of tools tightly coupled with the init system)

    No. Except for the cron replacement, all of those are stand-alone tools that can be run with systemd, without systemd or replaced with any alternative.

    They just happen to be developed under the systemd project umbrella and are obviously tested to work well with another.

    This argument is especially weird for systemd-boot; it's not even a Linux program ffs.

    There are some components that are harder to replace with alternatives but mostly because no good alternatives exist. Systemd might be partially to blame here in how easy it is those parts can be ran independently and replaced with equals and you could certainly criticize it for that but you didn't even mention one of them.

    Truth be told, the birth of systemd really heralded in the death of the UNIX philosophy

    There is no truth in this sentence.

    Doing one thing only, and doing it well, while looking good on paper, and oftentimes is a good general rule of thumb, doesn't apply to modern application development, for better and worse.

    What? Please google "Microservices".


    Your whole wall of text hinges on the assumption that systemd is a simple "init system"; a root process spawning a set of other processes. This is false.

    systemd (as in: PID1) does service management, not init. It happens to also fit into the "job description" of init because starting and cleaning up dead services also fall under the responsibility of a service manager but reducing it to just an init system is just plain wrong. All the other things are handled by separate components/processes.

    Thus, it still follows the "unix philosophy". The "one thing" it does simply isn't what you think it does.

    It's like saying cp doesn't follow the UNIX philosophy because you could copy files with cat. cat is soo much simpler to understand, why would anyone ever use the bloated cp? Must be the pesky commercial influence of Bell labs!

    Truth be told, the birth of cp really heralded in the death of the UNIX philosophy.