Skip to content
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

Lean down CLI for remote component repositories #2993

Open
AlexVCaron opened this issue May 21, 2024 · 4 comments
Open

Lean down CLI for remote component repositories #2993

AlexVCaron opened this issue May 21, 2024 · 4 comments
Labels
command line tools Anything to do with the cli interfaces

Comments

@AlexVCaron
Copy link

AlexVCaron commented May 21, 2024

Description of feature

When using a remote component repository, most modules and subworkflows commands need to be augmented with --git-remote or -g and if needed the --branch. It ok when installing multiple modules or subworkflows back-to-back, the command line still in history.

In my lab, however it has become increasingly heavy, since most of our modules and subworkflows live outside of nf-core repositories for now and the creation of a new component requires to call create, test and lint commands a lot. It would be nice to have a programmatic way to configure those remotes, may it be in nf-core configuration directly, or through the CLI environment.

I'm not sure the best way to do this, environment variables seems easy to do, but XDG_CONFIG_HOME is maybe a more standard way to do it. In any case, let's talk about it !

@mashehu
Copy link
Contributor

mashehu commented May 21, 2024

You can already set any cli parameter as a environmental variable with a NFCORE_ prefix (using click's auto_envvar_prefix)

@mashehu mashehu added command line tools Anything to do with the cli interfaces and removed enhancement labels May 21, 2024
@AlexVCaron
Copy link
Author

That's true, I forgot about that feature !

@ewels
Copy link
Member

ewels commented May 22, 2024

We are also already using XDG_CONFIG_HOME for some stuff, but it's mostly for storing cache objects in and stuff if I remember correctly.

@awgymer
Copy link
Contributor

awgymer commented Jun 12, 2024

I've thought about this myself for the same reason as the OP. I would like to implement a "config" that would allow the user to define remotes and then just choose the remote via --remote <defined_name> as well as setting a non-nf-core default remote. However when I started scoping it out the way config is loaded across tools was too complicated to implement this easily/quickly.

Maybe at the next hackathon I will try again 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
command line tools Anything to do with the cli interfaces
Projects
Status: No status
Development

No branches or pull requests

4 participants