Merge branch 'master' into master

This commit is contained in:
Jörg Thalheim 2024-07-19 19:50:48 +02:00 committed by GitHub
commit a70fa1ac5b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
50 changed files with 153 additions and 94 deletions

View file

@ -89,7 +89,9 @@ See code for all available configurations.
| [Asus Pro WS X570-ACE](asus/pro-ws-x570-ace) | `<nixos-hardware/asus/pro-ws-x570-ace>` |
| [Asus ROG Ally RC71L (2023)](asus/ally/rc71l) | `<nixos-hardware/asus/ally/rc71l>` |
| [Asus ROG Strix G513IM](asus/rog-strix/g513im) | `<nixos-hardware/asus/rog-strix/g513im>` |
| [Asus ROG Strix G713IE](asus/rog-strix/g713ie) | `<nixos-hardware/asus/rog-strix/g713ie>` |
| [Asus ROG Strix G733QS](asus/rog-strix/g733qs) | `<nixos-hardware/asus/rog-strix/g733qs>` |
| [Asus ROG Strix X570-E GAMING](asus/rog-strix/x570e) | `<nixos-hardware/asus/rog-strix/x570e>` |
| [Asus ROG Zephyrus G14 GA401](asus/zephyrus/ga401) | `<nixos-hardware/asus/zephyrus/ga401>` |
| [Asus ROG Zephyrus G14 GA402](asus/zephyrus/ga402) | `<nixos-hardware/asus/zephyrus/ga402>` |
| [Asus ROG Zephyrus G14 GA402X* (2023)](asus/zephyrus/ga402x/amdgpu) | `<nixos-hardware/asus/zephyrus/ga402x/amdgpu>` |
@ -221,6 +223,7 @@ See code for all available configurations.
| [Lenovo ThinkPad T14 AMD Gen 4](lenovo/thinkpad/t14/amd/gen4) | `<nixos-hardware/lenovo/thinkpad/t14/amd/gen4>` |
| [Lenovo ThinkPad T14](lenovo/thinkpad/t14) | `<nixos-hardware/lenovo/thinkpad/t14>` |
| [Lenovo ThinkPad T14s AMD Gen 1](lenovo/thinkpad/t14s/amd/gen1) | `<nixos-hardware/lenovo/thinkpad/t14s/amd/gen1>` |
| [Lenovo ThinkPad T14s AMD Gen 4](lenovo/thinkpad/t14s/amd/gen4) | `<nixos-hardware/lenovo/thinkpad/t14s/amd/gen4>` |
| [Lenovo ThinkPad T14s](lenovo/thinkpad/t14s) | `<nixos-hardware/lenovo/thinkpad/t14s>` |
| [Lenovo ThinkPad T410](lenovo/thinkpad/t410) | `<nixos-hardware/lenovo/thinkpad/t410>` |
| [Lenovo ThinkPad T420](lenovo/thinkpad/t420) | `<nixos-hardware/lenovo/thinkpad/t420>` |
@ -302,6 +305,7 @@ See code for all available configurations.
| [Purism Librem 15v3](purism/librem/13v3) | `<nixos-hardware/purism/librem/15v3>` |
| [Purism Librem 5r4](purism/librem/5r4) | `<nixos-hardware/purism/librem/5r4>` |
| [Raspberry Pi 2](raspberry-pi/2) | `<nixos-hardware/raspberry-pi/2>` |
| [Raspberry Pi 3](raspberry-pi/3) | `<nixos-hardware/raspberry-pi/3>` |
| [Raspberry Pi 4](raspberry-pi/4) | `<nixos-hardware/raspberry-pi/4>` |
| [Raspberry Pi 5](raspberry-pi/5) | `<nixos-hardware/raspberry-pi/5>` |
| [Samsung Series 9 NP900X3C](samsung/np900x3c) | `<nixos-hardware/samsung/np900x3c>` |

View file

