Compare commits

..

16 commits

Author SHA1 Message Date
Jörg Thalheim
24084931d8
Merge pull request #1661 from HyprGirl/master
Some checks are pending
Test / nixfmt (push) Waiting to run
Test / tests (push) Blocked by required conditions
asus/zephyrus/ga401iv: init
2025-11-06 11:05:22 +00:00
Jörg Thalheim
3e24540eb9
Merge pull request #1663 from concatime/feat/add-only-wireless-firmwares
raspberry-pi/4: add only wireless firmwares
2025-11-06 11:04:51 +00:00
Jörg Thalheim
bd47664211
Merge pull request #1667 from concatime/feat/add-genet-module-to-initrd-if-netboot
raspberry-pi/4: add genet module to initrd if netboot
2025-11-06 11:04:33 +00:00
Jörg Thalheim
be02d168e7
Merge pull request #1657 from NixOS/no-instantiate
speed up ci
2025-11-06 11:03:32 +00:00
Jörg Thalheim
f34ca8045a mnt/reform: stop doing ifd 2025-11-06 11:27:57 +01:00
Jörg Thalheim
ec18896955 librem/5r4/u-boot: update and use newer compiler 2025-11-06 11:21:16 +01:00
Jörg Thalheim
64269645d4 star64: add missing names to kernel patches 2025-11-06 11:14:48 +01:00
Jörg Thalheim
d1ad892e3b helios4: add missing names to kernel patches 2025-11-06 11:14:03 +01:00
Issam E. Maghni
ec135126c1 raspberry-pi/4: add genet module to initrd if netboot
This module is required to have Ethernet in initial RAM disk.

It solves the issue encountered in this thread:
https://discourse.nixos.org/t/netboot-into-nfs-root-instead-of-the-fat-netboot-ramdisk/8556/2
2025-11-05 19:31:43 -05:00
Issam E. Maghni
2a3a409ac5 raspberry-pi/4: add only wireless firmwares 2025-11-04 15:28:35 -05:00
Jörg Thalheim
01e8e18d9d format flake.nix after nixpkgs bump 2025-11-04 13:04:34 +01:00
Romana
d60ba4a306
Merge branch 'NixOS:master' into master 2025-11-03 22:54:14 +00:00
Romana
5723dff2cd
add ga401iv to readme and flake.nix 2025-11-03 19:59:38 +01:00
Romana
5e6ecb961a
asus-zephyrus-ga401iv: Add config for 2020 model of ga401 2025-11-03 03:45:34 +01:00
Jörg Thalheim
f6299de29d bump nixpkgs 2025-10-30 14:29:33 +01:00
Jörg Thalheim
caacab410f speed up ci: run nix-eval-jobs with no-instantiate 2025-10-30 14:07:00 +01:00
11 changed files with 94 additions and 41 deletions

View file

@ -116,7 +116,8 @@ See code for all available configurations.
| [Asus ROG Strix G713IE](asus/rog-strix/g713ie) | `<nixos-hardware/asus/rog-strix/g713ie>` | `asus-rog-strix-g713ie` |
| [Asus ROG Strix G733QS](asus/rog-strix/g733qs) | `<nixos-hardware/asus/rog-strix/g733qs>` | `asus-rog-strix-g733qs` |
| [Asus ROG Strix X570-E GAMING](asus/rog-strix/x570e) | `<nixos-hardware/asus/rog-strix/x570e>` | `asus-rog-strix-x570e` |
| [Asus ROG Zephyrus G14 GA401](asus/zephyrus/ga401) | `<nixos-hardware/asus/zephyrus/ga401>` | `asus-zephyrus-ga401` |
| [Asus ROG Zephyrus G14 GA401IV (2020)](asus/zephyrus/ga401iv) | `<nixos-hardware/asus/zephyrus/ga401iv>` | `asus-zephyrus-ga401iv` |
| [Asus ROG Zephyrus G14 GA401 (2021)](asus/zephyrus/ga401) | `<nixos-hardware/asus/zephyrus/ga401>` | `asus-zephyrus-ga401` |
| [Asus ROG Zephyrus G14 GA402](asus/zephyrus/ga402) | `<nixos-hardware/asus/zephyrus/ga402>` | `asus-zephyrus-ga402` |
| [Asus ROG Zephyrus G14 GA402X\* (2023)](asus/zephyrus/ga402x/amdgpu) | `<nixos-hardware/asus/zephyrus/ga402x/amdgpu>` | `asus-zephyrus-ga402x-amdgpu` |
| [Asus ROG Zephyrus G14 GA402X\* (2023)](asus/zephyrus/ga402x/nvidia) | `<nixos-hardware/asus/zephyrus/ga402x/nvidia>` | `asus-zephyrus-ga402x-nvidia` |

