dtsoverlays
This commit is contained in:
@@ -36,7 +36,13 @@ in
|
||||
};
|
||||
|
||||
imports = [
|
||||
./audio.nix
|
||||
./bluetooth.nix
|
||||
./i2c.nix
|
||||
./leds.nix
|
||||
./modesetting.nix
|
||||
./pwm.nix
|
||||
./wifi.nix
|
||||
];
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
@@ -92,7 +98,7 @@ in
|
||||
hardware = {
|
||||
deviceTree = {
|
||||
filter = lib.mkDefault (if (cfg.variant == "5") then "bcm2712-rpi-*.dtb" else "bcm2711-rpi-*.dtb");
|
||||
overlays = lib.mkIf (cfg.variant == "4") [
|
||||
overlays = (if (cfg.variant == "4") then [
|
||||
{
|
||||
name = "rpi4-cpu-revision";
|
||||
dtsText = ''
|
||||
@@ -131,24 +137,25 @@ in
|
||||
};
|
||||
'';
|
||||
}
|
||||
];
|
||||
] else
|
||||
[
|
||||
{
|
||||
name = "bcm2712d0-overlay";
|
||||
dtsFile = "${pkgs.${namespace}.raspberrypi-overlays}/share/raspberrypi-overlays/bcm2712d0-overlay.dts";
|
||||
}
|
||||
]);
|
||||
};
|
||||
firmware = [ pkgs.${namespace}.raspberryPiWirelessFirmware ];
|
||||
graphics.enable32Bit = lib.mkForce false;
|
||||
i2c.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
# Pi specific system tags
|
||||
# system.nixos.tags = (
|
||||
# let
|
||||
# bootCfg = config.boot.loader.raspberry-pi;
|
||||
# in
|
||||
# [
|
||||
# "raspberry-pi-${bootCfg.variant}"
|
||||
# bootCfg.bootloader
|
||||
# config.boot.kernelPackages.kernel.version
|
||||
# ]
|
||||
# );
|
||||
Pi specific system tags
|
||||
system.nixos.tags =[
|
||||
"raspberry-pi-${cfg.variant}"
|
||||
# config.boot.loader.raspberry-pi.bootloader
|
||||
config.boot.kernelPackages.kernel.version
|
||||
];
|
||||
|
||||
# Common programs
|
||||
programs.kdeconnect.enable = lib.mkDefault false;
|
||||
@@ -183,51 +190,12 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
nixpkgs.overlays = [
|
||||
# (_self: super: {
|
||||
# ffmpeg = super.${namespace}.ffmpeg-rpi;
|
||||
# })
|
||||
# (_self: super: {
|
||||
# libraspberrypi = super.${namespace}.libraspberrypi;
|
||||
# })
|
||||
# (_self: super: {
|
||||
# raspberrypi-utils = super.${namespace}.raspberrypi-utils;
|
||||
# })
|
||||
] ++ (if cfg.variant == "5" then [
|
||||
nixpkgs.overlays = [ ] ++ (if cfg.variant == "5" then [
|
||||
(final: prev: {
|
||||
ubootRaspberryPi5 = prev.uboot.ubootRaspberryPi4_64Bit.override {
|
||||
defconfig = "rpi_5_defconfig";
|
||||
};
|
||||
})
|
||||
# (final: prev:
|
||||
# let
|
||||
# mkPi5 = drv:
|
||||
# prev.lib.overrideDerivation
|
||||
# (drv // {
|
||||
# # Make sure we build the BCM2712 defconfig regardless of internal mapping
|
||||
# argsOverride = (drv.argsOverride or {}) // {
|
||||
# defconfig = "bcm2712_defconfig";
|
||||
# };
|
||||
# # Limit platforms to aarch64 for Pi 5
|
||||
# extraMeta = (drv.extraMeta or {}) // {
|
||||
# platforms = with prev.lib.platforms; prev.lib.intersectLists aarch64 linux;
|
||||
# hydraPlatforms = [ "aarch64-linux" ];
|
||||
# };
|
||||
# })
|
||||
# (old: {
|
||||
# postFixup = (old.postFixup or "") + ''
|
||||
# dtbDir=${if old.stdenv.hostPlatform.isAarch64 then "$out/dtbs/broadcom" else "$out/dtbs"}
|
||||
# copyDTB() { cp -v "$dtbDir/$1" "$dtbDir/$2"; }
|
||||
# # Pi 5 alias (only if your boot chain expects bcm283x-style names)
|
||||
# if [ -e "$dtbDir/bcm2712-rpi-5-b.dtb" ]; then
|
||||
# copyDTB bcm2712-rpi-5-b.dtb bcm2839-rpi-5-b.dtb
|
||||
# fi
|
||||
# '';
|
||||
# });
|
||||
# in {
|
||||
# # Assuming your package is exposed as pkgs.linux-rpi; adapt the name if different
|
||||
# linux-rpi5 = mkPi5 (prev.linux_rpi4.override { rpiVersion = 5; });
|
||||
# })
|
||||
(final: prev: {
|
||||
# https://github.com/nvmd/nixos-raspberrypi/issues/64
|
||||
# credit for the initial version of this snippet goes to @micahcc
|
||||
|
||||
Reference in New Issue
Block a user