summary refs log blame commit diff
path: root/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
blob: 0acccacd613507d7d912c09d6df6dc8ba3c103bf (plain) (tree)
1
2
3
4
5
6
7
8
                                                                      

                                                 
                                                               
 


                                                                     


                                                         
                                               
                                   
                                                  
 
                                                              
                                   

                             
                                                                          




                                                    
                            




                                   
                                            
                                                           
                                                                
                                                               












                                                                                                                       
                                            
                                                           
                                                              
                                                             






                                                                                          
                                                            



                                                                         
                                                                        






                                                                                   
                                                                        






                                                                                 
                                                                         












                                                                                                
                                   






                                                                                                                                                                                                 
                                                                                                                                                                     
                                                  
 
                                                                                                                                                                                                                     
                                                                                                                                                         

                                              
 
                                                                          
   
      
 
From 8b7f881cf22e98e907506f4c403b9e304e332bf9 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 05/19] Add some NixOS-specific unit directories

Look in `/nix/var/nix/profiles/default/lib/systemd/{system,user}` for
units provided by packages installed into the default profile via
`nix-env -iA nixos.$package`.

Also, remove /usr and /lib as these don't exist on NixOS.
---
 src/basic/path-lookup.c | 17 ++---------------
 src/core/systemd.pc.in  |  5 +++--
 2 files changed, 5 insertions(+), 17 deletions(-)

diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
index 96b82170d0..bf66bd6b77 100644
--- a/src/basic/path-lookup.c
+++ b/src/basic/path-lookup.c
@@ -94,11 +94,7 @@ 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_DIR,
-        "/usr/lib/systemd/user",
-        "/usr/share/systemd/user",
         NULL
 };
 
@@ -616,15 +612,13 @@ int lookup_paths_init(
                                         persistent_config,
                                         SYSTEM_CONFIG_UNIT_DIR,
                                         "/etc/systemd/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;
 
@@ -640,14 +634,11 @@ int lookup_paths_init(
                                         persistent_config,
                                         USER_CONFIG_UNIT_DIR,
                                         "/etc/systemd/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_DIR,
-                                        "/usr/lib/systemd/user",
                                         STRV_IFNOTNULL(generator_late));
                         break;
 
@@ -797,7 +788,6 @@ char **generator_binary_paths(UnitFileScope scope) {
                 case UNIT_FILE_SYSTEM:
                         add = strv_new("/run/systemd/system-generators",
                                        "/etc/systemd/system-generators",
-                                       "/usr/local/lib/systemd/system-generators",
                                        SYSTEM_GENERATOR_DIR);
                         break;
 
@@ -805,7 +795,6 @@ char **generator_binary_paths(UnitFileScope scope) {
                 case UNIT_FILE_USER:
                         add = strv_new("/run/systemd/user-generators",
                                        "/etc/systemd/user-generators",
-                                       "/usr/local/lib/systemd/user-generators",
                                        USER_GENERATOR_DIR);
                         break;
 
@@ -844,12 +833,10 @@ char **env_generator_binary_paths(bool is_system) {
                 if (is_system)
                         add = strv_new("/run/systemd/system-environment-generators",
                                         "/etc/systemd/system-environment-generators",
-                                        "/usr/local/lib/systemd/system-environment-generators",
                                         SYSTEM_ENV_GENERATOR_DIR);
                 else
                         add = strv_new("/run/systemd/user-environment-generators",
                                        "/etc/systemd/user-environment-generators",
-                                       "/usr/local/lib/systemd/user-environment-generators",
                                        USER_ENV_GENERATOR_DIR);
 
                 if (!add)
diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in
index b5cc8f94a5..a701cd05f8 100644
--- a/src/core/systemd.pc.in
+++ b/src/core/systemd.pc.in
@@ -38,10 +38,11 @@ systemdsystemconfdir=${systemd_system_conf_dir}
 systemd_user_conf_dir=${sysconfdir}/systemd/user
 systemduserconfdir=${systemd_user_conf_dir}
 
-systemd_system_unit_path=${systemd_system_conf_dir}:/etc/systemd/system:/run/systemd/system:/usr/local/lib/systemd/system:${systemd_system_unit_dir}:/usr/lib/systemd/system:/lib/systemd/system
+systemd_system_unit_path=${systemd_system_conf_dir}:/etc/systemd/system:/nix/var/nix/profiles/default/lib/systemd/system:/run/systemd/system:${systemdsystemunitdir}
 systemdsystemunitpath=${systemd_system_unit_path}
 
-systemd_user_unit_path=${systemd_user_conf_dir}:/etc/systemd/user:/run/systemd/user:/usr/local/lib/systemd/user:/usr/local/share/systemd/user:${systemd_user_unit_dir}:/usr/lib/systemd/user:/usr/share/systemd/user
+systemd_user_unit_path=${systemd_user_conf_dir}:/etc/systemd/user:/nix/var/nix/profiles/default/lib/systemd/user:/run/systemd/user:${systemduserunitdir}
+
 systemduserunitpath=${systemd_user_unit_path}
 
 systemd_system_generator_dir=${root_prefix}/lib/systemd/system-generators
-- 
2.30.1