@ -226,7 +226,7 @@ in
] } "
'' ;
###### setcap activation script
###### wrappers activation script
system . activationScripts . wrappers =
lib . stringAfter [ " s p e c i a l f s " " u s e r s " ]
''
@ -257,5 +257,33 @@ in
ln - - symbolic $ wrapperDir $ { wrapperDir }
fi
'' ;
###### wrappers consistency checks
system . extraDependencies = lib . singleton ( pkgs . runCommandLocal
" e n s u r e - a l l - w r a p p e r s - p a t h s - e x i s t " { }
''
# make sure we produce output
mkdir - p $ out
echo - n " C h e c k i n g t h a t N i x s t o r e p a t h s o f a l l w r a p p e d p r o g r a m s e x i s t . . . "
declare - A wrappers
$ { lib . concatStringsSep " \n " ( lib . mapAttrsToList ( n : v :
" w r a p p e r s [ ' ${ n } ' ] = ' ${ v . source } ' " ) wrappers ) }
for name in " ' ' ${ ! wrappers [ @ ] } " ; do
path = " ' ' ${ wrappers [ $ name ] } "
if [ [ " $ p a t h " = ~ /nix/store ] ] && [ ! - e " $ p a t h " ] ; then
test - t 1 && echo - ne ' \ 033 [ 1 ; 3 1 m'
echo " F A I L "
echo " T h e p a t h $ p a t h d o e s n o t e x i s t ! "
echo ' Please , check the value of ` security . wrappers . " ' $ n a m e ' " . source ` . '
test - t 1 && echo - ne ' \ 033 [ 0 m'
exit 1
fi
done
echo " O K "
'' ) ;
} ;
}