diff --git a/hosts/raspberry-pi5/hardware.nix b/hosts/raspberry-pi5/hardware.nix index 82f3b80..08ad932 100644 --- a/hosts/raspberry-pi5/hardware.nix +++ b/hosts/raspberry-pi5/hardware.nix @@ -39,6 +39,8 @@ "start4db.elf" "start4.elf" "start4x.elf" + + "overlays/vc4-kms-v3d-pi5.dtbo" ] (file: { "${file}" = "${piBootFw}/${file}"; })); @@ -126,6 +128,7 @@ in { ${concatStringsSep "\n" ( mapAttrsToList (filename: path: '' + mkdir -p $(dirname $out/${filename}) cp ${path} $out/${filename} '') fwFiles diff --git a/outputs.nix b/outputs.nix index 8d57c08..83ccc27 100644 --- a/outputs.nix +++ b/outputs.nix @@ -49,7 +49,7 @@ in inherit (pkgs) mk-enc-usb mk-encrypted-drive; inherit (pkgs) gotosocial mpd-headless; inherit (pkgs) kitty-terminfo; - inherit (pkgs) linux_rpi5; + inherit (pkgs) linux_rpi5 raspberrypifw raspberrypiWirelessFirmware; inherit (inputs.home-manager-unstable.packages."${system}") home-manager; }; } diff --git a/overlay/default.nix b/overlay/default.nix index d497583..0d90b73 100644 --- a/overlay/default.nix +++ b/overlay/default.nix @@ -21,6 +21,38 @@ final: prev: rec { linuxPackages_rpi5 = final.linuxPackagesFor linux_rpi5; + raspberrypifw = prev.raspberrypifw.overrideAttrs (oldAttrs: rec { + version = "stable_20240529"; + + src = final.fetchFromGitHub { + owner = "raspberrypi"; + repo = "firmware"; + rev = "458df3adc11fccc3d26d3d6d8864738459290416"; + hash = "sha256-KsCo7ZG6vKstxRyFljZtbQvnDSqiAPdUza32xTY/tlA="; + }; + }); + + raspberrypiWirelessFirmware = prev.raspberrypiWirelessFirmware.overrideAttrs (oldAttrs: rec { + version = "unstable-2024-09-04"; + + srcs = [ + (final.fetchFromGitHub { + name = "bluez-firmware"; + owner = "RPi-Distro"; + repo = "bluez-firmware"; + rev = "78d6a07730e2d20c035899521ab67726dc028e1c"; + hash = "sha256-KakKnOBeWxh0exu44beZ7cbr5ni4RA9vkWYb9sGMb8Q="; + }) + (final.fetchFromGitHub { + name = "firmware-nonfree"; + owner = "RPi-Distro"; + repo = "firmware-nonfree"; + rev = "4b356e134e8333d073bd3802d767a825adec3807"; + hash = "sha256-T7eTKXqY9cxEMdab8Snda4CEOrEihy5uOhA6Fy+Mhnw="; + }) + ]; + }); + mpd-headless = (prev.mpdWithFeatures.override { ffmpeg = final.ffmpeg_6-headless;