diff --git a/README.md b/README.md index c0f6dc5..12f3bec 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,9 @@ See code for all available configurations. | [Asus Pro WS X570-ACE](asus/pro-ws-x570-ace) | `` | | [Asus ROG Ally RC71L (2023)](asus/ally/rc71l) | `` | | [Asus ROG Strix G513IM](asus/rog-strix/g513im) | `` | +| [Asus ROG Strix G713IE](asus/rog-strix/g713ie) | `` | | [Asus ROG Strix G733QS](asus/rog-strix/g733qs) | `` | +| [Asus ROG Strix X570-E GAMING](asus/rog-strix/x570e) | `` | | [Asus ROG Zephyrus G14 GA401](asus/zephyrus/ga401) | `` | | [Asus ROG Zephyrus G14 GA402](asus/zephyrus/ga402) | `` | | [Asus ROG Zephyrus G14 GA402X* (2023)](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) | `` | | [Lenovo ThinkPad T14](lenovo/thinkpad/t14) | `` | | [Lenovo ThinkPad T14s AMD Gen 1](lenovo/thinkpad/t14s/amd/gen1) | `` | +| [Lenovo ThinkPad T14s AMD Gen 4](lenovo/thinkpad/t14s/amd/gen4) | `` | | [Lenovo ThinkPad T14s](lenovo/thinkpad/t14s) | `` | | [Lenovo ThinkPad T410](lenovo/thinkpad/t410) | `` | | [Lenovo ThinkPad T420](lenovo/thinkpad/t420) | `` | @@ -302,6 +305,7 @@ See code for all available configurations. | [Purism Librem 15v3](purism/librem/13v3) | `` | | [Purism Librem 5r4](purism/librem/5r4) | `` | | [Raspberry Pi 2](raspberry-pi/2) | `` | +| [Raspberry Pi 3](raspberry-pi/3) | `` | | [Raspberry Pi 4](raspberry-pi/4) | `` | | [Raspberry Pi 5](raspberry-pi/5) | `` | | [Samsung Series 9 NP900X3C](samsung/np900x3c) | `` | diff --git a/apple/macbook-air/4/default.nix b/apple/macbook-air/4/default.nix index 181a099..850ad8d 100644 --- a/apple/macbook-air/4/default.nix +++ b/apple/macbook-air/4/default.nix @@ -3,7 +3,7 @@ { imports = [ ../. - ../../../common/cpu/intel/sandy-bridge + ../../../common/gpu/intel/sandy-bridge ]; boot.kernelParams = [ diff --git a/apple/macbook-pro/14-1/default.nix b/apple/macbook-pro/14-1/default.nix index e2dcb72..02c8542 100644 --- a/apple/macbook-pro/14-1/default.nix +++ b/apple/macbook-pro/14-1/default.nix @@ -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 diff --git a/apple/t2/pkgs/linux-t2.nix b/apple/t2/pkgs/linux-t2.nix index ea8fbdc..2691890 100644 --- a/apple/t2/pkgs/linux-t2.nix +++ b/apple/t2/pkgs/linux-t2.nix @@ -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; diff --git a/asus/rog-strix/g713ie/default.nix b/asus/rog-strix/g713ie/default.nix new file mode 100644 index 0000000..e36585c --- /dev/null +++ b/asus/rog-strix/g713ie/default.nix @@ -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"; + }; +} diff --git a/asus/rog-strix/x570e/default.nix b/asus/rog-strix/x570e/default.nix new file mode 100644 index 0000000..d8ee657 --- /dev/null +++ b/asus/rog-strix/x570e/default.nix @@ -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" ]; +} diff --git a/asus/zenbook/ux371/default.nix b/asus/zenbook/ux371/default.nix index 8601e2b..4fcfb28 100644 --- a/asus/zenbook/ux371/default.nix +++ b/asus/zenbook/ux371/default.nix @@ -7,7 +7,7 @@ }: { imports = [ - ../../../common/cpu/intel/tiger-lake + ../../../common/gpu/intel/tiger-lake ../../../common/pc/laptop ../../../common/pc/laptop/ssd ../../battery.nix diff --git a/asus/zephyrus/ga402x/nvidia/default.nix b/asus/zephyrus/ga402x/nvidia/default.nix index 99dfa9b..6f759fd 100644 --- a/asus/zephyrus/ga402x/nvidia/default.nix +++ b/asus/zephyrus/ga402x/nvidia/default.nix @@ -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; diff --git a/common/gpu/24.05-compat.nix b/common/gpu/24.05-compat.nix index 3e3495f..1750888 100644 --- a/common/gpu/24.05-compat.nix +++ b/common/gpu/24.05-compat.nix @@ -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" ]) ]; } diff --git a/common/gpu/amd/default.nix b/common/gpu/amd/default.nix index ca103fc..5373004 100644 --- a/common/gpu/amd/default.nix +++ b/common/gpu/amd/default.nix @@ -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 [ - { - services.xserver.videoDrivers = lib.mkDefault [ "modesetting" ]; + 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.graphics = { + enable = lib.mkDefault true; + enable32Bit = lib.mkDefault true; + }; + + hardware.amdgpu.initrd.enable = lib.mkDefault true; + }; } diff --git a/common/cpu/intel/comet-lake/default.nix b/common/gpu/intel/comet-lake/default.nix similarity index 100% rename from common/cpu/intel/comet-lake/default.nix rename to common/gpu/intel/comet-lake/default.nix diff --git a/common/cpu/intel/elkhart-lake/default.nix b/common/gpu/intel/elkhart-lake/default.nix similarity index 100% rename from common/cpu/intel/elkhart-lake/default.nix rename to common/gpu/intel/elkhart-lake/default.nix diff --git a/common/cpu/intel/jasper-lake/default.nix b/common/gpu/intel/jasper-lake/default.nix similarity index 100% rename from common/cpu/intel/jasper-lake/default.nix rename to common/gpu/intel/jasper-lake/default.nix diff --git a/common/cpu/intel/kaby-lake/default.nix b/common/gpu/intel/kaby-lake/default.nix similarity index 100% rename from common/cpu/intel/kaby-lake/default.nix rename to common/gpu/intel/kaby-lake/default.nix diff --git a/common/cpu/intel/sandy-bridge/default.nix b/common/gpu/intel/sandy-bridge/default.nix similarity index 100% rename from common/cpu/intel/sandy-bridge/default.nix rename to common/gpu/intel/sandy-bridge/default.nix diff --git a/common/cpu/intel/tiger-lake/default.nix b/common/gpu/intel/tiger-lake/default.nix similarity index 100% rename from common/cpu/intel/tiger-lake/default.nix rename to common/gpu/intel/tiger-lake/default.nix diff --git a/common/gpu/nvidia/default.nix b/common/gpu/nvidia/default.nix index 01542ee..df28c06 100644 --- a/common/gpu/nvidia/default.nix +++ b/common/gpu/nvidia/default.nix @@ -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; } diff --git a/dell/inspiron/5509/default.nix b/dell/inspiron/5509/default.nix index e77c9fd..b199e92 100644 --- a/dell/inspiron/5509/default.nix +++ b/dell/inspiron/5509/default.nix @@ -1,7 +1,7 @@ { lib, ... }: { imports = [ - ../../../common/cpu/intel/tiger-lake + ../../../common/gpu/intel/tiger-lake ../../../common/pc/laptop ../../../common/pc/ssd ]; diff --git a/dell/precision/7520/default.nix b/dell/precision/7520/default.nix index 59fa95e..09f8592 100644 --- a/dell/precision/7520/default.nix +++ b/dell/precision/7520/default.nix @@ -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 diff --git a/dell/xps/13-9360/default.nix b/dell/xps/13-9360/default.nix index f1ea378..5c73b8b 100644 --- a/dell/xps/13-9360/default.nix +++ b/dell/xps/13-9360/default.nix @@ -1,6 +1,6 @@ { imports = [ - ../../../common/cpu/intel/kaby-lake + ../../../common/gpu/intel/kaby-lake ../../../common/pc/laptop ]; diff --git a/dell/xps/13-9370/default.nix b/dell/xps/13-9370/default.nix index 10362b3..62dddc5 100644 --- a/dell/xps/13-9370/default.nix +++ b/dell/xps/13-9370/default.nix @@ -2,7 +2,7 @@ { imports = [ - ../../../common/cpu/intel/kaby-lake + ../../../common/gpu/intel/kaby-lake ../../../common/pc/laptop ../../../common/pc/laptop/acpi_call.nix ]; diff --git a/dell/xps/15-9560/default.nix b/dell/xps/15-9560/default.nix index 49e36b1..aee5665 100644 --- a/dell/xps/15-9560/default.nix +++ b/dell/xps/15-9560/default.nix @@ -1,7 +1,7 @@ { imports = [ ../../../common/cpu/intel - ../../../common/cpu/intel/kaby-lake + ../../../common/gpu/intel/kaby-lake ../../../common/pc/laptop ./xps-common.nix diff --git a/dell/xps/15-9560/intel/default.nix b/dell/xps/15-9560/intel/default.nix index 22de3bc..a77cb82 100644 --- a/dell/xps/15-9560/intel/default.nix +++ b/dell/xps/15-9560/intel/default.nix @@ -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 diff --git a/dell/xps/15-9570/default.nix b/dell/xps/15-9570/default.nix index 200dc09..9ef1a89 100644 --- a/dell/xps/15-9570/default.nix +++ b/dell/xps/15-9570/default.nix @@ -2,7 +2,7 @@ { imports = [ ../../../common/cpu/intel - ../../../common/cpu/intel/kaby-lake + ../../../common/gpu/intel/kaby-lake ../../../common/pc/laptop ./xps-common.nix ]; diff --git a/flake.nix b/flake.nix index e8472e4..68a27fe 100644 --- a/flake.nix +++ b/flake.nix @@ -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; diff --git a/google/pixelbook/default.nix b/google/pixelbook/default.nix index 1ea4c7a..0de52ed 100644 --- a/google/pixelbook/default.nix +++ b/google/pixelbook/default.nix @@ -4,6 +4,6 @@ imports = [ ../../common/pc/laptop ../../common/pc/laptop/ssd - ../../common/cpu/intel/kaby-lake + ../../common/gpu/intel/kaby-lake ]; } diff --git a/gpd/p2-max/default.nix b/gpd/p2-max/default.nix index f311864..2c02e17 100644 --- a/gpd/p2-max/default.nix +++ b/gpd/p2-max/default.nix @@ -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 ]; } diff --git a/hardkernel/odroid-h3/default.nix b/hardkernel/odroid-h3/default.nix index e52d3a0..52d5819 100644 --- a/hardkernel/odroid-h3/default.nix +++ b/hardkernel/odroid-h3/default.nix @@ -1,5 +1,5 @@ { imports = [ - ../../common/cpu/intel/jasper-lake + ../../common/gpu/intel/jasper-lake ]; } diff --git a/hp/elitebook/2560p/default.nix b/hp/elitebook/2560p/default.nix index 3802337..ddcc6c3 100644 --- a/hp/elitebook/2560p/default.nix +++ b/hp/elitebook/2560p/default.nix @@ -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 diff --git a/hp/notebook/14-df0023/default.nix b/hp/notebook/14-df0023/default.nix index ca6e30d..b3cbfae 100644 --- a/hp/notebook/14-df0023/default.nix +++ b/hp/notebook/14-df0023/default.nix @@ -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 diff --git a/huawei/machc-wa/default.nix b/huawei/machc-wa/default.nix index e2bc0a8..d92a6a1 100644 --- a/huawei/machc-wa/default.nix +++ b/huawei/machc-wa/default.nix @@ -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 diff --git a/lenovo/legion/15ach6h/hybrid/default.nix b/lenovo/legion/15ach6h/hybrid/default.nix index b9070fb..2f12f7e 100644 --- a/lenovo/legion/15ach6h/hybrid/default.nix +++ b/lenovo/legion/15ach6h/hybrid/default.nix @@ -20,7 +20,7 @@ services.xserver.videoDrivers = [ "nvidia" ]; hardware = { - amdgpu.loadInInitrd = lib.mkDefault false; + amdgpu.initrd.enable = false; nvidia = { modesetting.enable = lib.mkDefault true; diff --git a/lenovo/legion/16ach6h/hybrid/default.nix b/lenovo/legion/16ach6h/hybrid/default.nix index a33a02a..f07b837 100644 --- a/lenovo/legion/16ach6h/hybrid/default.nix +++ b/lenovo/legion/16ach6h/hybrid/default.nix @@ -22,7 +22,7 @@ services.xserver.videoDrivers = [ "nvidia" ]; hardware = { - amdgpu.loadInInitrd = lib.mkDefault false; + amdgpu.initrd.enable = false; nvidia = { modesetting.enable = lib.mkDefault true; diff --git a/lenovo/thinkpad/e470/default.nix b/lenovo/thinkpad/e470/default.nix index 3200732..55aa595 100644 --- a/lenovo/thinkpad/e470/default.nix +++ b/lenovo/thinkpad/e470/default.nix @@ -3,7 +3,7 @@ { imports = [ ../. - ../../../common/cpu/intel/kaby-lake + ../../../common/gpu/intel/kaby-lake ../../../common/gpu/nvidia/prime.nix ]; diff --git a/lenovo/thinkpad/l480/default.nix b/lenovo/thinkpad/l480/default.nix index d000320..2211c06 100644 --- a/lenovo/thinkpad/l480/default.nix +++ b/lenovo/thinkpad/l480/default.nix @@ -2,7 +2,7 @@ { imports = [ ../. - ../../../common/cpu/intel/kaby-lake + ../../../common/gpu/intel/kaby-lake ../../../common/pc/laptop/ssd ]; diff --git a/lenovo/thinkpad/p51/default.nix b/lenovo/thinkpad/p51/default.nix index 9128970..6bd162d 100644 --- a/lenovo/thinkpad/p51/default.nix +++ b/lenovo/thinkpad/p51/default.nix @@ -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 ../. ]; diff --git a/lenovo/thinkpad/t14s/amd/gen4/default.nix b/lenovo/thinkpad/t14s/amd/gen4/default.nix new file mode 100644 index 0000000..d13eb4f --- /dev/null +++ b/lenovo/thinkpad/t14s/amd/gen4/default.nix @@ -0,0 +1,9 @@ +{ lib, pkgs, ... }: +{ + imports = [ + ../. + ]; + + # Fix laptop not properly powering off during shutdown. + boot.kernelParams = [ "apm=power_off" ]; +} diff --git a/lenovo/thinkpad/t420/default.nix b/lenovo/thinkpad/t420/default.nix index a3c7db4..09f5d3f 100644 --- a/lenovo/thinkpad/t420/default.nix +++ b/lenovo/thinkpad/t420/default.nix @@ -2,7 +2,7 @@ imports = [ ../. ../tp-smapi.nix - ../../../common/cpu/intel/sandy-bridge + ../../../common/gpu/intel/sandy-bridge ../../../common/pc/laptop/acpi_call.nix ]; } diff --git a/lenovo/thinkpad/t520/default.nix b/lenovo/thinkpad/t520/default.nix index a3c7db4..09f5d3f 100644 --- a/lenovo/thinkpad/t520/default.nix +++ b/lenovo/thinkpad/t520/default.nix @@ -2,7 +2,7 @@ imports = [ ../. ../tp-smapi.nix - ../../../common/cpu/intel/sandy-bridge + ../../../common/gpu/intel/sandy-bridge ../../../common/pc/laptop/acpi_call.nix ]; } diff --git a/lenovo/thinkpad/w520/default.nix b/lenovo/thinkpad/w520/default.nix index a3c7db4..09f5d3f 100644 --- a/lenovo/thinkpad/w520/default.nix +++ b/lenovo/thinkpad/w520/default.nix @@ -2,7 +2,7 @@ imports = [ ../. ../tp-smapi.nix - ../../../common/cpu/intel/sandy-bridge + ../../../common/gpu/intel/sandy-bridge ../../../common/pc/laptop/acpi_call.nix ]; } diff --git a/lenovo/thinkpad/x220/default.nix b/lenovo/thinkpad/x220/default.nix index ec8b45c..c63333b 100644 --- a/lenovo/thinkpad/x220/default.nix +++ b/lenovo/thinkpad/x220/default.nix @@ -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 ]; diff --git a/lenovo/thinkpad/x260/default.nix b/lenovo/thinkpad/x260/default.nix index c11ef98..409986d 100644 --- a/lenovo/thinkpad/x260/default.nix +++ b/lenovo/thinkpad/x260/default.nix @@ -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"; - }; } diff --git a/lenovo/thinkpad/z/gen2/z13/asound.conf b/lenovo/thinkpad/z/gen2/z13/asound.conf new file mode 100644 index 0000000..e977df7 --- /dev/null +++ b/lenovo/thinkpad/z/gen2/z13/asound.conf @@ -0,0 +1,9 @@ +pcm.!default { + type plug + slave.pcm "hw:1,0" +} + +ctl.!default { + type hw + card 1 +} diff --git a/lenovo/thinkpad/z/gen2/z13/default.nix b/lenovo/thinkpad/z/gen2/z13/default.nix index 5eb6ef0..636d2e0 100644 --- a/lenovo/thinkpad/z/gen2/z13/default.nix +++ b/lenovo/thinkpad/z/gen2/z13/default.nix @@ -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; } diff --git a/lenovo/yoga/7/14ARH7/nvidia/default.nix b/lenovo/yoga/7/14ARH7/nvidia/default.nix index 9707745..0ca5afd 100644 --- a/lenovo/yoga/7/14ARH7/nvidia/default.nix +++ b/lenovo/yoga/7/14ARH7/nvidia/default.nix @@ -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; diff --git a/microsoft/surface/surface-go/default.nix b/microsoft/surface/surface-go/default.nix index fdd13f6..017cd71 100644 --- a/microsoft/surface/surface-go/default.nix +++ b/microsoft/surface/surface-go/default.nix @@ -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 = [ diff --git a/pine64/pinebook-pro/README.md b/pine64/pinebook-pro/README.md index b6c0811..c791634 100644 --- a/pine64/pinebook-pro/README.md +++ b/pine64/pinebook-pro/README.md @@ -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 diff --git a/protectli/vp4670/default.nix b/protectli/vp4670/default.nix index fdaac85..14dcf4c 100644 --- a/protectli/vp4670/default.nix +++ b/protectli/vp4670/default.nix @@ -1,6 +1,6 @@ { imports = [ - ../../common/cpu/intel/comet-lake + ../../common/gpu/intel/comet-lake ]; boot.initrd.kernelModules = [ diff --git a/raspberry-pi/3/default.nix b/raspberry-pi/3/default.nix new file mode 100644 index 0000000..57da74a --- /dev/null +++ b/raspberry-pi/3/default.nix @@ -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" + ]; + +} diff --git a/tests/run.py b/tests/run.py index ec8d8ce..6668b4e 100755 --- a/tests/run.py +++ b/tests/run.py @@ -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(