108 lines
5.4 KiB
Diff
108 lines
5.4 KiB
Diff
|
From 8c0be07ccbad35d0c1106015057996aa55b9a1f9 Mon Sep 17 00:00:00 2001
|
||
|
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
|
||
|
Date: Fri, 19 Dec 2014 14:46:17 +0100
|
||
|
Subject: [PATCH 07/27] Add some NixOS-specific unit directories
|
||
|
|
||
|
Look in /nix/var/nix/profiles/default/lib/systemd for units provided
|
||
|
by packages in the default (system-wide) profile, and in
|
||
|
/etc/systemd-mutable/system for persistent, mutable units (not
|
||
|
recommended).
|
||
|
|
||
|
Also, remove /usr and /lib as these don't exist on NixOS.
|
||
|
---
|
||
|
src/core/systemd.pc.in | 4 ++--
|
||
|
src/shared/path-lookup.c | 18 +++++-------------
|
||
|
2 files changed, 7 insertions(+), 15 deletions(-)
|
||
|
|
||
|
diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in
|
||
|
index 5d1ddd7620..21b977d6fc 100644
|
||
|
--- a/src/core/systemd.pc.in
|
||
|
+++ b/src/core/systemd.pc.in
|
||
|
@@ -17,8 +17,8 @@ systemduserunitdir=${prefix}/lib/systemd/user
|
||
|
systemduserpresetdir=${prefix}/lib/systemd/user-preset
|
||
|
systemdsystemconfdir=${sysconfdir}/systemd/system
|
||
|
systemduserconfdir=${sysconfdir}/systemd/user
|
||
|
-systemdsystemunitpath=${systemdsystemconfdir}:/etc/systemd/system:/run/systemd/system:/usr/local/lib/systemd/system:${systemdsystemunitdir}:/usr/lib/systemd/system:/lib/systemd/system
|
||
|
-systemduserunitpath=${systemduserconfdir}:/etc/systemd/user:/run/systemd/user:/usr/local/lib/systemd/user:/usr/local/share/systemd/user:${systemduserunitdir}:/usr/lib/systemd/user:/usr/share/systemd/user
|
||
|
+systemdsystemunitpath=${systemdsystemconfdir}:/etc/systemd/system:/etc/systemd-mutable/system:/nix/var/nix/profiles/default/lib/systemd/user:/run/systemd/system:${systemdsystemunitdir}
|
||
|
+systemduserunitpath=${systemduserconfdir}:/etc/systemd/user:/etc/systemd-mutable/user:/nix/var/nix/profiles/default/lib/systemd/system:/run/systemd/user:${systemduserunitdir}
|
||
|
systemdsystemgeneratordir=${rootprefix}/lib/systemd/system-generators
|
||
|
systemdusergeneratordir=${prefix}/lib/systemd/user-generators
|
||
|
systemdsleepdir=${rootprefix}/lib/systemd/system-sleep
|
||
|
diff --git a/src/shared/path-lookup.c b/src/shared/path-lookup.c
|
||
|
index 6bf0ff0316..2b6324ad8c 100644
|
||
|
--- a/src/shared/path-lookup.c
|
||
|
+++ b/src/shared/path-lookup.c
|
||
|
@@ -99,17 +99,14 @@ int xdg_user_data_dir(char **ret, const char *suffix) {
|
||
|
}
|
||
|
|
||
|
static const char* const user_data_unit_paths[] = {
|
||
|
- "/usr/local/lib/systemd/user",
|
||
|
- "/usr/local/share/systemd/user",
|
||
|
USER_DATA_UNIT_PATH,
|
||
|
- "/usr/lib/systemd/user",
|
||
|
- "/usr/share/systemd/user",
|
||
|
NULL
|
||
|
};
|
||
|
|
||
|
static const char* const user_config_unit_paths[] = {
|
||
|
USER_CONFIG_UNIT_PATH,
|
||
|
"/etc/systemd/user",
|
||
|
+ "/etc/systemd-mutable/user",
|
||
|
NULL
|
||
|
};
|
||
|
|
||
|
@@ -604,15 +601,14 @@ int lookup_paths_init(
|
||
|
persistent_config,
|
||
|
SYSTEM_CONFIG_UNIT_PATH,
|
||
|
"/etc/systemd/system",
|
||
|
+ "/etc/systemd-mutable/system",
|
||
|
+ "/nix/var/nix/profiles/default/lib/systemd/system",
|
||
|
STRV_IFNOTNULL(persistent_attached),
|
||
|
runtime_config,
|
||
|
"/run/systemd/system",
|
||
|
STRV_IFNOTNULL(runtime_attached),
|
||
|
STRV_IFNOTNULL(generator),
|
||
|
- "/usr/local/lib/systemd/system",
|
||
|
SYSTEM_DATA_UNIT_PATH,
|
||
|
- "/usr/lib/systemd/system",
|
||
|
- STRV_IFNOTNULL(flags & LOOKUP_PATHS_SPLIT_USR ? "/lib/systemd/system" : NULL),
|
||
|
STRV_IFNOTNULL(generator_late));
|
||
|
break;
|
||
|
|
||
|
@@ -628,14 +624,12 @@ int lookup_paths_init(
|
||
|
persistent_config,
|
||
|
USER_CONFIG_UNIT_PATH,
|
||
|
"/etc/systemd/user",
|
||
|
+ "/etc/systemd-mutable/user",
|
||
|
+ "/nix/var/nix/profiles/default/lib/systemd/user",
|
||
|
runtime_config,
|
||
|
"/run/systemd/user",
|
||
|
STRV_IFNOTNULL(generator),
|
||
|
- "/usr/local/share/systemd/user",
|
||
|
- "/usr/share/systemd/user",
|
||
|
- "/usr/local/lib/systemd/user",
|
||
|
USER_DATA_UNIT_PATH,
|
||
|
- "/usr/lib/systemd/user",
|
||
|
STRV_IFNOTNULL(generator_late));
|
||
|
break;
|
||
|
|
||
|
@@ -824,14 +818,12 @@ char **generator_binary_paths(UnitFileScope scope) {
|
||
|
case UNIT_FILE_SYSTEM:
|
||
|
return strv_new("/run/systemd/system-generators",
|
||
|
"/etc/systemd/system-generators",
|
||
|
- "/usr/local/lib/systemd/system-generators",
|
||
|
SYSTEM_GENERATOR_PATH);
|
||
|
|
||
|
case UNIT_FILE_GLOBAL:
|
||
|
case UNIT_FILE_USER:
|
||
|
return strv_new("/run/systemd/user-generators",
|
||
|
"/etc/systemd/user-generators",
|
||
|
- "/usr/local/lib/systemd/user-generators",
|
||
|
USER_GENERATOR_PATH);
|
||
|
|
||
|
default:
|
||
|
--
|
||
|
2.24.1
|
||
|
|