| 25 Nov 2025 |
Artturin | aarch64-linux is pretty well supported so I guess so | 18:51:17 |
Artturin | https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents | 18:51:24 |
Artturin | x86_64-linux and aarch64-linux stuff tested there | 18:51:36 |
Artturin | I cross compile to my raspis but when I've done a nix shell on them I haven't needed to compile packages | 18:52:15 |
Artturin | If you do hack something up then let us know, I'm interested | 18:53:04 |
eb | per nix-forcast, if I do emulation I get a 99.64% cache hit, but with cross I get a 63.74% hit rate. Interesting, and probably supports that setting up binfmt on this ubuntu machine is worth it | 18:53:25 |
eb | Interesting, I suppose it makes sense that a nix shell wouldn't need to compile - but I guess you still need to download to the store (since locally you have the crosscompiled version) | 18:54:47 |
Artturin | 69.87% of paths available (1746 out of 2499) | 18:54:52 |
Artturin | Hadn't used that before | 18:55:13 |
Artturin | cool | 18:55:16 |
eb |
I cross compile to my raspis
What configuration settings do you use here? I'm new to this one too, and I see I can choose (mainline | proprietary) kernel, (nixpkgs stable | nix-hardware | raspberry-pi-nix) for hardware support.
| 18:58:52 |
eb | This particular pi is a 4b and will be headless, so I don't need to have much desktopy stuff on it | 18:59:20 |
Artturin | The biggest obstacle to making it all automatic with nix-forecast and a script is nested attrs but just changing the top-level attrs will increase the cache hits by a lot | 18:59:45 |
Artturin | boot = {
supportedFilesystems = {
btrfs = lib.mkForce false;
cifs = lib.mkForce false;
f2fs = lib.mkForce false;
ntfs = lib.mkForce false;
xfs = lib.mkForce false;
zfs = lib.mkForce false;
};
# Make the kernel much lighter to build, otherwise needs 30G+ ram
kernelPatches = [
{
name = "disable-bpf";
patch = null;
extraConfig = ''
DEBUG_INFO_BTF n
CONFIG_DEBUG_INFO_BTF n
'';
}
];
initrd.allowMissingModules = true;
tmp.useTmpfs = true;
};
Didn't change the kernel
| 19:00:42 |
eb |
obstacle to making it all automatic with nix-forecast
I figured the biggest issue would be that it's not easy to map cached store paths back to attr / package names
| 19:01:01 |