Yeah I had looked at systemd earlier, I looked at the arducopter one now (as opposed to the ardupilot one) hence they do not talk about its configuration as an EnvironmentFile.
Unfortunately there are good ways to do things and bad ways, systemd is a pretty decent way to do things in many respects, it is clean. However, systemd is also being used to manage 4 different ardupilot programs if you will. Essentially eliminating interaction in the shell (where you would add custom command) between this so called management stage and running the actual program. As you can see this is a flaw as we cannot actually “manage” how we are launching ardupilot.
In my opinion systemd should be used to deal with the running of an entire script, not to manage how a script should work as a whole. So now we cannot add hostnames since we cannot actually manage our program with any sort of commands. This also makes the start scripts and update-alternative tools overly complicated in a sense as it cannot actually process/manage how to launch ardupilot, rather it becomes a list (that is way to long) of predetermined systemd settings.
Instead a command could be processed in a bash setting such using variables where a few lines of processing using variables, could save having lists in several different directories, etc. It can also be seen how this is a problem again, at the bottom of this thread here:
As the Telemetry variables cannot be properly/dynamically handled as again there is no management stage. Systemd in this way has been used as a shortcut and thus we are not allowed to properly handled variables in the shell (by using a bash script) because of this being the bottom line.
Unless someone finds a clever loop hole, throws together some patch work, or rewrites the entire starting structure this is currently impossible as far as I can tell, which seems to be the truth after double checking man pages and any available forum posts.
As for considering patching something together according to the systemd man page, you cannot simply create a environment variable (possible named $DDNSHOST) and export it from a processed bash script since systemd will only read environment variables from the “Environment variables in spawned processes” section on https://www.freedesktop.org/software/systemd/man/systemd.exec.html#
Or set from an EnvironmentFile which does not seem to support shell commands