diff --git a/docs/PACKAGERS.md b/docs/PACKAGERS.md index 5e41e2b..758d3f6 100644 --- a/docs/PACKAGERS.md +++ b/docs/PACKAGERS.md @@ -21,12 +21,14 @@ make \ The list of possible `#define`s is: -| Name | Default | Description | Env Override? | -| ---------------------- | ------------------------------- | -------------------------------------------------------------------------- | ------------------------ | -| `PAM_SERVICE_FALLBACK` | `"login"` | Name of the default PAM module to use. Defaults to the distro's `"login"`. | Yes (`LIDM_PAM_SERVICE`) | -| `SESSIONS_XSESSIONS` | `"/usr/share/xsessions"` | | No | -| `SESSIONS_WAYLAND` | `"/usr/share/wayland-sessions"` | | No | -| `LIDM_CONF_PATH` | `"/etc/lidm.ini"` | Path of the default configuration. | Yes (`LIDM_CONF`) | +| Name | Default | Description | Env Override? | +| -------------------------- | ------------------------------------- | -------------------------------------------------------------------------- | ------------------------ | +| `PAM_SERVICE_FALLBACK` | `"login"` | Name of the default PAM module to use. Defaults to the distro's `"login"`. | Yes (`LIDM_PAM_SERVICE`) | +| `SESSIONS_XSESSIONS` | `"/usr/share/xsessions"` | | No | +| `SESSIONS_XSESSIONS_LOCAL` | `"/usr/local/share/xsessions"` | | No | +| `SESSIONS_WAYLAND` | `"/usr/share/wayland-sessions"` | | No | +| `SESSIONS_WAYLAND_LOCAL` | `"/usr/local/share/wayland-sessions"` | | No | +| `LIDM_CONF_PATH` | `"/etc/lidm.ini"` | Path of the default configuration. | Yes (`LIDM_CONF`) | # Other Build Settings diff --git a/src/sessions.c b/src/sessions.c index 4d36bc5..1fa2542 100644 --- a/src/sessions.c +++ b/src/sessions.c @@ -20,13 +20,19 @@ struct source_dir { #ifndef SESSIONS_XSESSIONS #define SESSIONS_XSESSIONS "/usr/share/xsessions" #endif +#ifndef SESSIONS_XSESSIONS_LOCAL + #define SESSIONS_XSESSIONS_LOCAL "/usr/local/share/xsessions" +#endif #ifndef SESSIONS_WAYLAND #define SESSIONS_WAYLAND "/usr/share/wayland-sessions" #endif -static const struct source_dir SOURCES[] = { - {XORG, SESSIONS_XSESSIONS}, - {WAYLAND, SESSIONS_WAYLAND}, -}; +#ifndef SESSIONS_WAYLAND_LOCAL + #define SESSIONS_WAYLAND_LOCAL "/usr/local/share/wayland-sessions" +#endif +static const struct source_dir SOURCES[] = {{XORG, SESSIONS_XSESSIONS}, + {XORG, SESSIONS_XSESSIONS_LOCAL}, + {WAYLAND, SESSIONS_WAYLAND}, + {WAYLAND, SESSIONS_WAYLAND_LOCAL}}; static struct Vector* cb_sessions = NULL;