-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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
nixos/top-level: attrs -> attrsOf for system.build #80162
base: master
Are you sure you want to change the base?
Conversation
system.build must be list of derivations, but now it also contains some strings and complex fileSystems object. Here I extract this complex object into a separate option. This is internal option, hence no `mkRenamedOptionModule`. But even if I wanted, this module would result into infinite recursion.
cc @infinisil @volth |
thanks ofBorg, indeed I had disabled manual, so I didn't notice this issue. But I don't know where to put manual, so I give up to unspecified type. |
Does |
@infinisil interesting, indeed |
ac4c21c
to
c7f6f37
Compare
c7f6f37
to
56ff61f
Compare
@GrahamcOfBorg eval |
@infinisil so Maybe it's possible to fix modules.nix somehow, but for now much thanks @GrahamcOfBorg for catching this. |
Wait what was the issue exactly? How can I reproduce? |
@infinisil just change to
|
I tracked down the infinite recursion with {
boot.loader.grub.device = "nodev";
fileSystems."/".device = "test";
services.nixosManual.showManual = true;
} The recursion is coming from:
So, there's multiple ways of solving this, each breaking this loop at a point:
So I think the break at 4. is the most preferable here, so I suggest implementing that over the current break at 6. |
Hello, I'm a bot and I thank you in the name of the community for your contributions. Nixpkgs is a busy repository, and unfortunately sometimes PRs get left behind for too long. Nevertheless, we'd like to help committers reach the PRs that are still important. This PR has had no activity for 180 days, and so I marked it as stale, but you can rest assured it will never be closed by a non-human. If this is still important to you and you'd like to remove the stale label, we ask that you leave a comment. Your comment can be as simple as "still important to me". But there's a bit more you can do: If you received an approval by an unprivileged maintainer and you are just waiting for a merge, you can @ mention someone with merge permissions and ask them to help. You might be able to find someone relevant by using Git blame on the relevant files, or via GitHub's web interface. You can see if someone's a member of the nixpkgs-committers team, by hovering with the mouse over their username on the web interface, or by searching them directly on the list. If your PR wasn't reviewed at all, it might help to find someone who's perhaps a user of the package or module you are changing, or alternatively, ask once more for a review by the maintainer of the package/module this is about. If you don't know any, you can use Git blame on the relevant files, or GitHub's web interface to find someone who touched the relevant files in the past. If your PR has had reviews and nevertheless got stale, make sure you've responded to all of the reviewer's requests / questions. Usually when PR authors show responsibility and dedication, reviewers (privileged or not) show dedication as well. If you've pushed a change, it's possible the reviewer wasn't notified about your push via email, so you can always officially request them for a review, or just @ mention them and say you've addressed their comments. Lastly, you can always ask for help at our Discourse Forum, or more specifically, at this thread or at #nixos' IRC channel. |
Fixes #62856
But to make it work I've chosen to extract
system.build.fileSystems
into separate option. Let me know if makingwith types; lazyAttrsOf unspecified
is more favorable.EDIT: this is now changed to
attrsOf unspecified
, due to manual present insystem.build
.