This patch refactors all files associated with flox environment activation into a single flox-activate package, and accordingly updates all internal references between these files to refer exclusively to the installed package path within the Nix store. This package is then installed into the environment to provide that top-level activate script, after which all further logic is specific to that one package. This opens the possibility of invoking newer versions of the flox-activate package with previously-rendered environments, allowing for improvements in the flox activation experience without requiring users to re-render their environments.
Note that this PR moves the scripts previously defined as constants in realise.cc to separate scripts that are now checked by shellcheck as part of the build. That said, I have disabled all shellcheck auditing in the process so that this patch can represent a faithful move of the scripts from one location to the other, and incorporates no other modifications.
A followup PR will enable shellcheck auditing for all scripts and introduce the associated fixes to silence the various warnings and errors.
Proposed Changes
This patch refactors all files associated with flox environment activation into a single
flox-activate
package, and accordingly updates all internal references between these files to refer exclusively to the installed package path within the Nix store. This package is then installed into the environment to provide that top-levelactivate
script, after which all further logic is specific to that one package. This opens the possibility of invoking newer versions of the flox-activate package with previously-rendered environments, allowing for improvements in the flox activation experience without requiring users to re-render their environments.Note that this PR moves the scripts previously defined as constants in
realise.cc
to separate scripts that are now checked byshellcheck
as part of the build. That said, I have disabled all shellcheck auditing in the process so that this patch can represent a faithful move of the scripts from one location to the other, and incorporates no other modifications.A followup PR will enable shellcheck auditing for all scripts and introduce the associated fixes to silence the various warnings and errors.
Release Notes
N/A