You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"NixOS" proper won't see support for the Raspberry Pi 5.
Just like all other ARM platforms, NixOS support depends on the platform's support in upstream mainline projects.
We will not repeat the mistake we did with the Raspberry Pi 4 and adding bespoke support for a proprietary ecosystem. It is too much work to support for the resources available to NixOS.
Note that this reply applies to any $BOARD, and not limited to ARM things.
So the roadmap to "NixOS booting trivially on Raspberry Pi 5" is:
upstream support in U-Boot
upstream support in Linux
Then we can add its U-Boot build to the token pre-baked firmware partition (assuming we still ship it by then) and it should work [just as well as mainline supports it].
An additional side-note: With the super-powers conferred to the end-users of NixOS, nothing stops someone from providing useful configurations, overlays, etc to make it work in the meantime as a workaround. Though as implied, it would be user-supported.
Reacted by j-k, Yuchen He, Calum MacRae, Karolis Stasaitis, Kasper Kondzielski, ErrorNoInternet, Mateus Pereira, i-can-not-program, Zexin Yuan, Jappie3 and 10 more
Reacted by Laura, Lorenzo Setale, Cole Tobin, DavHau, Genei180 and Aneesh B
I think we're all on the same page that it'd be great to have official support but as @samueldr says a lot of work has gone into supporting the Pi (and the oddities of other SOCs).
It'd also probably be less painful to do some of this bespoke work if there was some kind of commitment or timeline from the manufacturers to getting this stuff upstreamed in the end.
A nix-community project might be more appropriate this time around so there's a centralized spot to collaborate but it's still distinctly marked unofficial.
I'm not sure if it should be general SOCs, split by architectures, Pis, or just Pi5 focused though 🤷
vision5/riscv support has been going alright without a more central project due to a couple of vocal and active community members + a bit of sponsorship support
Reacted by Chmouel Boudjnah, 5aaee9 and Lorenzo Setale
I wasn't able to get the Pi 5 to boot with NixOS.
The Linux kernel received some commits, that should help in the future.
The boot loader shows me the following:
Device-tree file "bcm2712-rpi-5-b.dtb" not found.
The installed operating system (OS) does not indicate support for Raspberry Pi 5
Update the OS or set os_check=0 in config.txt to skip this check.
Wasn't able to get it to boot - no matter what I've tried.
Reacted by Omer Faruk Oruc, malteneuss, Reinaldo Molina, Mateus Pereira, Lorenzo Setale, Zexin Yuan, Martin Kuhn, The Little Waltz, 3c7P8q5A, Aneesh B and 1 more
Reacted by Lorenzo Setale, Martin Kuhn, The Little Waltz, 3c7P8q5A, Valyn Tyler, Jon Roberts, NOFIA and phyrobyte
I wasn't able to get the Pi 5 to boot with NixOS. The Linux kernel received some commits, that should help in the future.
The boot loader shows me the following:
Device-tree file "bcm2712-rpi-5-b.dtb" not found.
The installed operating system (OS) does not indicate support for Raspberry Pi 5
Update the OS or set os_check=0 in config.txt to skip this check.
Wasn't able to get it to boot - no matter what I've tried.
You need to use patched kernel sources from Raspberry. You also need to use device tree files from Raspberry and merge them using opensource but non-standard dtmerge (unless Pi5 bootloader changed significantly which is also a possibility).
I wholeheartedly support the decision not to deal with these oddities officially and support only boards with all drivers & patches & DTSs in the upstream kernel & having standard EFI!
But it is NOT that hard to get a new embedded system running in Nix. Not at all. I actually found Nix through embedded systems when I was fed up after many years with Buildroot and similar build systems and Nix (but only with (those unstable) Flakes because of very practical reasons!) when used for embedded systems is like a fairy-tale in comparison.
I do plan to get Pi5 running along with a simplified disk image generation (lots of unneeded magic stuff surrounding the current make-ext4-fs.nix and all its wrappers galore) some-when next year.
Reacted by j-k, Markus Lohmayer, karpfediem, Reuben Steenekamp, Harald Gliebe and Lorenzo Setale
There are actually patches for u-boot for the rpi5, though they're far from complete. I was able to use that to get a very haphazard build of nixos's sd image booting, but it's pretty rough.
I got things sort of working without U-Boot:
My code is at https://github.com/leo60228/nixpkgs/tree/rpi5, but this isn't really in a state where I'd recommend using it. It's probably best to wait until U-Boot support is in a usable state.
Reacted by Ian Graham, Jean-Charles Quillet, j-k, vytskalt, Juergen Fitschen, Naser Aleisa, Bricked, Michal Ulianko, sydneymeyer, Tim and 8 more
NixOS seems to "just work" with https://github.com/worproject/rpi5-uefi, though device support is currently very limited (Ethernet and fan control are the most painful omissions for headless/server use). For some applications, it might already be enough, though.
Compared to U-Boot, this has the major benefit of being able to just use the standard aarch64 installer with a mainline kernel. If device tree support gets added to EDK2, it'd hopefully be possible to switch to the vendor kernel post-installation for more complete hardware support, without needing a special Pi-specific installer image.
Using the vendor kernel with ACPI might be superior in some senses, but this seems fragile, and I really doubt it'd be considered a supported usecase by the driver developers.
rpi5-uefi 0.2 adds device tree support, which seems to work perfectly when using the vendor kernel with UEFI! I'll try to make a flake with the Pi 5 kernel and start writing a wiki page.
Reacted by Michal Ulianko, Bruno Bigras, sydneymeyer, vytskalt, Jean-Charles Quillet, j-k, Naser Aleisa, Greg Ziegan, Justin Rubek, Tobias Bora and 9 more
The above wiki entry is very helpful for getting the PI to boot, but I've had no success booting to X11 or Wayland. While the wiki does list "Graphics drivers are not yet available in NixOS.", this surprises me, given that mesa 23.3.0 has since made it into nixpkgs, which I believe has the drivers for the pi's GPU.
If anyone gets graphics working, I'd be curious how :)
So it looks like from feedback that this will be necessary. I'll try to see if I can make some upstream pull requests for things like dtbs, but might need some help with missing kernel modules (will update in a new ticket)
If you do open a new ticket, please post it here; I'd be happy to see if I can help and/or contribute to this. Although my Nix-fu is pretty bad, I know my way around kernel builds and DTBs. Mainly from experiments on a VisionFive2, but perhaps it could prove useful.
Reacted by Johannes Schickling, Lorenzo Setale, DerRockWolf, Jamie Magee and NOFIA
Activity
samueldr commentedon Oct 13, 2023
"NixOS" proper won't see support for the Raspberry Pi 5.
Just like all other ARM platforms, NixOS support depends on the platform's support in upstream mainline projects.
We will not repeat the mistake we did with the Raspberry Pi 4 and adding bespoke support for a proprietary ecosystem. It is too much work to support for the resources available to NixOS.
Note that this reply applies to any
$BOARD, and not limited to ARM things.So the roadmap to "NixOS booting trivially on Raspberry Pi 5" is:
Then we can add its U-Boot build to the token pre-baked firmware partition (assuming we still ship it by then) and it should work [just as well as mainline supports it].
An additional side-note: With the super-powers conferred to the end-users of NixOS, nothing stops someone from providing useful configurations, overlays, etc to make it work in the meantime as a workaround. Though as implied, it would be user-supported.
06kellyjac commentedon Nov 6, 2023
I think we're all on the same page that it'd be great to have official support but as @samueldr says a lot of work has gone into supporting the Pi (and the oddities of other SOCs).
It'd also probably be less painful to do some of this bespoke work if there was some kind of commitment or timeline from the manufacturers to getting this stuff upstreamed in the end.
https://github.com/NixOS/nixos-hardware/commits/master/raspberry-pi/4
https://github.com/NixOS/nixpkgs/commits/master/pkgs/os-specific/linux/firmware/raspberrypi
https://github.com/NixOS/nixpkgs/commits/master/pkgs/os-specific/linux/raspberrypi-eeprom
https://github.com/NixOS/nixpkgs/commits/master/pkgs/os-specific/linux/kernel/linux-rpi.nix
https://github.com/NixOS/nixpkgs/commits/master/nixos/modules/system/boot/loader/raspberrypi
A nix-community project might be more appropriate this time around so there's a centralized spot to collaborate but it's still distinctly marked unofficial.
I'm not sure if it should be general SOCs, split by architectures, Pis, or just Pi5 focused though 🤷
vision5/riscv support has been going alright without a more central project due to a couple of vocal and active community members + a bit of sponsorship support
MayNiklas commentedon Nov 19, 2023
I wasn't able to get the Pi 5 to boot with NixOS.
The Linux kernel received some commits, that should help in the future.
The boot loader shows me the following:
Wasn't able to get it to boot - no matter what I've tried.
softerdk commentedon Dec 4, 2023
My pi5 needs Nixos :-)
WizardUli commentedon Dec 11, 2023
You need to use patched kernel sources from Raspberry. You also need to use device tree files from Raspberry and merge them using opensource but non-standard
dtmerge(unless Pi5 bootloader changed significantly which is also a possibility).I wholeheartedly support the decision not to deal with these oddities officially and support only boards with all drivers & patches & DTSs in the upstream kernel & having standard EFI!
But it is NOT that hard to get a new embedded system running in Nix. Not at all. I actually found Nix through embedded systems when I was fed up after many years with
Buildrootand similar build systems and Nix (but only with (those unstable) Flakes because of very practical reasons!) when used for embedded systems is like a fairy-tale in comparison.I do plan to get Pi5 running along with a simplified disk image generation (lots of unneeded magic stuff surrounding the current
make-ext4-fs.nixand all its wrappers galore) some-when next year.ElvishJerricco commentedon Dec 29, 2023
There are actually patches for u-boot for the rpi5, though they're far from complete. I was able to use that to get a very haphazard build of nixos's sd image booting, but it's pretty rough.
leo60228 commentedon Jan 4, 2024
I got things sort of working without U-Boot:

