We're setting up spack on our machine, to be used by multiple people (some/most of which will not be in sudo), but all of us are new to spack. Spack is installed at root level so users cannot modify the installed software at will.
Part of the appeal of spack is that it allows to create environments. However, spack env create testenv
tries to create an environment within the root-level spack directory, and I can't find any option to create an environment at the user level. This makes it more or less useless for non-root end users, since we can't tell the admins to create an environment for them every time they need one.
What's the preferred solution here? Re-install spack for every user in addition to the central spack installation? Change the permissions of the var/spack/environments
directory? Or is there an option to change the target directory of the environment?
Addenda:
I later found that spack env create -d testenv
creates a new "anonymous" environment in ./testenv
; however, as far as I can tell, this does not allow the user to install their own software within this environment if the software is not already installed system-wide. I gather this might even be an intended limitation of spack?
To be perfectly clear, what I have in mind as the "desired setup" is the following: The system admins provide a central spack installation which provides most of the software the user will want. Then each user can create their own user-level environments, into which they load some of the centrally provided software, but into which they can also install software of their own liking which is not centrally installed. (The idea being to take workload off of the sys admins who wouldn't have to centrally install any ever-so-niche piece of software that only a single user needs.)