create setup hook

This commit is contained in:
atagen 2025-11-18 13:54:09 +11:00
parent 40c4e7fe5b
commit e6f9574bb8
3 changed files with 29 additions and 10 deletions

View file

@ -32,16 +32,16 @@ stdenv.mkDerivation {
++ packages;
buildCommand = ''
# unset all nix-related variables
# unset all nix-related and generic session variables
unset SHELL configureFlags mesonFlags shell depsHostHost STRINGS depsTargetTarget stdenv \
builder PWD SOURCE_DATE_EPOCH enableParallelInstalling CXX TEMPDIR system HOST_PATH \
enableParallelBuilding doInstallCheck buildCommandPath enableParallelChecking LS_COLORS \
depsTargetTargetPropagated cmakeFlakes outputs TMPDIR LD READELF doCheck \
depsBuildBuild SIZE propagatedNativeBuildInputs strictDeps AR AS TEMP SHLVL NM \
patches passAsFile buildInputs SSL_CERT_FILE depsBuildTarget OBJCOPY STRIP TMP OBJDUMP propagatedBuildInputs \
CC __ETC_PROFILE_SOURCED depsBuildTargetPropagated depsBuildBuildPropagated CONFIG_SHELL __structuredAttrs \
RANLIB nativeBuildInputs name depsHostHostPropagated TEST TZ HOME GZIP_NO_TIMESTAMPS \
cmakeFlags TERM buildCommand preferLocalBuild _
builder PWD SOURCE_DATE_EPOCH enableParallelInstalling CXX TEMPDIR system HOST_PATH \
enableParallelBuilding doInstallCheck buildCommandPath enableParallelChecking LS_COLORS \
depsTargetTargetPropagated cmakeFlakes outputs TMPDIR LD READELF doCheck \
depsBuildBuild SIZE propagatedNativeBuildInputs strictDeps AR AS TEMP SHLVL NM \
patches passAsFile buildInputs SSL_CERT_FILE depsBuildTarget OBJCOPY STRIP TMP OBJDUMP propagatedBuildInputs \
CC __ETC_PROFILE_SOURCED depsBuildTargetPropagated depsBuildBuildPropagated CONFIG_SHELL __structuredAttrs \
RANLIB nativeBuildInputs name depsHostHostPropagated TEST TZ HOME GZIP_NO_TIMESTAMPS \
cmakeFlags TERM buildCommand preferLocalBuild
unset "''${!NIX_@}"
# create export commands for the rest
envs="$(env | sed 's/^/export /' -)"
@ -49,7 +49,7 @@ stdenv.mkDerivation {
printf '${script}' > $out
echo "$envs" >> $out
echo 'exec $SHELL' >> $out
# required here
# only required here
sed -i 's/^export out=.*$//' $out
# inserted by env cmd
sed -i 's/^export _=.*$//' $out