| 29 Jan 2025 |
laurynasp | aha, yet another thing that I forgot to document in my setup - ta | 14:04:33 |
kdn | right... I forgot that I wanted to set up mac mini for that... | 14:15:08 |
kdn | would cross-compilation from x86 to rpi4 be significantly longer (I've quite beefy desktop), do you have any materials on how to do that? | 14:16:07 |
@hexa:lossy.network | I haven't | 14:16:56 |
laurynasp | Do you mean "x86_64-linux" or 32-bit system?
My main machine is "x86_64-linux", and on this machine I had add boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; to the config in order to be able to cross-compile for raspberry pi.
In terms of time, first time might take a while (depending on your config could be 10min or whatever), but redeploymetns usually take seconds to a minute, as long as changes don't require the whole univers to be rebuilt.
If it interests you, let me know, and I can share more details
| 15:15:06 |
@hexa:lossy.network | that is not cross, that is emulation | 15:15:27 |
laurynasp | oh... okay | 15:15:42 |
laurynasp | whats the difference? | 15:15:53 |
@hexa:lossy.network | emulation passes native instructions through qemu | 15:16:14 |
@hexa:lossy.network | cross instructs the compiler to compile for another target | 15:16:25 |
@hexa:lossy.network | https://wiki.nixos.org/wiki/Cross_Compiling | 15:16:39 |
laurynasp | I mean, ultimately that does create binaries locally, and once they are copied to pi, the pi can run | 15:16:43 |
@hexa:lossy.network | setting local and cross systems is the way for that | 15:16:52 |
@hexa:lossy.network | and it is much, much faster than emulation | 15:17:03 |
laurynasp | So it means, that the end results (i.e. binaries) are the same, but the whole process is faster compared to emulation.
Or does it mean that the actual binaries produces via emulation would run slower on pi, because those binaries are not as efficient? | 15:19:24 |
mjm | The former | 15:20:01 |
@hexa:lossy.network | they are not the same derivation, so you can't mix and match AIUI | 15:23:04 |
@hexa:lossy.network | but the result of both are native to the target platform | 15:23:14 |
laurynasp | cool, I will put corss-compilation on my to do list, the faster and the cleaner the process, the better. So far, though, the time that it takes to redeploy new system to pi using nixos-rebuild --target-host user@$NIXOS_INSTALL_TARGET_IP switch --flake .#ha-rpi --use-remote-sudo hasn't been a pain. | 15:24:08 |
dotlambda | In reply to @hexa:lossy.network and it is much, much faster than emulation I think that speed difference is negated by the fact that there aren't as many cross compiled packages in the cache | 17:11:26 |
dotlambda | In reply to @robert:funklause.de I've decided against blueprints written in Nix for now: https://github.com/NixOS/nixpkgs/pull/377688 Should I rather turn this into a more generic option called e.g. extraConfigFiles that allows adding files anywhere below configDir? | 17:12:44 |
| 30 Jan 2025 |
| Kira joined the room. | 04:26:07 |
K900 | OK what the hell | 15:28:03 |
K900 | My thing is not detecting automations | 15:28:12 |
K900 | Like, at all | 15:28:14 |
K900 | I can make one through the UI, it shows up in annotations.yaml and then it's just not listed | 15:28:26 |
K900 | * I can make one through the UI, it shows up in automations.yaml and then it's just not listed | 15:28:30 |
@hexa:lossy.network | my dude | 15:29:05 |
@hexa:lossy.network | https://wiki.nixos.org/wiki/Home_Assistant#Automations,_Scenes,_and_Scripts_from_the_UI | 15:29:19 |
@hexa:lossy.network | check this link | 15:29:21 |