Files
FxNet/quirks/rpi5.nix

125 lines
2.4 KiB
Nix

{
lib,
pkgs,
inputs,
...
}:
{
imports = [
inputs.raspberry-pi-nix.nixosModules.raspberry-pi
inputs.nixos-hardware.nixosModules.raspberry-pi-5
];
boot.loader.systemd-boot.enable = lib.mkForce false;
boot = {
kernelPackages = lib.mkForce pkgs.linuxKernel.packages.linux_rpi4;
initrd.kernelModules = [
"zstd"
"btrfs"
"nvme"
];
tmp = {
tmpfsSize = lib.mkForce "25%";
};
};
zramSwap = {
enable = true;
memoryPercent = 50;
algorithm = "zstd";
};
powerManagement.cpuFreqGovernor = "ondemand";
raspberry-pi-nix = {
board = "bcm2712";
# kernel-version = "v6_10_12";
libcamera-overlay = {
enable = false;
};
uboot = {
enable = false;
};
};
hardware = {
raspberry-pi = {
config = {
all = {
base-dt-params = {
BOOT_UART = {
enable = false;
value = 1;
};
uart_2ndstage = {
enable = false;
value = 1;
};
audio = {
enable = true;
value = "off";
};
sd_poll_once = {
enable = true;
};
# NVME disk access
pciex1 = {
enable = true;
};
pciex1_gen = {
enable = true;
value = 3;
};
nvme = {
enable = true;
};
};
dt-overlays = {
vc4-kms-v3d-pi5 = {
enable = true;
params = { };
};
};
options = {
hdmi_blanking = {
enable = true;
value = 1;
};
disable_overscan = {
enable = true;
value = 1;
};
gpu_mem_256 = {
enable = true;
value = 76;
};
gpu_mem_512 = {
enable = true;
value = 76;
};
gpu_mem_1024 = {
enable = true;
value = 76;
};
disable_splash = {
enable = true;
value = 1;
};
temp_limit = {
enable = true;
value = 75;
};
initial_turbo = {
enable = true;
value = 20;
};
};
};
};
};
};
}