В юнитах systemd есть возможность задать условия, при невыполнении которых юнит не будет запускаться (например, ConditionFileExists). Мне же нужно, чтобы выполнилась вспомогательная программа и юнит стартовал, только если вспомогательная программа завершилась успешно (с кодом 0). Судя по man systemd.unit, для этого готового Condition'а не существует.
Можно, конечно, записать эту вспомогательную программу в ExecStartPre, но тогда эффект не тот, который хотелось бы: хочется, чтобы при невыполнении условия юнит просто не стартовал, а в способе через ExecStartPre юнит будет помечен как failed.
Есть ли какой-то минимально костыльный способ добиться того, что мне нужно?