My code is at https://github.com/leo60228/nixpkgs/tree/rpi5, but this isn't really in a state where I'd recommend using it. It's probably best to wait until U-Boot support is in a usable state.
leo60228 commentedon Jan 4, 2024
NixOS seems to "just work" with https://github.com/worproject/rpi5-uefi, though device support is currently very limited (Ethernet and fan control are the most painful omissions for headless/server use). For some applications, it might already be enough, though.
Compared to U-Boot, this has the major benefit of being able to just use the standard aarch64 installer with a mainline kernel. If device tree support gets added to EDK2, it'd hopefully be possible to switch to the vendor kernel post-installation for more complete hardware support, without needing a special Pi-specific installer image.
Using the vendor kernel with ACPI might be superior in some senses, but this seems fragile, and I really doubt it'd be considered a supported usecase by the driver developers.
leo60228 commentedon Jan 5, 2024
There are a number of reasons this is a bad idea, but installing NixOS using EDK2 and then adding this to the configuration seems to mostly work:
leo60228 commentedon Jan 5, 2024
rpi5-uefi 0.2 adds device tree support, which seems to work perfectly when using the vendor kernel with UEFI! I'll try to make a flake with the Pi 5 kernel and start writing a wiki page.
leo60228 commentedon Jan 5, 2024
I've created a preliminary wiki page with basic installation instructions: https://nixos.wiki/wiki/NixOS_on_ARM/Raspberry_Pi_5
tkerber commentedon Jan 18, 2024
The above wiki entry is very helpful for getting the PI to boot, but I've had no success booting to X11 or Wayland. While the wiki does list "Graphics drivers are not yet available in NixOS.", this surprises me, given that mesa 23.3.0 has since made it into nixpkgs, which I believe has the drivers for the pi's GPU.
If anyone gets graphics working, I'd be curious how :)
108 remaining items
flake,hosts: Add pi5 & configure using nixos-raspberrypi5
flake,hosts: Add pi5 & configure using nixos-raspberrypi5
flake,hosts: Add pi5 & configure using nixos-raspberrypi5
emberdart commentedon Sep 4, 2025
So it looks like from feedback that this will be necessary. I'll try to see if I can make some upstream pull requests for things like dtbs, but might need some help with missing kernel modules (will update in a new ticket)
senpro-ingwersenk commentedon Sep 8, 2025
Hello @danwdart !
If you do open a new ticket, please post it here; I'd be happy to see if I can help and/or contribute to this. Although my Nix-fu is pretty bad, I know my way around kernel builds and DTBs. Mainly from experiments on a VisionFive2, but perhaps it could prove useful.
RPi5: Use nixpkgs-unstable with proper kernel support
RPi5: Use raspberry-pi-nix for proper hardware support
RPi5: Use raspberry-pi-nix for proper hardware support (#24)
RPi5: Use raspberry-pi-nix for proper hardware support
RPi5: Use raspberry-pi-nix for proper hardware support (#25)
mvillafuertem commentedon Jan 31, 2026
Hi there, any updates? I’ve noticed that this repository has been archived.
https://github.com/nix-community/raspberry-pi-nix
Cameo007 commentedon Jan 31, 2026
https://github.com/nvmd/nixos-raspberrypi is really active
emberdart commentedon Jan 31, 2026
I do believe it's in the hardware repo.
Might not mean that's all you need to run it, though.
randomizedcoder commentedon Jan 31, 2026
See also the discourse thread
https://discourse.nixos.org/t/what-happened-to-raspberry-pi-nix/62417/14