No. A proper approach to abstraction:
- Reduces complexity by reducing interdependency between subsystems.
- Facilitates testing by reducing interdependency between subsystems, and reduces bugs by facilitating testing.
- Allows for iterating components of the code base independently, and more easily adapting to changes to underlying components and subsystems, whether in the software themselves, or part of the system(s) the software relies on.
> Might be fine for a lot of projects, but this is just something to boot up your system.
Actually, this isn't just something to boot up your system (and if it was, it would be even easier to keep portable).
Instead, systemd a kitchen-sink-replace-everything-daemon that introduces massive cross-system/cross-module dependencies.