Change:
}; config = mkIf cfg.enable { <del> environment.etc."iproute2/bpf_pinning" = { mode = "0644"; text = fileContents "${pkgs.iproute2}/etc/iproute2/bpf_pinning"; }; environment.etc."iproute2/ematch_map"  = { mode = "0644"; text = fileContents "${pkgs.iproute2}/etc/iproute2/ematch_map";  }; environment.etc."iproute2/group"       = { mode = "0644"; text = fileContents "${pkgs.iproute2}/etc/iproute2/group";       }; environment.etc."iproute2/nl_protos"   = { mode = "0644"; text = fileContents "${pkgs.iproute2}/etc/iproute2/nl_protos";   }; environment.etc."iproute2/rt_dsfield"  = { mode = "0644"; text = fileContents "${pkgs.iproute2}/etc/iproute2/rt_dsfield";  }; environment.etc."iproute2/rt_protos"   = { mode = "0644"; text = fileContents "${pkgs.iproute2}/etc/iproute2/rt_protos";   }; environment.etc."iproute2/rt_realms"   = { mode = "0644"; text = fileContents "${pkgs.iproute2}/etc/iproute2/rt_realms";   }; environment.etc."iproute2/rt_scopes"   = { mode = "0644"; text = fileContents "${pkgs.iproute2}/etc/iproute2/rt_scopes";   }; environment.etc."iproute2/rt_tables"   = { mode = "0644"; text = (fileContents "${pkgs.iproute2}/etc/iproute2/rt_tables") + (optionalString (cfg.rttablesExtraConfig != "") "nn${cfg.rttablesExtraConfig}"); }; </del> <ins> environment.etc."iproute2/rt_tables" = { mode = "0644"; text = (fileContents "${pkgs.iproute2}/lib/iproute2/rt_tables") + (optionalString (cfg.rttablesExtraConfig != "") "nn${cfg.rttablesExtraConfig}"); }; </ins> }; }

Discussion:
I was just trying to upgrade my NixOS installation to current nixos-unstable (2023-10-24) but the build fails with the following error: Seems like iproute2's is missing? I'm not sure what other data might be helpful. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
Same for me.
The fix is in
how did you fix this?
It looks like it'll probably be in unstable soon if you can wait. It doesn't seem to have worked or I have some other bug, but you may have luck with what I tried doing: nix nixpkgs.overlays = [ (final: prev: { iproute2 = ${}.iproute2; }) ];
I had to disable the Mullvad module by commenting out Next, I updated to the latest nixpkgs and it worked with no errors. Then, I un-commented Mullvad module to activate it again. Then, I rebuilt switch and the error returned. Thus, it seems the Mullvad module needs to be updated.
I think that the mullvad module , so is it perhaps that without mullvad, you're not requiring and so there's no problem? ie. if is broken for you, then makes that breakage obvious, but isn't necessarily the cause.
thanks for thoughts on this... I don't have module explicitly in my . Is there something I am missing regarding the logic? Should I explicitly put the in my to force the update?
Yes, it is not Mullvad per say. It is the broken iproute2 module (). I will wait until it is merged into the main unstable branch for the fix.
this link might help you:
I feel like every time I run something upstream breaks.
The issue tracker is the wrong place for useless comments like that.
add input #### taking advantage of lexical scoping to get at flake inputs from overlay (not sure how to do this without) Thanks to he brought this issue to my attention
thanks for the fix, keep up the good work! :+1:
Same here, i figured it out by commeting out parts of my config until it started to work again lmao, is there a smarter way to do this?

The rebuild trace doesn't even mention mullvad
You should presumably prefer to overlay the merged fix PR , not the unmerged , no?
The fix PR has hit , and works great on my machine, for those who were waiting.
Yeah, I was just fixing the typo