Проблема в том, что ты с Юниксом познакомился слишком поздно,
видимо, что тебе можно морочить голову: зависимости есть везде даже
в классическом sysvinit (циферками в номерах скриптов -- речь не о
local.rc), сейчас там зависимости в комментариях пишутся, которые
автомагически парсятся[1]. Да systemd в целом лучше, но то как он
сделан -- сильно хуже. Он вне идеологии юникса вообще. Это --
винда. Говоришь язык описания -- а ты им пробовал вообще пользоваться? Оно как и в виндах: толком ничего не документировано, работает не как описано, и самое главное -- часто не работает. И оно тебе вообще нужно? В простых случаях и sysvinit может быть не нужен: именно, что достаточно rc.local и нескольких записей в inittab. И такая система будет работать железобетонно, и если надо сам разберёшься и исправишь. А сложная пирамида с семью слоями абстракций взбрыкнёт в непредсказуемый момент и не знаешь с какого конца подойти.
[1] https://refspecs.linuxbase.org/LSB_3.1.0/LSB-generic/LSB-generic/initscrcomconv.html