this is really a complex one. For the moment (i said for the moment ;)) capability and namespace are not available, so basically your service should work. But you made a mistake at the [environment] section
[main]
@ type = longrun
@ version = 0.1.0
@ description = "Sophisticated low memory handler"
@ user = ( root )
@ options = ( log env )
[start]
@ execute = ( /usr/bin/nohang --monitor --config ${conf_file} )
[environment]
conf_file=!/etc/nohang/nohang.conf
You added a space but the "!" and the name of the directory. So, you can do stuff like this:
conf_file = !/etc/nohang/nohang.conf
conf_file= !/etc/nohang/nohang.conf
but you cannot do:
conf_file = ! /etc/nohang/nohang.conf
conf_file= ! /etc/nohang/nohang.conf
Also, i rectified your @ execute field to handle your variable conf_file set at your [environment] section. Now you don't need anymore to touch your frontend file to change the configuration file to use. Simply edit the configuration file with the 66-env program to change the path of the configuration file to use, than restart the service:
# 66-env nohang
# 66-start -r nohang