-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to install? #4
Comments
I've been managing our spack-configs in a repo for a while, and I clone them into the same root as spack (e.g. ~/spack-etc), and symlink the yaml files into ~/spack/etc/spack/. Maybe some automated setup of symlinks could work with a command like, like |
I just thought of another way to do this. We could make a $ git clone https://github.com/spack-configs/ANL-LCRC ~/.spack This would also allow us to give different permissions for each organization, so ANL-LCRC could manage their own config files and anyone could download them to their own personal user account. This would work with the current infrastructure, without having to add a |
GNU stow is my go to for symlinking files in that manner and works as is with the current repository. For example to install ANL-LCRC: $ cd
## Clone into hidden directory to not pollute the home directory.
$ git clone https://github.com/spack/spack-configs .spack-configs
$ cd .spack-configs/ANL/
$ mkdir ~/.spack/
$ stow --target=$HOME/.spack LCRC/
$ cd
$ tree -F .spack/
.spack/
├── config.yaml -> ../.spack-configs/ANL/LCRC/config.yaml
├── linux -> ../.spack-configs/ANL/LCRC/linux/
├── modules.yaml -> ../.spack-configs/ANL/LCRC/modules.yaml
├── packages.yaml -> ../.spack-configs/ANL/LCRC/packages.yaml
├── scripts -> ../.spack-configs/ANL/LCRC/scripts/
└── stacks -> ../.spack-configs/ANL/LCRC/stacks/
3 directories, 3 files |
Just throwing an idea in. Spack has since a while an experimental support for extensions and what I was thinking is that this issue fits nicely with that. What do you think of using an extension to achieve the goal in the description? What I'd eventually like to do is to be able to setup the configurations stored here with a single command: $ spack hpc-configuration ANL/LCRC If we extend tooling support for extensions (I'll try to propose that asap) cloning and setting up Spack at a known site could be as easy as: $ git clone https://github.com/spack/spack
$ bin/spack extensions get https://github.com/spack/spack-hpc-configurations
$ spack hpc-configuration ANL/LCRC Does that seem useful? @tgamblin |
This repo could really use a systematic organizational structure and method of installing configuration files.
For example, let's say I'm a new user of ANL LCRC (Bebop) and I want to get started with Spack. What I would like to be able to do is run something like:
$ git clone https://github.com/spack/spack-configs/ANL/LCRC ~/.spack
and be ready to go. Git has a "sparse checkout" feature that does something like this, but I'm not sure if that lets me make changes and contribute them back to this repo. Perhaps submodules are needed?
The text was updated successfully, but these errors were encountered: