This repository was archived by the owner on Feb 18, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 37
feature request: recognise systemd environment variable for systemd services #78
Copy link
Copy link
Open
Description
I would like to write an app which can be run both
- in the terminal as a normal user, writing its cache to XDG_CACHE_HOME
- as a systemd service as a system user, and then write its cache to /var/cache/ in a directory prepared by systemd with
CacheDirectory=<progname>.
In the second case, systemd sets the CACHE_DIRECTORY env var, and directories-rs could recognize that.
This also applies for other directories than cache: from man systemd.exec:
Table 2. Automatic directory creation and environment variables
┌────────────────────────┬────────────────┬───────────────────────┬──────────────────────────┐
│Directory │ Below path for │ Below path for user │ Environment │
│ │ system units │ units │ variable set │
├────────────────────────┼────────────────┼───────────────────────┼──────────────────────────┤
│RuntimeDirectory= │ /run/ │ $XDG_RUNTIME_DIR │ $RUNTIME_DIRECTORY │
├────────────────────────┼────────────────┼───────────────────────┼──────────────────────────┤
│StateDirectory= │ /var/lib/ │ $XDG_CONFIG_HOME │ $STATE_DIRECTORY │
├────────────────────────┼────────────────┼───────────────────────┼──────────────────────────┤
│CacheDirectory= │ /var/cache/ │ $XDG_CACHE_HOME │ $CACHE_DIRECTORY │
├────────────────────────┼────────────────┼───────────────────────┼──────────────────────────┤
│LogsDirectory= │ /var/log/ │ $XDG_CONFIG_HOME/log/ │ $LOGS_DIRECTORY │
├────────────────────────┼────────────────┼───────────────────────┼──────────────────────────┤
│ConfigurationDirectory= │ /etc/ │ $XDG_CONFIG_HOME │ $CONFIGURATION_DIRECTORY │
└────────────────────────┴────────────────┴───────────────────────┴──────────────────────────┘
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels