Systemd is supposed to be the swiss army knife of starting things and keeping them going. For the most part, it works really really well. It has a very flexible developer-friendly way of letting one specify EnvironmentFile
's providing environmental variables for programs it's launching.
The major pitfall is that it does not in any way support multi-line values. If you want to pass in a normal boring certificate to your applicatino (because you are a good respectful 12factor dev practicing proper config), you may be S.O.L (shit out of luck).
Thie horrible helper, direnv-launch
, lets one use direnv-ish files when launching programs. Direnv's .envrc
files can be multi-line, which is great. This is also going to be compatible and useful with your fellow Mac & Windows developers. Note that variables must be declared as export
in envrc, as in export FOO=bar
, which is different, but closely mimics how everything