View file

@ -11,7 +11,6 @@ let
mkEnableOption
mkIf
mkMerge
version
versionAtLeast
;

View file

@ -0,0 +1,38 @@
{ lib, ... }:
{
imports = [
../../../common/cpu/amd
../../../common/cpu/amd/pstate.nix
../../../common/gpu/amd
../../../common/gpu/nvidia/prime.nix
../../../common/gpu/nvidia/turing
../../../common/pc/laptop
../../../common/pc/ssd
];
hardware.nvidia = {
# Enable DRM kernel mode setting
# This will also cause "PCI-Express Runtime D3 Power Management" to be enabled by default
modesetting.enable = lib.mkDefault true;
# Dynamic boost is available on ampere GPUs and newer, not this laptop
dynamicBoost.enable = lib.mkDefault false;
prime = {
amdgpuBusId = "PCI:4:0:0";
nvidiaBusId = "PCI:1:0:0";
};
};
services = {
asusd.enable = lib.mkDefault true;
udev.extraHwdb = ''
evdev:name:*:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:*
KEYBOARD_KEY_ff31007c=f20 # fixes mic mute button
KEYBOARD_KEY_ff3100b2=home # Set fn+LeftArrow as Home
KEYBOARD_KEY_ff3100b3=end # Set fn+RightArrow as End
'';
};
}

View file

@ -87,6 +87,7 @@
asus-zenbook-ux535 = import ./asus/zenbook/ux535;
asus-zenbook-ux481-intelgpu = import ./asus/zenbook/ux481/intelgpu;
asus-zenbook-ux481-nvidia = import ./asus/zenbook/ux481/nvidia;
asus-zephyrus-ga401iv = import ./asus/zephyrus/ga401iv;
asus-zephyrus-ga401 = import ./asus/zephyrus/ga401;
asus-zephyrus-ga402 = import ./asus/zephyrus/ga402;
asus-zephyrus-ga402x = import ./asus/zephyrus/ga402x;
@ -425,16 +426,16 @@
common-cpu-amd-zenpower = import ./common/cpu/amd/zenpower.nix;
common-cpu-amd-raphael-igpu = import ./common/cpu/amd/raphael/igpu.nix;
common-cpu-intel = import ./common/cpu/intel;
common-gpu-intel-comet-lake =
deprecated "992" "common-gpu-intel-comet-lake"
(import ./common/gpu/intel/comet-lake);
common-gpu-intel-comet-lake = deprecated "992" "common-gpu-intel-comet-lake" (
import ./common/gpu/intel/comet-lake
);
common-cpu-intel-cpu-only = import ./common/cpu/intel/cpu-only.nix;
common-gpu-intel-kaby-lake =
deprecated "992" "common-gpu-intel-kaby-lake"
(import ./common/gpu/intel/kaby-lake);
common-gpu-intel-sandy-bridge =
deprecated "992" "common-gpu-intel-sandy-bridge"
(import ./common/gpu/intel/sandy-bridge);
common-gpu-intel-kaby-lake = deprecated "992" "common-gpu-intel-kaby-lake" (
import ./common/gpu/intel/kaby-lake
);
common-gpu-intel-sandy-bridge = deprecated "992" "common-gpu-intel-sandy-bridge" (
import ./common/gpu/intel/sandy-bridge
);
common-gpu-amd = import ./common/gpu/amd;
common-gpu-amd-sea-islands = import ./common/gpu/amd/sea-islands;
common-gpu-amd-southern-islands = import ./common/gpu/amd/southern-islands;

View file

@ -5,6 +5,7 @@ let
# A patch to get both PWM fans working
# the patch has been successfully applied to 5.15 and 5.19
{
name = "mvebu-gpio-remove-hardcoded-timer-assignment";
patch = pkgs.fetchpatch {
url = "https://raw.githubusercontent.com/armbian/build/bd3466eef2106ea13e85e821f5d852ff97465e6c/patch/kernel/archive/mvebu-5.15/92-mvebu-gpio-remove-hardcoded-timer-assignment.patch";
sha256 = "sha256-eQqMp0+MZd30zkl8DE89oB7czvyqCkfwF2k0EZ69jr0=";
@ -12,12 +13,14 @@ let
}
# support for Wake-On-Lan
{
name = "mvebu-gpio-add-wake-on-gpio-support";
patch = pkgs.fetchpatch {
url = "https://raw.githubusercontent.com/armbian/build/bd3466eef2106ea13e85e821f5d852ff97465e6c/patch/kernel/archive/mvebu-5.15/92-mvebu-gpio-add_wake_on_gpio_support.patch";
sha256 = "sha256-OrvnVCU55P0U78jdoxGRJvl29i+Rvq8AdEGSCCpxa2I=";
};
}
{
name = "helios4-dts-add-wake-on-lan-support";
patch = pkgs.fetchpatch {
url = "https://raw.githubusercontent.com/armbian/build/bd3466eef2106ea13e85e821f5d852ff97465e6c/patch/kernel/archive/mvebu-5.15/94-helios4-dts-add-wake-on-lan-support.patch";
sha256 = "sha256-ai4161bTC22023eaVVWsvbk6fQKjkv0P4DQ4DA1Zgow=";

View file

@ -34,18 +34,23 @@ let
hash = "sha256-XiTuH40b3VJqzwygZzU0FcvMDj41Rq6IsMbm+3+QxDY=";
};
kernelPatches =
(map (patch: { inherit patch; }) (
lib.filesystem.listFilesRecursive "${reformDebianPackages}/linux/patches${lib.versions.majorMinor modDirVersion}"
))
++ [
{
patch = callPackage ./dtsPatch.nix {
inherit reformDebianPackages;
kernelSource = src;
};
}
];
# Use postPatch to apply patches from a directory without IFD
postPatch = ''
for patch in ${reformDebianPackages}/linux/patches${lib.versions.majorMinor modDirVersion}/*/*.patch; do
echo "Applying patch: $patch"
patch -p1 < "$patch"
done
'';
kernelPatches = [
{
name = "reform-dts";
patch = callPackage ./dtsPatch.nix {
inherit reformDebianPackages;
kernelSource = src;
};
}
];
structuredExtraConfig = with lib.kernel; {
# configuration options from https://source.mnt.re/reform/reform-debian-packages/-/blob/7f31ba3a6742d60d8d502c1d86e63ef5df3916bf/linux/config

View file

@ -32,6 +32,7 @@ let
defconfig = "pine64_star64_defconfig";
kernelPatches = [
{
name = "keys-dh-fix";
patch = fetchpatch {
url = "https://github.com/torvalds/linux/commit/215bebc8c6ac438c382a6a56bd2764a2d4e1da72.diff";
hash = "sha256-1ZqmVOkgcDBRkHvVRPH8I5G1STIS1R/l/63PzQQ0z0I=";
@ -39,12 +40,16 @@ let
};
}
{
name = "starfive-vin-sensor-fix";
patch = fetchpatch {
url = "https://github.com/starfive-tech/linux/pull/108/commits/9ae8cb751c4d1fd2146b279a8e67887590e9d07a.diff";
hash = "sha256-EY0lno+HkY5mradBUPII3qqu0xh+BVQRzveCQcaht0M=";
};
}
{ patch = ./irq-desc-to-data.patch; }
{
name = "irq-desc-to-data";
patch = ./irq-desc-to-data.patch;
}
]
++ kernelPatches;

View file

@ -1,6 +1,5 @@
{
stdenv,
gcc11Stdenv,
buildUBoot,
fetchurl,
fetchFromGitLab,
@ -28,7 +27,7 @@ let
meta.license = lib.licenses.unfree;
});
arm-trusted-firmware-imx8mq = gcc11Stdenv.mkDerivation (_fa: {
arm-trusted-firmware-imx8mq = stdenv.mkDerivation (_fa: {
pname = "arm-trusted-firmware-bl31";
version = "unstable-2020-07-08";
src = fetchFromGitLab {
@ -40,6 +39,7 @@ let
};
enableParallelBuilding = true;
hardeningDisable = [ "all" ];
NIX_CFLAGS_COMPILE = "-Wno-error=array-bounds";
NIX_LDFLAGS = "--no-warn-rwx-segments";
buildFlags = [
"PLAT=imx8mq"
@ -53,14 +53,14 @@ let
});
ubootLibrem5 = buildUBoot {
version = "unstable-2022-12-15";
version = "unstable-2025-03-25";
defconfig = "librem5_defconfig";
src = fetchFromGitLab {
domain = "source.puri.sm";
owner = "Librem5";
repo = "uboot-imx";
rev = "956aa590c93977992743b41c45d3c7ee5a024915"; # this is the latest commit on the upstream/librem5 branch
hash = "sha256-MsIIlarN+WFFEzc0ptLAgS7BwJ6Cosy42xo0EwPn1AU=";
rev = "72fcd4ee36e0874daac734c1195263cd9ce9d981"; # this is the latest commit on the upstream/librem5 branch
hash = "sha256-ymqZPuyyZoFTaCMQIJnuNs1fV0uVwJhyQdnGwv9m9lE=";
};
patches = [ ];
BL31 = "${arm-trusted-firmware-imx8mq}/bl31.bin";

View file

@ -35,7 +35,8 @@
"vc4"
"pcie_brcmstb" # required for the pcie bus to work
"reset-raspberrypi" # required for vl805 firmware to load
];
]
++ lib.optional config.boot.initrd.network.enable "genet";
# Allow building kernel
initrd.systemd.tpm2.enable = false;
@ -55,6 +56,5 @@
}
];
# Required for the Wireless firmware
hardware.enableRedistributableFirmware = true;
hardware.firmware = [ pkgs.raspberrypiWirelessFirmware ];
}

18
tests/flake.lock generated
View file

@ -2,11 +2,11 @@
"nodes": {
"nixos-stable": {
"locked": {
"lastModified": 1755274400,
"narHash": "sha256-rTInmnp/xYrfcMZyFMH3kc8oko5zYfxsowaLv1LVobY=",
"lastModified": 1761597516,
"narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ad7196ae55c295f53a7d1ec39e4a06d922f3b899",
"rev": "daf6dc47aa4b44791372d6139ab7b25269184d55",
"type": "github"
},
"original": {
@ -18,11 +18,11 @@
},
"nixos-unstable-small": {
"locked": {
"lastModified": 1755375481,
"narHash": "sha256-43PgCQFgFD1nM/7dncytV0c5heNHe/gXrEud18ZWcZU=",
"lastModified": 1761789293,
"narHash": "sha256-zwQKLaUgHSpY6SvB/MDgPYRPomWAmbkS3Xfo6JvFVOA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "35f1742e4f1470817ff8203185e2ce0359947f12",
"rev": "8d42228a0de7c23b012e2f7dd963425a372e1b0e",
"type": "github"
},
"original": {
@ -46,11 +46,11 @@
]
},
"locked": {
"lastModified": 1750931469,
"narHash": "sha256-0IEdQB1nS+uViQw4k3VGUXntjkDp7aAlqcxdewb/hAc=",
"lastModified": 1761311587,
"narHash": "sha256-Msq86cR5SjozQGCnC6H8C+0cD4rnx91BPltZ9KK613Y=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "ac8e6f32e11e9c7f153823abc3ab007f2a65d3e1",
"rev": "2eddae033e4e74bf581c2d1dfa101f9033dbd2dc",
"type": "github"
},
"original": {

View file

@ -69,6 +69,7 @@ def run_eval_test(gcroot_dir: Path, jobs: int) -> list[str]:
failed_profiles = []
cmd = [
"nix-eval-jobs",
"--no-instantiate",
"--extra-experimental-features", "flakes",
"--option", "eval-cache", "false",
"--gc-roots-dir",