11 May 2024 |
woobilicious | I personally pin my NixOS config with flakes, and then I can just issue: nix eval self\#nixosConfigurations.<hostname>.config.boot.kernelPackages.kernel.version | 06:48:58 |
15 May 2024 |
Mic92 | John Ericson: why do we actually put all libraries into rpath in the linker wrapper and not just the one that also are used by the -l flag? This is what guix is doing. | 14:36:43 |
Mic92 | Than we would not have to remove them in the fixup phase. | 14:37:02 |
John Ericson | Mic92: sounds like a mass rebuild that no one ever bothered with? :D | 14:37:28 |
John Ericson | we need to make an ELF extension such that we can have an optional path per DT_NEEDED | 14:37:43 |
John Ericson | (like absolute DT_NEEDED but not breaking LD_LIBRARY_PATH) | 14:37:55 |
Mic92 | We could still use rpath for now? No? | 14:38:20 |
Mic92 | DT_NEEDED sounds a bit like an optimization. | 14:38:31 |
Mic92 | I guess one reason might want to write the ld wrapper in something that is not shell for performance? | 14:39:24 |
Mic92 | In guix it is some guix code. | 14:39:35 |
John Ericson | yeah I am just venting a longer-term thing :)\ | 14:39:54 |
John Ericson | * yeah I am just venting a longer-term thing :) | 14:39:57 |
John Ericson | re no more O(n^2) | 14:40:01 |
Mic92 | Yeah. | 14:40:07 |
Mic92 | John Ericson: We got prior art on the absolute path thing: https://github.com/spack/spack/pull/27566/files | 14:59:31 |
John Ericson | oh cool! | 15:15:57 |
17 May 2024 |
| @elvishjerricco:matrix.org left the room. | 20:20:08 |
19 May 2024 |
lunarequest ⚡️ | I'm back with the building linux with clang and thinlto. I've come to the conclusion that it is not possible to enable thinlto within the current nix framework. Instead I need to use the manual config. I'm looking for some help with the following.
1. How do I set stdenv for linuxManual config.
2. With my current nixpkgs.overlay i get the error attribute extend is missing any help is appreciated
This is the overlay I have
```
nixpkgs.overlays = [
(self: super: {
luna_linux = let
baseKernel = pkgs.linux_latest;
in pkgs.linuxManualConfig {
inherit (baseKernel) src modDirVersion;
version = "${baseKernel.version}-luna";
configfile = ../../kernel/.config;
allowImportFromDerivation = true;
};
})
];
``` | 12:25:48 |
K900 | You can use pkgs.linuxManualConfig.override { stdenv = ... } I believe | 12:35:58 |
K900 | And "attribute extend is missing" is probably because you've enabled the read-only nixpkgs module | 12:36:10 |
lunarequest ⚡️ | How would I change that | 12:37:04 |
K900 | Disable that module | 12:37:18 |
lunarequest ⚡️ | So how would I then add my own kernel package? | 12:38:45 |
K900 | Either you remove the read-only nixpkgs module | 12:39:17 |
K900 | Or you add the overlay to the place where you're instantiating your nixpkgs | 12:39:26 |
lunarequest ⚡️ | I'm using a flake. I've not explicitly enabled a readonly nixpkgs | 12:40:20 |
K900 | Can you post your flake.nix then? | 12:40:42 |
lunarequest ⚡️ | https://github.com/Lunarequest/nixos-luna-config | 12:42:04 |
K900 | Hm, I don't see any obvious issues there | 12:43:17 |
K900 | Can you post a full trace? | 12:43:21 |