-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Rename 'nix shell' #4715
Comments
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/how-to-invoke-nix-shell-p-for-packages-not-in-nixpkgs/12475/6 |
nix inate nixpkgs#git but then again, I'm biased... and a robot from the future. |
I actually quite like I like push/pop because it makes it clearer you can 'nest' shells, but it's not so clear "what is pushed on what" and where that change is 'visible', so I'm not sure it's a net improvement.
|
Wasn't this already replaced with |
An idea: adding another command level to disambiguate: I used |
No,
Maybe |
I recall joking (to myself? in public? I'd have to go look...) that |
Either A custom suggestion of my own would be |
If spelt with two n's, It could imply that everything is built from a shell.
|
|
On Nix 2.3.10 without flakes |
You'd be surprised. According to Wiktionary, Merriam-Webster and some other dictionaries, it can mean
It might be better to choose something with connotations where we know (most of) the connotations in advance. |
Suggestion:
|
One good thing about |
drive-by-comment: what about |
The only variant of all of these that properly convey "sub-shell", to me, is (to me, ) I actually like |
Another way to look at this is that the command creates a temporary profile. If that profile was recorded and exposed as an environment variable, it would then become possible to play with it.
Or it could be called |
But note that the latter does not spawn a shell, so I sometimes have to extend it to |
TL;DR: I think a review of the existing search results (in a few engines) should be a heavily-weighted factor here.
This reminds me of something I've thought for a while. One contributor to the difficulty of finding your nix-legs is that some ecosystem terms are hard to isolate in search results. I think the main drivers are: overloaded uses of terms/concepts/commands within the ecosystem; unrelated When I first pulled my head out of the sand to figure out the ~vision of the new subcommands, it struck me that re-using I don't think The affordances split out into a dedicated command named I think it makes sense to review/reflect on results for any serious candidates here across a few of the most-relevant search engines (general, source code, forums/social, Q&A, ...) before making a final decision. (I'm not really sure when; I assume this can't be meaningfully automated and would need to be somewhat manual/holistic; it's probably best to save the effort for serious candidates?) |
If we're not trying to give this a silly name for fun, then I totally agree. I like |
I agree with sticking to
I don't think this is that confusing. Users who skim through a They would look at
This was a problem in |
This is obviously true in a technical sense, but I think it's a trap to frame this as a "clean" break when many search engines will yield identical results for "nix shell" and "nix-shell". Until "nix shell" results entirely displace "nix-shell" ones, nix newbies will have to understand enough about this distinction/history to understand whether they're reading about the right thing or not. It will only be a clean break for insiders. |
That’s true. On the other hand, the cost reduces over time, as more and more results mentioning the new command gain precedence. Or are you suggesting we rename twice, using a placeholder for a while, then switch to |
I'm just suggesting ~searchability (across whatever code+general search engines we care about) deserves to be high enough up the criteria list (especially given Nix's existing headwinds here) that the final decision is clear-eyed about the likely (short|long)-term impact on users trying to get their arms around Nix. |
Right, I understand your point. I still think we could reasonably make the choice to go for Of the other terms, |
Throwing |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/help-with-python-flake-build-from-local-source/30140/8 |
nix inject |
I think next time if there's an actual plan to act on a proposal like this, it's worth making a poll with a fixed deadline and an option "leave it as-is", otherwise while entertaining, this bikesheddingfest will drag on for years and nothing can possibly come out of it. |
I think It reflects nix' behavior pretty intuitively: You just get a shell |
I few thoughts about **sandbox**.Nix has been always trying to be transparent, when it comes to dev environments, blurring the boundaries between package environment and user/outer environment to a reasonable flexible level. So that package is able to build inside, while user tools are still available (in contrast to containers). And only truly sandboxing during the nix build.But I would like to see what a
Agree. |
drive-by suggestion: It seems the main issue now isn't so much about If I were a new user, maybe it's worthwhile to point out prior art: the meson build system has a |
|
I use |
|
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/2024-04-10-nix-team-meeting-138/43585/1 |
The
nix shell
command replacesnix-shell -p
to provide a shell in which the specified packages are available. However, the namenix shell
is confusing since there are also development shells (created bynix develop
), which this isn't; and the oldnix-shell
by default does start a development shell. So we should come up with a better name. Some suggestions have been made:nix load nixpkgs#git
- "load" a package into the current shell. This one mainly makes sense in the context of updating the current shell, rather than starting a subshell.nix push nixpkgs#git
/nix pop
- update the current shell to add a package to the environment (similar topushd
/popd
)nix use nixpkgs#git
- "use" is probably too ambiguous though.nix add nixpkgs#git
- probably sounds too permanent.nix bonk nixpkgs#git
- random name with no connotations that forces people to read the manpage.The text was updated successfully, but these errors were encountered: