-
Notifications
You must be signed in to change notification settings - Fork 375
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
gno env
(GNOROOT, GNOPATH)
#1217
Comments
What's the purpose of GNOPATH? It doesn't exist and since we already have gno.mod, I don't see much of a point. Note that we currently have GNOHOME, but it serves a slightly different purpose (and is related to gnokey instead of just gno) |
We require a storage location for New proposal:
I prefer using Both variables are important for proper configuration, but manual checkout should not be mandatory for either path. I will update the top-level body to reflect the improved proposal if you agree. |
FYI, during the discussion regarding #1201, we explored the potential of eliminating those two variables altogether. We discussed a stricter alternative, which is opaque to environment modification and therefore more consistent: to rely on Currently, we have valid arguments (IMO) to support their retention:
|
The main advantage of |
Note: The proposal has been discussed in the comments below. The body will be updated with the final decision.
Let's enhance our command-line interface by introducing a new subcommand:
gno env
. This subcommand should initially support at least two environment variables:GNOROOT
andGNOPATH
.Our primary target is a production environment where
GNOROOT
is set to/usr/local/gno
andGNOPATH
to$HOME/gno
. However, we should also allow for flexibility in changing this default behavior, particularly when working with a manually cloned repository.As a next step, we could consider leveraging
go build -tags
to automatically setGNOROOT
to the current cloned repository when using Makefile commands. This would provide a more seamless experience for developers and contribute to a more robust and flexible toolset.I suggest including the
gno env
command and importable package ingno.land/{pkg,cmd}
. Moreover, the roles ofgnovm/
andtm2/
should be modified to receive the path during initialization instead of guessing it. This way, they won't rely ongno.land
and will be independent of the environment, aligning with the principles of minimalism and simplicity. In short, apart from the unit tests, we should ensure thattm2
andgnovm
do not attempt to guess paths.The text was updated successfully, but these errors were encountered: