I’m gonna be honest, I use NixOS, but the docs fucking suck, and a number of things are just broken in nixpkgs. For instance, I recently discovered the structuredExtraConfig option for patching the kernel straight up does not work. This means you cannot unset any kernel options, which means some kernel patches won’t work unless you manually supply the entire kernel config.
EDIT: what’s even more annoying about it not working is that it fails to apply silently. In other words, your kernel tries to compile and then an hour later it fails because your config changes weren’t applied.
An hour? Are you on a pentium4? I’m building everything from source, daily, multiple times and the longest it takes is usually 1.5hours for a complete build of Gnome, Firefox, Nvidia+Kernel. And that’s only if I don’t update for like a month. But just a kernel build, that should only take a min or two.
I’m building multiple patchsets on a laptop. How tf do you expect millions of lines of even somewhat optimized code to compile in a minute or two? The configuration by itself wastes like half of that, not to mention nix taking 2 minutes to evaluate because specializations are slow af. It in fact takes more like 2-3 hours for them to finish.
For instance, I recently discovered the structuredExtraConfig option for patching the kernel straight up does not work. This means you cannot unset any kernel options
From reading, I thought this option was for adding options, not removing them. Sure, you might be able to set options to “no”, but I don’t think this will override the defaults…
You’re supposed to be able to use lib.kernel.unset to unset them. In any case, that’s just one problem. The main issue is the entire option is ignored because of a typo in nixpkgs.
I’m gonna be honest, I use NixOS, but the docs fucking suck, and a number of things are just broken in nixpkgs. For instance, I recently discovered the
structuredExtraConfig
option for patching the kernel straight up does not work. This means you cannot unset any kernel options, which means some kernel patches won’t work unless you manually supply the entire kernel config.EDIT: what’s even more annoying about it not working is that it fails to apply silently. In other words, your kernel tries to compile and then an hour later it fails because your config changes weren’t applied.
An hour? Are you on a pentium4? I’m building everything from source, daily, multiple times and the longest it takes is usually 1.5hours for a complete build of Gnome, Firefox, Nvidia+Kernel. And that’s only if I don’t update for like a month. But just a kernel build, that should only take a min or two.
I’m building multiple patchsets on a laptop. How tf do you expect millions of lines of even somewhat optimized code to compile in a minute or two? The configuration by itself wastes like half of that, not to mention nix taking 2 minutes to evaluate because specializations are slow af. It in fact takes more like 2-3 hours for them to finish.
From reading, I thought this option was for adding options, not removing them. Sure, you might be able to set options to “no”, but I don’t think this will override the defaults…
You’re supposed to be able to use
lib.kernel.unset
to unset them. In any case, that’s just one problem. The main issue is the entire option is ignored because of a typo in nixpkgs.Would you mind opening a PR to fix that typo? Would be useful for others as well!
I’m planning to, I’m waiting for the kernel to finish building rn lol
EDIT: PR got merged BTW (https://github.com/NixOS/nixpkgs/pull/431115).
Thank you for your work!
I would not have liked encountering this bug in the wild.
lol
Haha, perfect 😄
I see, thanks