nix format

This commit is contained in:
mjallen18
2026-01-03 09:28:28 -06:00
parent 4a6a68dad4
commit 105ed3bcb8
2 changed files with 137 additions and 140 deletions

View File

@@ -15,10 +15,13 @@ let
# installs raspberry's firmware independent of the nixos generations # installs raspberry's firmware independent of the nixos generations
# sometimes referred to as "boot code" # sometimes referred to as "boot code"
raspberryPiFirmware = ({ pkgs raspberryPiFirmware = (
, firmware {
, configTxt pkgs,
}: pkgs.replaceVarsWith { firmware,
configTxt,
}:
pkgs.replaceVarsWith {
src = ./generational/install-firmware.sh; src = ./generational/install-firmware.sh;
isExecutable = true; isExecutable = true;
@@ -30,11 +33,15 @@ let
inherit firmware configTxt; inherit firmware configTxt;
}; };
}); }
);
kernelbootGenBuilder = ({ pkgs kernelbootGenBuilder = (
, deviceTreeInstaller {
}: pkgs.replaceVarsWith { pkgs,
deviceTreeInstaller,
}:
pkgs.replaceVarsWith {
src = ./generational/kernelboot-gen-builder.sh; src = ./generational/kernelboot-gen-builder.sh;
isExecutable = true; isExecutable = true;
@@ -46,11 +53,15 @@ let
installDeviceTree = deviceTreeInstaller; installDeviceTree = deviceTreeInstaller;
}; };
}); }
);
deviceTree = ({ pkgs deviceTree = (
, firmware {
}: pkgs.replaceVarsWith { pkgs,
firmware,
}:
pkgs.replaceVarsWith {
src = ./generational/install-device-tree.sh; src = ./generational/install-device-tree.sh;
isExecutable = true; isExecutable = true;
@@ -62,9 +73,12 @@ let
inherit firmware; inherit firmware;
}; };
}); }
);
mkBootloader = pkgs: bootloader { mkBootloader =
pkgs:
bootloader {
inherit pkgs; inherit pkgs;
inherit (cfg) nixosGenerationsDir; inherit (cfg) nixosGenerationsDir;
@@ -86,22 +100,27 @@ let
nixosGenBuilder = "${kernelbootGenBuilder { nixosGenBuilder = "${kernelbootGenBuilder {
inherit pkgs; inherit pkgs;
deviceTreeInstaller = let deviceTreeInstaller =
let
cmd = deviceTree { cmd = deviceTree {
inherit pkgs; inherit pkgs;
firmware = cfg.firmwarePackage; firmware = cfg.firmwarePackage;
}; };
args = lib.optionalString (!cfg.useGenerationDeviceTree) " -r"; args = lib.optionalString (!cfg.useGenerationDeviceTree) " -r";
in "${cmd} ${args}"; in
"${cmd} ${args}";
}}"; }}";
}; };
bootloader = ({ pkgs bootloader = (
, nixosGenerationsDir {
, firmwareInstaller pkgs,
, nixosGenBuilder nixosGenerationsDir,
}: pkgs.replaceVarsWith { firmwareInstaller,
nixosGenBuilder,
}:
pkgs.replaceVarsWith {
src = ./generational/nixos-generations-builder.sh; src = ./generational/nixos-generations-builder.sh;
isExecutable = true; isExecutable = true;
@@ -117,7 +136,8 @@ let
# NixOS-generations -dependent # NixOS-generations -dependent
inherit nixosGenerationsDir nixosGenBuilder; inherit nixosGenerationsDir nixosGenBuilder;
}; };
}); }
);
# Builders used to write during system activation # Builders used to write during system activation
@@ -130,20 +150,6 @@ let
extlinuxConfBuilder = config.boot.loader.generic-extlinux-compatible.populateCmd; extlinuxConfBuilder = config.boot.loader.generic-extlinux-compatible.populateCmd;
}; };
populateUbootBuilder = import ./uboot-builder.nix {
pkgs = pkgs.buildPackages;
ubootPackage = (
if (cfg.variant == "5") then pkgs.${namespace}.uboot-pi5 else pkgs.${namespace}.uboot-pi4
);
firmwareBuilder = firmwarePopulateCmd;
extlinuxConfBuilder = config.boot.loader.generic-extlinux-compatible.populateCmd;
};
kernelbootBuilder = import ./kernelboot-builder.nix {
inherit pkgs;
firmwareBuilder = firmwarePopulateCmd;
};
uefiBuilder = import ./uefi-builder.nix { uefiBuilder = import ./uefi-builder.nix {
inherit pkgs; inherit pkgs;
uefiPackage = ( uefiPackage = (
@@ -169,11 +175,6 @@ let
firmware = pkgs.${namespace}.raspberrypifw; firmware = pkgs.${namespace}.raspberrypifw;
}; };
populateKernelbootBuilder = import ./kernelboot-builder.nix {
pkgs = pkgs.buildPackages;
firmwareBuilder = firmwarePopulateCmd;
};
firmwarePopulateCmd = "${populateFirmwareBuilder} ${firmwareBuilderArgs}"; firmwarePopulateCmd = "${populateFirmwareBuilder} ${firmwareBuilderArgs}";
firmwareBuilderArgs = lib.optionalString (!true) " -r"; firmwareBuilderArgs = lib.optionalString (!true) " -r";
@@ -193,20 +194,6 @@ let
# firmware: caller must provide `-c <nixos configuration>` and `-f <firmware target path>` # firmware: caller must provide `-c <nixos configuration>` and `-f <firmware target path>`
# boot: caller must provide `-c <nixos configuration>` and `-b <boot-dir>` # boot: caller must provide `-c <nixos configuration>` and `-b <boot-dir>`
populateCmds = {
uboot = {
firmware = "${populateUbootBuilder}";
boot = "${populateUbootBuilder}";
};
kernel = let cmd = builtins.concatStringsSep " " [
"${mkBootloader pkgs.buildPackages}"
"-g ${toString cfg.configurationLimit}"
];
in {
firmware = "${cmd}";
boot = "${cmd}";
};
};
in in
{ {
options.${namespace}.hardware.raspberry-pi = { options.${namespace}.hardware.raspberry-pi = {
@@ -326,16 +313,25 @@ in
}; };
kernel = lib.mkIf (cfg.bootType == "kernel" || cfg.bootType == "uboot") { kernel = lib.mkIf (cfg.bootType == "kernel" || cfg.bootType == "uboot") {
enable = true; enable = true;
value = (if cfg.bootType == "uboot" then "u-boot.bin" else if cfg.bootType == "kernel" then "kernel.img" else ""); value = (
if cfg.bootType == "uboot" then
"u-boot.bin"
else if cfg.bootType == "kernel" then
"kernel.img"
else
""
);
}; };
}; };
}; };
}; };
extra-config = let extra-config =
let
# https://www.raspberrypi.com/documentation/computers/config_txt.html#initramfs # https://www.raspberrypi.com/documentation/computers/config_txt.html#initramfs
ramfsfile = "initrd"; ramfsfile = "initrd";
ramfsaddr = "followkernel"; # same as 0 = "after the kernel image" ramfsaddr = "followkernel"; # same as 0 = "after the kernel image"
in '' in
''
[all] [all]
initramfs ${ramfsfile} ${ramfsaddr} initramfs ${ramfsfile} ${ramfsaddr}
''; '';

View File

@@ -1,5 +1,6 @@
{ pkgs {
, firmwareBuilder pkgs,
firmwareBuilder,
}: }:
pkgs.replaceVarsWith { pkgs.replaceVarsWith {