@ -3,7 +3,7 @@
{
imports = [
../.
../../../common/cpu/intel/sandy-bridge
../../../common/gpu/intel/sandy-bridge
];
boot.kernelParams = [

View file

@ -6,7 +6,7 @@
}: {
imports = [
../.
../../../common/cpu/intel/kaby-lake
../../../common/gpu/intel/kaby-lake
../../../common/gpu/intel
../../../common/hidpi.nix
../../../common/pc/laptop/ssd

View file

@ -2,15 +2,20 @@
, ... } @ args:
let
version = "6.9.8";
majorVersion = with lib; (elemAt (take 1 (splitVersion version)) 0);
patchRepo = fetchFromGitHub {
owner = "t2linux";
repo = "linux-t2-patches";
rev = "0ad2b3913f5484ba8e86b6965f5d88903464261d";
hash = "sha256-mwT4cuIBrz3tz8+fAxVKmnRtkPRp3lWmNbocuXCsm44=";
rev = "47b4069221c0ee3b6db56ab1ea90ae89e2de26f3";
hash = "sha256-1B5DbLdyKdswy2ERmWVyjojdazTDbMsS+Vz/mrTdoFY=";
};
version = "6.9.4";
majorVersion = with lib; (elemAt (take 1 (splitVersion version)) 0);
kernel = fetchzip {
url = "mirror://kernel/linux/kernel/v${majorVersion}.x/linux-${version}.tar.xz";
hash = "sha256-o67tasZu4qGQ7obw+BCgNfaLqDcT3SPqsa3kTzWjmfg=";
};
in
buildLinux (args // {
inherit version;
@ -20,10 +25,7 @@ buildLinux (args // {
modDirVersion = with lib; "${concatStringsSep "." (take 3 (splitVersion "${version}.0"))}";
src = runCommand "patched-source" {} ''
cp -r ${fetchzip {
url = "mirror://kernel/linux/kernel/v${majorVersion}.x/linux-${version}.tar.xz";
hash = "sha256-8jC5DpPi6poig1gmJPIIZ2HMwQQt1kTK4PcvyYm+Hsg=";
}} $out
cp -r ${kernel} $out
chmod -R u+w $out
cd $out
while read -r patch; do
@ -45,7 +47,6 @@ buildLinux (args // {
HID_APPLETB_KBD = module;
HID_APPLE = module;
DRM_APPLETBDRM = module;
HID_APPLE_MAGIC_BACKLIGHT = module;
HID_SENSOR_ALS = module;
SND_PCM = module;
STAGING = yes;

View file

@ -0,0 +1,16 @@
{
imports = [
../../../common/cpu/amd
../../../common/cpu/amd/pstate.nix
../../../common/gpu/nvidia
../../../common/gpu/nvidia/prime.nix
../../../common/pc/laptop
../../../common/pc/ssd
../../battery.nix
];
hardware.nvidia.prime = {
amdgpuBusId = "PCI:5:0:0";
nvidiaBusId = "PCI:1:0:0";
};
}

View file

@ -0,0 +1,14 @@
# Motherboard: ROG STRIX X570-E GAMING
{ ... }:
{
imports = [
../../../common/cpu/amd
../../../common/cpu/amd/pstate.nix
../../../common/cpu/amd/zenpower.nix
../../../common/pc/ssd
];
# Bluetooth driver for Intel AX200 802.11ax
boot.kernelModules = [ "btintel" ];
}

View file

@ -7,7 +7,7 @@
}:
{
imports = [
../../../common/cpu/intel/tiger-lake
../../../common/gpu/intel/tiger-lake
../../../common/pc/laptop
../../../common/pc/laptop/ssd
../../battery.nix

View file

@ -26,7 +26,7 @@ in {
hardware = {
## Enable the Nvidia card, as well as Prime and Offload:
amdgpu.loadInInitrd = true;
amdgpu.initrd.enable = lib.mkDefault true;
nvidia = {
modesetting.enable = true;

View file

@ -9,5 +9,7 @@
(lib.mkAliasOptionModule [ "hardware" "graphics" "extraPackages" ] [ "hardware" "opengl" "extraPackages" ])
(lib.mkAliasOptionModule [ "hardware" "graphics" "extraPackages32" ] [ "hardware" "opengl" "extraPackages32" ])
(lib.mkAliasOptionModule [ "hardware" "graphics" "enable32Bit" ] [ "hardware" "opengl" "driSupport32Bit" ])
(lib.mkAliasOptionModule [ "hardware" "graphics" "package" ] [ "hardware" "opengl" "package" ])
(lib.mkAliasOptionModule [ "hardware" "graphics" "package32" ] [ "hardware" "opengl" "package32" ])
];
}

View file

@ -1,24 +1,15 @@
{ config, lib, ... }:
{ lib, ... }:
{
options.hardware.amdgpu.loadInInitrd = lib.mkEnableOption (lib.mdDoc
"loading `amdgpu` kernelModule at stage 1. (Add `amdgpu` to `boot.initrd.kernelModules`)"
) // {
default = true;
};
imports = [ ../24.05-compat.nix ];
config = lib.mkMerge [
{
config = {
services.xserver.videoDrivers = lib.mkDefault [ "modesetting" ];
hardware.graphics = {
enable = lib.mkDefault true;
enable32Bit = lib.mkDefault true;
};
}
(lib.mkIf config.hardware.amdgpu.loadInInitrd {
boot.initrd.kernelModules = [ "amdgpu" ];
})
];
hardware.amdgpu.initrd.enable = lib.mkDefault true;
};
}

View file

@ -1,13 +1,8 @@
{ lib, pkgs, ... }:
{ lib, ... }:
{
imports = [ ../24.05-compat.nix ];
services.xserver.videoDrivers = lib.mkDefault [ "nvidia" ];
hardware.graphics.extraPackages = [
(
if pkgs ? libva-vdpau-driver
then pkgs.libva-vdpau-driver
else pkgs.vaapiVdpau
)
];
# TODO: this will be a default after https://github.com/NixOS/nixpkgs/pull/326369
hardware.nvidia.modesetting.enable = lib.mkDefault true;
}

View file

@ -1,7 +1,7 @@
{ lib, ... }:
{
imports = [
../../../common/cpu/intel/tiger-lake
../../../common/gpu/intel/tiger-lake
../../../common/pc/laptop
../../../common/pc/ssd
];

View file

@ -4,7 +4,7 @@
...
}: {
imports = [
../../../common/cpu/intel/kaby-lake
../../../common/gpu/intel/kaby-lake
../../../common/pc/laptop
../../../common/pc/laptop/ssd
../../../common/gpu/nvidia

View file

@ -1,6 +1,6 @@
{
imports = [
../../../common/cpu/intel/kaby-lake
../../../common/gpu/intel/kaby-lake
../../../common/pc/laptop
];

View file

@ -2,7 +2,7 @@
{
imports = [
../../../common/cpu/intel/kaby-lake
../../../common/gpu/intel/kaby-lake
../../../common/pc/laptop
../../../common/pc/laptop/acpi_call.nix
];

View file

@ -1,7 +1,7 @@
{
imports = [
../../../common/cpu/intel
../../../common/cpu/intel/kaby-lake
../../../common/gpu/intel/kaby-lake
../../../common/pc/laptop
./xps-common.nix

View file

@ -1,7 +1,7 @@
{
imports = [
../../../../common/cpu/intel
../../../../common/cpu/intel/kaby-lake
../../../../common/gpu/intel/kaby-lake
../../../../common/pc/laptop
../../../../common/gpu/nvidia/disable.nix
../xps-common.nix

View file

@ -2,7 +2,7 @@
{
imports = [
../../../common/cpu/intel
../../../common/cpu/intel/kaby-lake
../../../common/gpu/intel/kaby-lake
../../../common/pc/laptop
./xps-common.nix
];

View file

@ -2,7 +2,10 @@
description = "nixos-hardware";
outputs = _: {
nixosModules = {
nixosModules = let
deprecated = issue: name: value: builtins.trace "warning: ${name} flake output is deprecated and will be removed. See https://github.com/NixOS/nixos-hardware/issues/${issue} for more information" value;
import = path: path; # let the module system know what we are exporting
in {
acer-aspire-4810t = import ./acer/aspire/4810t;
airis-n990 = import ./airis/n990;
apple-macbook-air-3 = import ./apple/macbook-air/3;
@ -24,7 +27,9 @@
asus-fa507rm = import ./asus/fa507rm;
asus-pro-ws-x570-ace = import ./asus/pro-ws-x570-ace;
asus-rog-strix-g513im = import ./asus/rog-strix/g513im;
asus-rog-strix-g713ie = import ./asus/rog-strix/g713ie;
asus-rog-strix-g733qs = import ./asus/rog-strix/g733qs;
asus-rog-strix-x570e = import ./asus/rog-strix/x570e;
asus-zenbook-ux371 = import ./asus/zenbook/ux371;
asus-zephyrus-ga401 = import ./asus/zephyrus/ga401;
asus-zephyrus-ga402 = import ./asus/zephyrus/ga402;
@ -155,6 +160,7 @@
lenovo-thinkpad-t14-amd-gen4 = import ./lenovo/thinkpad/t14/amd/gen4;
lenovo-thinkpad-t14s = import ./lenovo/thinkpad/t14s;
lenovo-thinkpad-t14s-amd-gen1 = import ./lenovo/thinkpad/t14s/amd/gen1;
lenovo-thinkpad-t14s-amd-gen4 = import ./lenovo/thinkpad/t14s/amd/gen4;
lenovo-thinkpad-t410 = import ./lenovo/thinkpad/t410;
lenovo-thinkpad-t420 = import ./lenovo/thinkpad/t420;
lenovo-thinkpad-t430 = import ./lenovo/thinkpad/t430;
@ -240,6 +246,7 @@
purism-librem-15v3 = import ./purism/librem/15v3;
purism-librem-5r4 = import ./purism/librem/5r4;
raspberry-pi-2 = import ./raspberry-pi/2;
raspberry-pi-3 = import ./raspberry-pi/3;
raspberry-pi-4 = import ./raspberry-pi/4;
raspberry-pi-5 = import ./raspberry-pi/5;
kobol-helios4 = import ./kobol/helios4;
@ -265,10 +272,10 @@
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-cpu-intel-comet-lake = import ./common/cpu/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-cpu-intel-kaby-lake = import ./common/cpu/intel/kaby-lake;
common-cpu-intel-sandy-bridge = import ./common/cpu/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

@ -4,6 +4,6 @@
imports = [
../../common/pc/laptop
../../common/pc/laptop/ssd
../../common/cpu/intel/kaby-lake
../../common/gpu/intel/kaby-lake
];
}

View file

@ -3,7 +3,7 @@
../../common/pc/laptop
../../common/pc/laptop/ssd
../../common/cpu/intel
../../common/cpu/intel/kaby-lake
../../common/gpu/intel/kaby-lake
../../common/hidpi.nix
];
}

View file

@ -1,5 +1,5 @@
{
imports = [
../../common/cpu/intel/jasper-lake
../../common/gpu/intel/jasper-lake
];
}

View file

@ -3,7 +3,7 @@ with lib;
{
imports = [
../../../common/cpu/intel
../../../common/cpu/intel/sandy-bridge
../../../common/gpu/intel/sandy-bridge
../../../common/pc
../../../common/pc/laptop
../../../common/pc/laptop/hdd

View file

@ -3,7 +3,7 @@ with lib;
{
imports = [
../../../common/cpu/intel
../../../common/cpu/intel/sandy-bridge
../../../common/gpu/intel/sandy-bridge
../../../common/pc
../../../common/pc/laptop
../../../common/pc/laptop/hdd

View file

@ -6,7 +6,7 @@
}: {
imports = [
../../common/cpu/intel
../../common/cpu/intel/comet-lake
../../common/gpu/intel/comet-lake
../../common/gpu/nvidia
../../common/gpu/nvidia/prime.nix
../../common/hidpi.nix

View file

@ -20,7 +20,7 @@
services.xserver.videoDrivers = [ "nvidia" ];
hardware = {
amdgpu.loadInInitrd = lib.mkDefault false;
amdgpu.initrd.enable = false;
nvidia = {
modesetting.enable = lib.mkDefault true;

View file

@ -22,7 +22,7 @@
services.xserver.videoDrivers = [ "nvidia" ];
hardware = {
amdgpu.loadInInitrd = lib.mkDefault false;
amdgpu.initrd.enable = false;
nvidia = {
modesetting.enable = lib.mkDefault true;

View file

@ -3,7 +3,7 @@
{
imports = [
../.
../../../common/cpu/intel/kaby-lake
../../../common/gpu/intel/kaby-lake
../../../common/gpu/nvidia/prime.nix
];

View file

@ -2,7 +2,7 @@
{
imports = [
../.
../../../common/cpu/intel/kaby-lake
../../../common/gpu/intel/kaby-lake
../../../common/pc/laptop/ssd
];

View file

@ -3,7 +3,7 @@
../../../common/gpu/24.05-compat.nix
../../../common/gpu/nvidia/prime.nix
../../../common/cpu/intel
../../../common/cpu/intel/kaby-lake
../../../common/gpu/intel/kaby-lake
../../../common/pc/laptop/acpi_call.nix
../.
];

View file

@ -0,0 +1,9 @@
{ lib, pkgs, ... }:
{
imports = [
../.
];
# Fix laptop not properly powering off during shutdown.
boot.kernelParams = [ "apm=power_off" ];
}

View file

@ -2,7 +2,7 @@
imports = [
../.
../tp-smapi.nix
../../../common/cpu/intel/sandy-bridge
../../../common/gpu/intel/sandy-bridge
../../../common/pc/laptop/acpi_call.nix
];
}

View file

@ -2,7 +2,7 @@
imports = [
../.
../tp-smapi.nix
../../../common/cpu/intel/sandy-bridge
../../../common/gpu/intel/sandy-bridge
../../../common/pc/laptop/acpi_call.nix
];
}

View file

@ -2,7 +2,7 @@
imports = [
../.
../tp-smapi.nix
../../../common/cpu/intel/sandy-bridge
../../../common/gpu/intel/sandy-bridge
../../../common/pc/laptop/acpi_call.nix
];
}

View file

@ -1,7 +1,7 @@
{
imports = [
../.
../../../common/cpu/intel/sandy-bridge
../../../common/gpu/intel/sandy-bridge
../../../common/pc/laptop/hdd # TODO: reverse compat
../tp-smapi.nix
];

View file

@ -9,9 +9,4 @@
# https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X260#Thinkpad_X260
"i915.enable_psr=0"
];
# https://wiki.archlinux.org/index.php/TLP#Btrfs
services.tlp.settings = {
SATA_LINKPWR_ON_BAT = "med_power_with_dipm";
};
}

View file

@ -0,0 +1,9 @@
pcm.!default {
type plug
slave.pcm "hw:1,0"
}
ctl.!default {
type hw
card 1
}

View file

@ -5,15 +5,5 @@
../../../../../lenovo/thinkpad/z/gen2
];
sound.extraConfig = ''
pcm.!default {
type plug
slave.pcm "hw:1,0"
}
ctl.!default {
type hw
card 1
}
'';
environment.etc."asound.conf".source = ./asound.conf;
}

View file

@ -18,7 +18,7 @@ in {
hardware = {
## Enable the Nvidia card, as well as Prime and Offload:
amdgpu.loadInInitrd = true;
amdgpu.initrd.enable = true;
nvidia = {
modesetting.enable = true;

View file

@ -14,7 +14,7 @@ in {
../../../common/pc/ssd
# The Intel CPU module auto-includes Intel's GPU:
../../../common/cpu/intel
../../../common/cpu/intel/kaby-lake
../../../common/gpu/intel/kaby-lake
];
boot.kernelParams = [

View file

@ -32,14 +32,6 @@ https://github.com/NixOS/nixos-hardware/blob/6d1bd5bc2e8b9992a3f57e416ba50fbed55
HDMI over Type-C works only for the custom kernel and the audio dosen't work (it's an upstream problem).
#### `rockchipdrm` and `efifb`
This can be worked around by booting with the `efifb=off` kernel command-line.
This is already handled for you by this configuration. If using the generic
UEFI AArch64 iso, you will need to add the option yourself to the command-line
using GRUB.
#### _EFI_ and poweroff
When booted using EFI, the system will not power off. It will stay seemingly

View file

@ -1,6 +1,6 @@
{
imports = [
../../common/cpu/intel/comet-lake
../../common/gpu/intel/comet-lake
];
boot.initrd.kernelModules = [

View file

@ -0,0 +1,34 @@
{ lib
, pkgs
, ...
}:
{
boot.kernelPackages = lib.mkDefault pkgs.linuxKernel.packages.linux_rpi3;
# fix the following error :
# modprobe: FATAL: Module ahci not found in directory
# https://github.com/NixOS/nixpkgs/issues/154163#issuecomment-1350599022
nixpkgs.overlays = [
(_final: super: {
makeModulesClosure = x:
super.makeModulesClosure (x // { allowMissing = true; });
})
];
# https://github.com/NixOS/nixpkgs/blob/b72bde7c4a1f9c9bf1a161f0c267186ce3c6483c/nixos/modules/installer/sd-card/sd-image-aarch64.nix#L12
# Use the extlinux boot loader. (NixOS wants to enable GRUB by default)
boot.loader.grub.enable = lib.mkDefault false;
# Enables the generation of /boot/extlinux/extlinux.conf
boot.loader.generic-extlinux-compatible.enable = lib.mkDefault true;
# The last console argument in the list that linux can find at boot will receive kernel logs.
# The serial ports listed here are:
# - ttyS0: serial
# - tty0: hdmi
boot.kernelParams = [
"console=ttyS0,115200n8"
"console=tty0"
];
}

View file

@ -81,7 +81,7 @@ def write_eval_test(f: IO[str], profiles: list[str]) -> None:
continue
system = "x86_64-linux"
if profile in ("raspberry-pi/4", "raspberry-pi/5"):
if profile in ("raspberry-pi/3", "raspberry-pi/4", "raspberry-pi/5"):
system = "aarch64-linux"
f.write(