-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Extend config.yaml to read locations where to search for commands #7967
Description
TLDR
config.yaml should be extended with a key that specifies the locations where to search for commands
Rationale
Currently every command in Spack must reside in the lib/spack/spack/cmd folder as a standalone module. This makes extending Spack with commands that are not covering mainstream use cases (like #5545, #6166 or #7899) quite hard.
There are, on one side, rightful concerns over adding commands on top of the ~60 existing ones - especially if they are not fitting everybody's needs. On the other side, this makes it difficult for people to publish, maintain or share their extensions, as they need to constantly rebase or merge multiple repositories.
What I propose here is to add in config.yaml a key where to read a list of locations to be searched for commands. This would allow to maintain Spack extensions in a separate repository (even within the Spack organization if it makes sense).
If there's consensus around this, I wouldn't mind working on a PR. In the meanwhile I'll be waiting for feedback.