system-path: Remove defaultPackages option#263295
Conversation
nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
Outdated
Show resolved
Hide resolved
|
@ofborg test installer installer-systemd-stage-1 disable-installer-tools |
roberth
left a comment
There was a problem hiding this comment.
You'd be responsible for others' data loss because their backup script stopped working, as rsync disappeared.
We can't silently remove packages, and I don't think doing it loudly (whatever that is) is worth the annoyance for something as minor as this.
defaultPackages' purpose iirc is exactly to be able to opt out of these packages without breaking existing configurations.
|
Fyi, a possible replacement for It also allows users to remove packages, without breaking existing configs. |
Assuming they don't have any notification in place, and that nothing else installs
I wouldn't consider wasting however many cycles and bytes are needed for these packages millions or billions of times over "minor".
The "opt out" is the problem here. I haven't seen any reason that any of these should be default, any more than Firefox, netcat, jq, or any of the thousands of available programs. And it's not exactly obvious to a beginner why this is necessary or how to do it. |
That would be cool, but it's very far from ready, and we should still address the issue of installing packages which usually don't need to be there. |
f26ab2e to
c8e0076
Compare
|
I agree that it's bad, but in my opinion the cure is worse. At the very least, you should add a proper release note that describes what actually happens to people's configs. Maybe I'm wrong. Maybe others agree it's good enough? Feel free to discuss with others and reach a decision. EDIT: ping me if you need me. |
|
As I mentioned here, the original idea behind |
|
Backwards compatibility is important but I don't want this to become another is perl of all thing an integral part of nixos? I don't think such minor breaking changes are bad because they are VERY TRIVIAL to fix(literally move 3 lines of code) unlike some other changes that make you reimplement what you already did again but in a completely different way that you have to learn.
won't happen. |
To be clear, that's not really the main scenario to care about when it comes to defaults, they're called default for a reason. The scenario to care about is those who didn't put rsync into their configs because it was already included in the base system (and who aren't using the |
If we really care a lot, then this change can be locked behind a state version, because changing it means you give consent to breaking changes. And if we don't want to bloat NixOS code with state version checks that keep legacy code, then this change can be just another major release breaking change, people that upgrade from one major NixOS version to another also give their consent to breaking changes and should read release notes. Although having perl of all things installed by default is not something that needs to be removed ASAP or else the user experience is ruined, I still don't want to see it be installed by default in 5 years despite it not being a dependency. |
c8e0076 to
93e7c46
Compare
|
Can you give this one a rebase? I think we should finally remove this option. |
a21b746 to
3e89c24
Compare
Done! It was mentioned a few more places, so I've cleaned those out as well. |
None of these tools are necessary for a minimal system. Closes NixOS#263289.
3e89c24 to
a94b7d2
Compare
|
Not sure why this is - if anything, I would expect the Docker image to contain even less after this change. |
Description of changes
None of these tools are necessary for a minimal system.
Closes #263289.
@ofborg test disable-installer-tools
Things done
nix.conf? (See Nix manual)sandbox = relaxedsandbox = truenix-build --attr nixosTests.disable-installer-toolsnix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)AddedModified a release notes entry if the change is significant