-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
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: networking cleanup #11529
nixos: networking cleanup #11529
Conversation
By analyzing the blame information on this pull request, we identified @wkennington, @edolstra and @offlinehacker to be potential reviewers |
cc @nbp for module system questions |
Pinging everyone for the help. |
Maybe open a separate issue for the submodule warnings problem? At least it would be discoverable separately. |
Reopening for a rebased version. |
6759496
to
df89873
Compare
Pushing the current version maintained by SLNOS since #27688 now wants
to reimplement exactly the same thing.
The submodule bug still persists in the current nixos (this version has
an ugly workaround and no longer needs any help which didn't come), some
of the other changes of this branch were reimplemented in nixos in the
meantime.
|
Hm, is this superseded by #27688 for mainline NixOS? |
Yep. Closing. |
NixOS networking module is a mess. I've been trying to do something about it for a while, and I think I did simplify it somewhat with this patch set, but it has one problem: deprecating/renaming options in submodules doesn't work.
mkRemovedOptionModule
andmkRenamedOptionModule
generate a warning inside a submodule, but this warning never get's out to the top-level warnings.I tried to implement something that could possibly work, but historically all my attempts had failed. NixOS recently introduced
mkRemovedOptionModule
and friends, and I tried to use it, but it did not suffice too.I want users that define
subnetMask
to get errors, and to implement that behavior without top-level asserts, but all my attempts are either completely ignored in the process of evaluation because these errors don't get computed/propagated to top-level orsubnetMask
asserts produce errors even when it's not defined.Same problem with
*address
and*prefixLength
options.I actually have a continuation of this patch set that then breaks networking into a series of independent modules and adds new useful assertions, but I didn't merge it with the current master yet, and don't want to do it until this gets to work properly.