Add rpi5 quirks, rework quicrks usage method
This commit is contained in:
203
flake.lock
generated
203
flake.lock
generated
@@ -41,6 +41,56 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"libcamera-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1725630279,
|
||||||
|
"narHash": "sha256-KH30jmHfxXq4j2CL7kv18DYECJRp9ECuWNPnqPZajPA=",
|
||||||
|
"owner": "raspberrypi",
|
||||||
|
"repo": "libcamera",
|
||||||
|
"rev": "69a894c4adad524d3063dd027f5c4774485cf9db",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "raspberrypi",
|
||||||
|
"repo": "libcamera",
|
||||||
|
"rev": "69a894c4adad524d3063dd027f5c4774485cf9db",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libpisp-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1724944683,
|
||||||
|
"narHash": "sha256-Fo2UJmQHS855YSSKKmGrsQnJzXog1cdpkIOO72yYAM4=",
|
||||||
|
"owner": "raspberrypi",
|
||||||
|
"repo": "libpisp",
|
||||||
|
"rev": "28196ed6edcfeda88d23cc5f213d51aa6fa17bb3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "raspberrypi",
|
||||||
|
"ref": "v1.0.7",
|
||||||
|
"repo": "libpisp",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixos-hardware": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1756750488,
|
||||||
|
"narHash": "sha256-e4ZAu2sjOtGpvbdS5zo+Va5FUUkAnizl4wb0/JlIL2I=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"rev": "47eb4856cfd01eaeaa7bb5944a0f27db8fb9b94a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756542300,
|
"lastModified": 1756542300,
|
||||||
@@ -93,13 +143,164 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"raspberry-pi-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"libcamera-src": "libcamera-src",
|
||||||
|
"libpisp-src": "libpisp-src",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"rpi-bluez-firmware-src": "rpi-bluez-firmware-src",
|
||||||
|
"rpi-firmware-nonfree-src": "rpi-firmware-nonfree-src",
|
||||||
|
"rpi-firmware-src": "rpi-firmware-src",
|
||||||
|
"rpi-linux-6_12_17-src": "rpi-linux-6_12_17-src",
|
||||||
|
"rpi-linux-6_6_78-src": "rpi-linux-6_6_78-src",
|
||||||
|
"rpi-linux-stable-src": "rpi-linux-stable-src",
|
||||||
|
"rpicam-apps-src": "rpicam-apps-src"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1742223591,
|
||||||
|
"narHash": "sha256-ZNTz8r5jlJ1jvpqf5+aUYgpnYJSVX0iP14doOc1Hm0E=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "raspberry-pi-nix",
|
||||||
|
"rev": "3e8100d5e976a6a2be363015cb33463af9ef441a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "raspberry-pi-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"photocatalog": "photocatalog"
|
"photocatalog": "photocatalog",
|
||||||
|
"raspberry-pi-nix": "raspberry-pi-nix"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rpi-bluez-firmware-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1708969706,
|
||||||
|
"narHash": "sha256-KakKnOBeWxh0exu44beZ7cbr5ni4RA9vkWYb9sGMb8Q=",
|
||||||
|
"owner": "RPi-Distro",
|
||||||
|
"repo": "bluez-firmware",
|
||||||
|
"rev": "78d6a07730e2d20c035899521ab67726dc028e1c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "RPi-Distro",
|
||||||
|
"ref": "bookworm",
|
||||||
|
"repo": "bluez-firmware",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rpi-firmware-nonfree-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1723266537,
|
||||||
|
"narHash": "sha256-T7eTKXqY9cxEMdab8Snda4CEOrEihy5uOhA6Fy+Mhnw=",
|
||||||
|
"owner": "RPi-Distro",
|
||||||
|
"repo": "firmware-nonfree",
|
||||||
|
"rev": "4b356e134e8333d073bd3802d767a825adec3807",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "RPi-Distro",
|
||||||
|
"ref": "bookworm",
|
||||||
|
"repo": "firmware-nonfree",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rpi-firmware-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1728405098,
|
||||||
|
"narHash": "sha256-4gnK0KbqFnjBmWia9Jt2gveVWftmHrprpwBqYVqE/k0=",
|
||||||
|
"owner": "raspberrypi",
|
||||||
|
"repo": "firmware",
|
||||||
|
"rev": "7bbb5f80d20a2335066a8781459c9f33e5eebc64",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "raspberrypi",
|
||||||
|
"ref": "1.20241008",
|
||||||
|
"repo": "firmware",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rpi-linux-6_12_17-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1740765145,
|
||||||
|
"narHash": "sha256-hoCsGc4+RC/2LmxDtswLBL5ZhWlw4vSiL4Vkl39r2MU=",
|
||||||
|
"owner": "raspberrypi",
|
||||||
|
"repo": "linux",
|
||||||
|
"rev": "5985ce32e511f4e8279a841a1b06a8c7d972b386",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "raspberrypi",
|
||||||
|
"ref": "rpi-6.12.y",
|
||||||
|
"repo": "linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rpi-linux-6_6_78-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1740503700,
|
||||||
|
"narHash": "sha256-Y8+ot4Yi3UKwlZK3ap15rZZ16VZDvmeFkD46+6Ku7bE=",
|
||||||
|
"owner": "raspberrypi",
|
||||||
|
"repo": "linux",
|
||||||
|
"rev": "2e071057fded90e789c0101498e45a1778be93fe",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "raspberrypi",
|
||||||
|
"ref": "rpi-6.6.y",
|
||||||
|
"repo": "linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rpi-linux-stable-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1728403745,
|
||||||
|
"narHash": "sha256-phCxkuO+jUGZkfzSrBq6yErQeO2Td+inIGHxctXbD5U=",
|
||||||
|
"owner": "raspberrypi",
|
||||||
|
"repo": "linux",
|
||||||
|
"rev": "5aeecea9f4a45248bcf564dec924965e066a7bfd",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "raspberrypi",
|
||||||
|
"ref": "stable_20241008",
|
||||||
|
"repo": "linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rpicam-apps-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1727515047,
|
||||||
|
"narHash": "sha256-qCYGrcibOeGztxf+sd44lD6VAOGoUNwRqZDdAmcTa/U=",
|
||||||
|
"owner": "raspberrypi",
|
||||||
|
"repo": "rpicam-apps",
|
||||||
|
"rev": "a8ccf9f3cd9df49875dfb834a2b490d41d226031",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "raspberrypi",
|
||||||
|
"ref": "v1.5.2",
|
||||||
|
"repo": "rpicam-apps",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -16,6 +16,13 @@
|
|||||||
url = "github:nix-community/disko/latest";
|
url = "github:nix-community/disko/latest";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
raspberry-pi-nix = {
|
||||||
|
url = "github:nix-community/raspberry-pi-nix/master";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
nixos-hardware = {
|
||||||
|
url = "github:NixOS/nixos-hardware/master";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
@@ -103,6 +110,7 @@
|
|||||||
pkgsStable = pkgsStableSettings host.system;
|
pkgsStable = pkgsStableSettings host.system;
|
||||||
hosts = hosts;
|
hosts = hosts;
|
||||||
ip = host.ip;
|
ip = host.ip;
|
||||||
|
quirks = (quirks: (import ./quirks { inherit quirks; }));
|
||||||
};
|
};
|
||||||
pkgs = pkgsSettings host.system;
|
pkgs = pkgsSettings host.system;
|
||||||
modules = commonModules ++ [
|
modules = commonModules ++ [
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
quirks,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
@@ -10,13 +12,13 @@ let
|
|||||||
];
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = (
|
imports =
|
||||||
import ../../quirks {
|
(quirks [
|
||||||
quirks = [
|
|
||||||
"development"
|
"development"
|
||||||
|
])
|
||||||
|
++ [
|
||||||
|
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-p1
|
||||||
];
|
];
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
users = lib.genAttrs users (user: import ./${user}.nix);
|
users = lib.genAttrs users (user: import ./${user}.nix);
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
pkgsStable,
|
pkgsStable,
|
||||||
|
quirks,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
@@ -12,13 +13,11 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = (
|
imports = (
|
||||||
import ../../quirks {
|
quirks [
|
||||||
quirks = [
|
|
||||||
"development"
|
"development"
|
||||||
"steam"
|
"steam"
|
||||||
"32bit"
|
"32bit"
|
||||||
];
|
]
|
||||||
}
|
|
||||||
);
|
);
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
|
|||||||
124
quirks/rpi5.nix
Normal file
124
quirks/rpi5.nix
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
{
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user