← Back to context

Comment by mindslight

3 months ago

NixOS is great at mitigating some of systemd's sharp edges and putting its actual properties in stark relief so that they can actually be evaluated logically (and even swapped out for alternatives without having to drastically change the whole OS distribution).

Things I do not like:

Configuration splayed out amongst tons of tiny .ini files (this manifests in nixos by a mostly boilerplate ~10 line config burp for every service)

Multiple dependency types including its own enable/disable system including a whole parallel configuration tree of symlinks, as opposed to the simple/standard/traditional approach of configuration being disabled by not existing.

Network interfaces/drives/etc splayed out each into multiple services, some from concrete configuration, some implicit - seemingly to make everything visible to its uniform model.

Complex logical model making it hard to debug it without using bespoke tools to analyze dependency graphs and whatnot.

I'm not sitting around hating on systemd because sysvinit was also totally overwrought and obtuse, and BSD style init scripts weren't really scalable. But I get the hate. And I totally see the room for a drastically simpler init system (especially for NixOS). It's fantastic that someone finally dug in and attempted it.