@ -125,7 +125,7 @@ let
} ;
initrdBinEnv = pkgs . buildEnv {
name = " i n i t r d - e m e r g e n c y - e n v " ;
name = " i n i t r d - b i n - e n v " ;
paths = map getBin cfg . initrdBin ;
pathsToLink = [ " / b i n " " / s b i n " ] ;
postBuild = concatStringsSep " \n " ( mapAttrsToList ( n : v : " l n - s ' ${ v } ' $ o u t / b i n / ' ${ n } ' " ) cfg . extraBin ) ;
@ -355,8 +355,9 @@ in {
boot . initrd . availableKernelModules = [ " a u t o f s 4 " ] ; # systemd needs this for some features
boot . initrd . systemd = {
initrdBin = [ pkgs . bash pkgs . coreutils pkgs . kmod cfg . package ] ++ config . system . fsPackages ;
initrdBin = [ pkgs . bash pkgs . coreutils cfg . package . kmod cfg . package ] ++ config . system . fsPackages ;
extraBin = {
less = " ${ pkgs . less } / b i n / l e s s " ;
mount = " ${ cfg . package . util-linux } / b i n / m o u n t " ;
umount = " ${ cfg . package . util-linux } / b i n / u m o u n t " ;
} ;
@ -367,7 +368,7 @@ in {
" / e t c / s y s t e m d / s y s t e m . c o n f " . text = ''
[ Manager ]
DefaultEnvironment = PATH = /bin : /sbin
DefaultEnvironment = PATH = /bin : /sbin $ { optionalString ( isBool cfg . emergencyAccess && cfg . emergencyAccess ) " S Y S T E M D _ S U L O G I N _ F O R C E = 1 " }
'' ;
" / e t c / f s t a b " . source = fstab ;
@ -394,7 +395,9 @@ in {
" ${ cfg . package } / l i b / s y s t e m d / s y s t e m d - j o u r n a l d "
" ${ cfg . package } / l i b / s y s t e m d / s y s t e m d - m a k e f s "
" ${ cfg . package } / l i b / s y s t e m d / s y s t e m d - m o d u l e s - l o a d "
" ${ cfg . package } / l i b / s y s t e m d / s y s t e m d - r a n d o m - s e e d "
" ${ cfg . package } / l i b / s y s t e m d / s y s t e m d - r e m o u n t - f s "
" ${ cfg . package } / l i b / s y s t e m d / s y s t e m d - s h u t d o w n "
" ${ cfg . package } / l i b / s y s t e m d / s y s t e m d - s u l o g i n - s h e l l "
" ${ cfg . package } / l i b / s y s t e m d / s y s t e m d - s y s c t l "
" ${ cfg . package } / l i b / s y s t e m d / s y s t e m d - u d e v d "
@ -410,7 +413,7 @@ in {
" ${ cfg . package . util-linux } / b i n / s u l o g i n "
# so NSS can look up usernames
" ${ pkgs . glibc } / l i b / l i b n s s _ f i l e s . s o "
" ${ pkgs . glibc } / l i b / l i b n s s _ f i l e s . s o . 2 "
] ++ jobScripts ;
targets . initrd . aliases = [ " d e f a u l t . t a r g e t " ] ;
@ -428,9 +431,6 @@ in {
( v : let n = escapeSystemdPath v . where ;
in nameValuePair " ${ n } . a u t o m o u n t " ( automountToUnit n v ) ) cfg . automounts ) ;
services . emergency = mkIf ( isBool cfg . emergencyAccess && cfg . emergencyAccess ) {
environment . SYSTEMD_SULOGIN_FORCE = " 1 " ;
} ;
# The unit in /run/systemd/generator shadows the unit in
# /etc/systemd/system, but will still apply drop-ins from
# /etc/systemd/system/foo.service.d/