mirror of
https://github.com/NixOS/nixos-hardware.git
synced 2025-11-08 19:46:10 +01:00
chore: format repo using treefmt-nix and nixfmt-rfc-style
This commit is contained in:
parent
fc7c471412
commit
51e51e6014
266 changed files with 3721 additions and 2733 deletions
|
|
@ -9,10 +9,10 @@
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
"apm=on"
|
"apm=on"
|
||||||
"acpi=on"
|
"acpi=on"
|
||||||
"vga=0x317" # 1024x768
|
"vga=0x317" # 1024x768
|
||||||
"console=tty1"
|
"console=tty1"
|
||||||
"video=vesafb:ywrap" # Faster scroll
|
"video=vesafb:ywrap" # Faster scroll
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.firmware = with pkgs; [ intel2200BGFirmware ];
|
hardware.firmware = with pkgs; [ intel2200BGFirmware ];
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,7 @@
|
||||||
"hid_apple.iso_layout=0"
|
"hid_apple.iso_layout=0"
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.facetimehd.enable = lib.mkDefault
|
hardware.facetimehd.enable = lib.mkDefault (config.nixpkgs.config.allowUnfree or false);
|
||||||
(config.nixpkgs.config.allowUnfree or false);
|
|
||||||
|
|
||||||
services.mbpfan.enable = lib.mkDefault true;
|
services.mbpfan.enable = lib.mkDefault true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../.
|
../.
|
||||||
../../../common/cpu/intel/kaby-lake
|
../../../common/cpu/intel/kaby-lake
|
||||||
|
|
@ -14,7 +15,12 @@
|
||||||
|
|
||||||
# apple smc (TODO: check spi)
|
# apple smc (TODO: check spi)
|
||||||
boot = {
|
boot = {
|
||||||
initrd.kernelModules = ["applespi" "spi_pxa2xx_platform" "intel_lpss_pci" "applesmc" ];
|
initrd.kernelModules = [
|
||||||
|
"applespi"
|
||||||
|
"spi_pxa2xx_platform"
|
||||||
|
"intel_lpss_pci"
|
||||||
|
"applesmc"
|
||||||
|
];
|
||||||
kernelParams = [ "intel_iommu=on" ];
|
kernelParams = [ "intel_iommu=on" ];
|
||||||
kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.0") pkgs.linuxPackages_latest;
|
kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.0") pkgs.linuxPackages_latest;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../.
|
../../.
|
||||||
../../../common/cpu/intel
|
../../../common/cpu/intel
|
||||||
../../../common/pc/laptop
|
../../../common/pc/laptop
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@ in
|
||||||
services.udev.extraRules =
|
services.udev.extraRules =
|
||||||
# Disable XHC1 wakeup signal to avoid resume getting triggered some time
|
# Disable XHC1 wakeup signal to avoid resume getting triggered some time
|
||||||
# after suspend. Reboot required for this to take effect.
|
# after suspend. Reboot required for this to take effect.
|
||||||
lib.optionalString
|
lib.optionalString (lib.versionAtLeast kernelPackages.kernel.version "3.13")
|
||||||
(lib.versionAtLeast kernelPackages.kernel.version "3.13")
|
|
||||||
''SUBSYSTEM=="pci", KERNEL=="0000:00:14.0", ATTR{power/wakeup}="disabled"'';
|
''SUBSYSTEM=="pci", KERNEL=="0000:00:14.0", ATTR{power/wakeup}="disabled"'';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ lib, pkgs, modulesPath, ... }:
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|
@ -19,7 +24,7 @@
|
||||||
powerDownCommands = lib.mkBefore ''
|
powerDownCommands = lib.mkBefore ''
|
||||||
${pkgs.kmod}/bin/rmmod -f -v brcmfmac_wcc 2>/dev/null || true
|
${pkgs.kmod}/bin/rmmod -f -v brcmfmac_wcc 2>/dev/null || true
|
||||||
${pkgs.kmod}/bin/rmmod brcmfmac
|
${pkgs.kmod}/bin/rmmod brcmfmac
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# USB subsystem wakes up MBP right after suspend unless we disable it.
|
# USB subsystem wakes up MBP right after suspend unless we disable it.
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../.
|
../.
|
||||||
../../../common/cpu/intel/kaby-lake
|
../../../common/cpu/intel/kaby-lake
|
||||||
|
|
@ -15,7 +16,12 @@
|
||||||
# https://www.kernelconfig.io/config_keyboard_applespi
|
# https://www.kernelconfig.io/config_keyboard_applespi
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd.kernelModules = ["applespi" "spi_pxa2xx_platform" "intel_lpss_pci" "applesmc" ];
|
initrd.kernelModules = [
|
||||||
|
"applespi"
|
||||||
|
"spi_pxa2xx_platform"
|
||||||
|
"intel_lpss_pci"
|
||||||
|
"applesmc"
|
||||||
|
];
|
||||||
kernelParams = [ "intel_iommu=on" ];
|
kernelParams = [ "intel_iommu=on" ];
|
||||||
kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.0") pkgs.linuxPackages_latest;
|
kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.0") pkgs.linuxPackages_latest;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ let
|
||||||
overrideAudioFiles =
|
overrideAudioFiles =
|
||||||
package: pluginsPath:
|
package: pluginsPath:
|
||||||
package.overrideAttrs (
|
package.overrideAttrs (
|
||||||
new: old: {
|
_new: old: {
|
||||||
preConfigurePhases = old.preConfigurePhases or [ ] ++ [ "postPatchPhase" ];
|
preConfigurePhases = old.preConfigurePhases or [ ] ++ [ "postPatchPhase" ];
|
||||||
postPatchPhase = ''
|
postPatchPhase = ''
|
||||||
cp -r ${audioFiles}/files/{profile-sets,paths} ${pluginsPath}/alsa/mixer/
|
cp -r ${audioFiles}/files/{profile-sets,paths} ${pluginsPath}/alsa/mixer/
|
||||||
|
|
@ -106,11 +106,16 @@ in
|
||||||
powerManagement.enable = true;
|
powerManagement.enable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
(if lib.versionAtLeast nixosVersion "25.05" then {
|
(
|
||||||
services.pulseaudio.package = overrideAudioFiles pkgs.pulseaudio "src/modules/";
|
if lib.versionAtLeast nixosVersion "25.05" then
|
||||||
} else {
|
{
|
||||||
hardware.pulseaudio.package = overrideAudioFiles pkgs.pulseaudio "src/modules/";
|
services.pulseaudio.package = overrideAudioFiles pkgs.pulseaudio "src/modules/";
|
||||||
})
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hardware.pulseaudio.package = overrideAudioFiles pkgs.pulseaudio "src/modules/";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
(lib.mkIf t2Cfg.enableIGPU {
|
(lib.mkIf t2Cfg.enableIGPU {
|
||||||
# Enable the iGPU by default if present
|
# Enable the iGPU by default if present
|
||||||
|
|
|
||||||
|
|
@ -11,5 +11,7 @@
|
||||||
|
|
||||||
# 6.5 adds many fixes and improvements for the Ally
|
# 6.5 adds many fixes and improvements for the Ally
|
||||||
# This includes for example performance, audio and bluetooth
|
# This includes for example performance, audio and bluetooth
|
||||||
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.5") (lib.mkDefault pkgs.linuxPackages_latest);
|
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.5") (
|
||||||
|
lib.mkDefault pkgs.linuxPackages_latest
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
p = pkgs.writeScriptBin "charge-upto" ''
|
p = pkgs.writeScriptBin "charge-upto" ''
|
||||||
echo ''${0:-100} > /sys/class/power_supply/BAT?/charge_control_end_threshold
|
echo ''${0:-100} > /sys/class/power_supply/BAT?/charge_control_end_threshold
|
||||||
|
|
@ -22,8 +27,14 @@ in
|
||||||
config = {
|
config = {
|
||||||
environment.systemPackages = lib.mkIf cfg.enableChargeUptoScript [ p ];
|
environment.systemPackages = lib.mkIf cfg.enableChargeUptoScript [ p ];
|
||||||
systemd.services.battery-charge-threshold = {
|
systemd.services.battery-charge-threshold = {
|
||||||
wantedBy = [ "local-fs.target" "suspend.target" ];
|
wantedBy = [
|
||||||
after = [ "local-fs.target" "suspend.target" ];
|
"local-fs.target"
|
||||||
|
"suspend.target"
|
||||||
|
];
|
||||||
|
after = [
|
||||||
|
"local-fs.target"
|
||||||
|
"suspend.target"
|
||||||
|
];
|
||||||
description = "Set the battery charge threshold to ${toString cfg.chargeUpto}%";
|
description = "Set the battery charge threshold to ${toString cfg.chargeUpto}%";
|
||||||
startLimitBurst = 5;
|
startLimitBurst = 5;
|
||||||
startLimitIntervalSec = 1;
|
startLimitIntervalSec = 1;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../common/cpu/amd
|
../../common/cpu/amd
|
||||||
../../common/cpu/amd/raphael/igpu.nix
|
../../common/cpu/amd/raphael/igpu.nix
|
||||||
|
|
@ -20,7 +21,9 @@
|
||||||
|
|
||||||
# The bottom 2 parts are taken from the framework 16-inch laptops configurations.
|
# The bottom 2 parts are taken from the framework 16-inch laptops configurations.
|
||||||
# Workaround for SuspendThenHibernate: https://lore.kernel.org/linux-kernel/20231106162310.85711-1-mario.limonciello@amd.com/
|
# Workaround for SuspendThenHibernate: https://lore.kernel.org/linux-kernel/20231106162310.85711-1-mario.limonciello@amd.com/
|
||||||
boot.kernelParams = lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") ["rtc_cmos.use_acpi_alarm=1"];
|
boot.kernelParams =
|
||||||
|
lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8")
|
||||||
|
[ "rtc_cmos.use_acpi_alarm=1" ];
|
||||||
|
|
||||||
# AMD has better battery life with PPD over TLP:
|
# AMD has better battery life with PPD over TLP:
|
||||||
# https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13
|
# https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
{ ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../common/cpu/amd
|
../../common/cpu/amd
|
||||||
../../common/gpu/nvidia/prime.nix
|
../../common/gpu/nvidia/prime.nix
|
||||||
../../common/gpu/nvidia/ampere
|
../../common/gpu/nvidia/ampere
|
||||||
../../common/pc/laptop
|
../../common/pc/laptop
|
||||||
../../common/pc/ssd
|
../../common/pc/ssd
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.nvidia.prime = {
|
hardware.nvidia.prime = {
|
||||||
amdgpuBusId = "PCI:5:0:0";
|
amdgpuBusId = "PCI:5:0:0";
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
nvidiaBusId = "PCI:1:0:0";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{ config,
|
{
|
||||||
|
config,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
@ -7,15 +8,22 @@ let
|
||||||
inherit (lib) mkEnableOption mkIf mkMerge;
|
inherit (lib) mkEnableOption mkIf mkMerge;
|
||||||
cfg = config.hardware.asus.flow.gv302x;
|
cfg = config.hardware.asus.flow.gv302x;
|
||||||
|
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../shared.nix
|
../shared.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
options.hardware.asus.flow.gv302x.amdgpu = {
|
options.hardware.asus.flow.gv302x.amdgpu = {
|
||||||
recovery.enable = (mkEnableOption "Enable amdgpu.gpu_recovery kernel boot param") // { default = false; };
|
recovery.enable = (mkEnableOption "Enable amdgpu.gpu_recovery kernel boot param") // {
|
||||||
sg_display.enable = (mkEnableOption "Enable amdgpu.gpu_recovery kernel boot param") // { default = true; };
|
default = false;
|
||||||
psr.enable = (mkEnableOption "Enable amdgpu.dcdebugmask=0x10 kernel boot param") // { default = true; };
|
};
|
||||||
|
sg_display.enable = (mkEnableOption "Enable amdgpu.gpu_recovery kernel boot param") // {
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
psr.enable = (mkEnableOption "Enable amdgpu.dcdebugmask=0x10 kernel boot param") // {
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkMerge [
|
config = mkMerge [
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib,
|
{
|
||||||
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
|
|
@ -7,7 +8,8 @@
|
||||||
let
|
let
|
||||||
inherit (lib) mkDefault;
|
inherit (lib) mkDefault;
|
||||||
|
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../shared.nix
|
../shared.nix
|
||||||
## "prime.nix" loads this, aleady:
|
## "prime.nix" loads this, aleady:
|
||||||
|
|
@ -23,8 +25,6 @@ in {
|
||||||
blacklistedKernelModules = [ "nouveau" ];
|
blacklistedKernelModules = [ "nouveau" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
## Enable the Nvidia card, as well as Prime and Offload:
|
## Enable the Nvidia card, as well as Prime and Offload:
|
||||||
amdgpu.initrd.enable = mkDefault true;
|
amdgpu.initrd.enable = mkDefault true;
|
||||||
|
|
@ -49,7 +49,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
dynamicBoost.enable = mkDefault true;
|
dynamicBoost.enable = mkDefault true;
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,23 @@
|
||||||
{ config,
|
{
|
||||||
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (lib) mkDefault mkEnableOption mkIf mkMerge version versionAtLeast versionOlder;
|
inherit (lib)
|
||||||
|
mkDefault
|
||||||
|
mkEnableOption
|
||||||
|
mkIf
|
||||||
|
mkMerge
|
||||||
|
version
|
||||||
|
versionAtLeast
|
||||||
|
;
|
||||||
|
|
||||||
cfg = config.hardware.asus.flow.gv302x;
|
cfg = config.hardware.asus.flow.gv302x;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
../../../common/cpu/amd
|
../../../common/cpu/amd
|
||||||
|
|
@ -26,12 +35,12 @@ in {
|
||||||
# enables it for kernel 6.9.x onwards.
|
# enables it for kernel 6.9.x onwards.
|
||||||
#
|
#
|
||||||
# Note: the device name is "ASUS N-KEY Device".
|
# Note: the device name is "ASUS N-KEY Device".
|
||||||
keyboard.autosuspend.enable = (
|
keyboard.autosuspend.enable =
|
||||||
mkEnableOption "Enable auto-suspend on the internal USB keyboard (ASUS N-KEY Device) on Flow GV302X"
|
(mkEnableOption "Enable auto-suspend on the internal USB keyboard (ASUS N-KEY Device) on Flow GV302X")
|
||||||
) // {
|
// {
|
||||||
default = versionAtLeast config.boot.kernelPackages.kernel.version "6.9";
|
default = versionAtLeast config.boot.kernelPackages.kernel.version "6.9";
|
||||||
defaultText = lib.literalExpression "lib.versionAtLeast config.boot.kernelPackages.kernel.version \"6.9\"";
|
defaultText = lib.literalExpression "lib.versionAtLeast config.boot.kernelPackages.kernel.version \"6.9\"";
|
||||||
};
|
};
|
||||||
# The ASUS 8295 ITE device will cause an immediate wake-up when trying to suspend the laptop.
|
# The ASUS 8295 ITE device will cause an immediate wake-up when trying to suspend the laptop.
|
||||||
# After the first successful hibernate, it will work as expected, however.
|
# After the first successful hibernate, it will work as expected, however.
|
||||||
# NOTE: I'm not actually sure what this device, as neither the touchpad nor the M1-M4 keys cause a wake-up.
|
# NOTE: I'm not actually sure what this device, as neither the touchpad nor the M1-M4 keys cause a wake-up.
|
||||||
|
|
@ -63,7 +72,7 @@ in {
|
||||||
evdev:name:*:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:*
|
evdev:name:*:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:*
|
||||||
KEYBOARD_KEY_ff31007c=f20
|
KEYBOARD_KEY_ff31007c=f20
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
#flow devices are 2 in 1 laptops
|
#flow devices are 2 in 1 laptops
|
||||||
|
|
@ -71,7 +80,7 @@ in {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
(mkIf (! cfg.keyboard.autosuspend.enable) {
|
(mkIf (!cfg.keyboard.autosuspend.enable) {
|
||||||
services.udev.extraRules = ''
|
services.udev.extraRules = ''
|
||||||
# Disable power auto-suspend for the ASUS N-KEY device, i.e. USB Keyboard.
|
# Disable power auto-suspend for the ASUS N-KEY device, i.e. USB Keyboard.
|
||||||
# Otherwise on certain kernel-versions, it will tend to take 1-2 key-presses to wake-up after the device suspends.
|
# Otherwise on certain kernel-versions, it will tend to take 1-2 key-presses to wake-up after the device suspends.
|
||||||
|
|
@ -79,7 +88,7 @@ in {
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
||||||
(mkIf (! cfg.ite-device.wakeup.enable) {
|
(mkIf (!cfg.ite-device.wakeup.enable) {
|
||||||
services.udev.extraRules = ''
|
services.udev.extraRules = ''
|
||||||
# Disable power wakeup for the 8295 ITE device.
|
# Disable power wakeup for the 8295 ITE device.
|
||||||
# Otherwise on certain kernel-versions, it will tend to cause the laptop to immediately wake-up when suspending.
|
# Otherwise on certain kernel-versions, it will tend to cause the laptop to immediately wake-up when suspending.
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../common/cpu/intel
|
../../common/cpu/intel
|
||||||
../../common/pc/laptop
|
../../common/pc/laptop
|
||||||
];
|
];
|
||||||
|
|
||||||
#Nouveau doesn't work at all on this model.
|
#Nouveau doesn't work at all on this model.
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
|
||||||
../../common/cpu/intel
|
../../common/cpu/intel
|
||||||
../../common/gpu/nvidia
|
../../common/gpu/nvidia
|
||||||
../../common/gpu/nvidia/prime.nix
|
../../common/gpu/nvidia/prime.nix
|
||||||
|
|
@ -11,14 +10,12 @@
|
||||||
../battery.nix
|
../battery.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.nvidia =
|
hardware.nvidia = {
|
||||||
{
|
|
||||||
modesetting.enable = lib.mkDefault true;
|
modesetting.enable = lib.mkDefault true;
|
||||||
open = lib.mkIf (lib.versionAtLeast config.hardware.nvidia.package.version "555") true;
|
open = lib.mkIf (lib.versionAtLeast config.hardware.nvidia.package.version "555") true;
|
||||||
|
|
||||||
prime =
|
prime = {
|
||||||
{
|
intelBusId = "PCI:0:2:0";
|
||||||
intelBusId = "PCI:0:2:0";
|
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
nvidiaBusId = "PCI:1:0:0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,17 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../../common/cpu/amd
|
../../../common/cpu/amd
|
||||||
../../../common/cpu/amd/pstate.nix
|
../../../common/cpu/amd/pstate.nix
|
||||||
../../../common/gpu/nvidia
|
../../../common/gpu/nvidia
|
||||||
../../../common/gpu/nvidia/prime.nix
|
../../../common/gpu/nvidia/prime.nix
|
||||||
../../../common/gpu/nvidia/ampere
|
../../../common/gpu/nvidia/ampere
|
||||||
../../../common/pc/laptop
|
../../../common/pc/laptop
|
||||||
../../../common/pc/ssd
|
../../../common/pc/ssd
|
||||||
../../battery.nix
|
../../battery.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.nvidia.prime = {
|
hardware.nvidia.prime = {
|
||||||
amdgpuBusId = "PCI:05:00:0";
|
amdgpuBusId = "PCI:05:00:0";
|
||||||
nvidiaBusId = "PCI:01:00:0";
|
nvidiaBusId = "PCI:01:00:0";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,5 +13,5 @@
|
||||||
hardware.nvidia.prime = {
|
hardware.nvidia.prime = {
|
||||||
intelBusId = "PCI:0:2:0";
|
intelBusId = "PCI:0:2:0";
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
nvidiaBusId = "PCI:1:0:0";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../../common/cpu/amd
|
../../../common/cpu/amd
|
||||||
../../../common/cpu/amd/pstate.nix
|
../../../common/cpu/amd/pstate.nix
|
||||||
../../../common/gpu/nvidia
|
../../../common/gpu/nvidia
|
||||||
../../../common/gpu/nvidia/prime.nix
|
../../../common/gpu/nvidia/prime.nix
|
||||||
../../../common/gpu/nvidia/ampere
|
../../../common/gpu/nvidia/ampere
|
||||||
../../../common/pc/laptop
|
../../../common/pc/laptop
|
||||||
../../../common/pc/ssd
|
../../../common/pc/ssd
|
||||||
../../battery.nix
|
../../battery.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.nvidia.prime = {
|
hardware.nvidia.prime = {
|
||||||
amdgpuBusId = "PCI:5:0:0";
|
amdgpuBusId = "PCI:5:0:0";
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
nvidiaBusId = "PCI:1:0:0";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,9 @@
|
||||||
options snd-hda-intel patch=hda-jack-retask.fw
|
options snd-hda-intel patch=hda-jack-retask.fw
|
||||||
'';
|
'';
|
||||||
# before 5.12 it would interpret every keystroke as the power button
|
# before 5.12 it would interpret every keystroke as the power button
|
||||||
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.12") (lib.mkDefault pkgs.linuxPackages_latest);
|
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.12") (
|
||||||
|
lib.mkDefault pkgs.linuxPackages_latest
|
||||||
|
);
|
||||||
|
|
||||||
hardware.nvidia.prime = {
|
hardware.nvidia.prime = {
|
||||||
amdgpuBusId = "PCI:5:0:0";
|
amdgpuBusId = "PCI:5:0:0";
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{lib, ...}:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../shared.nix
|
../shared.nix
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.nvidia = {
|
hardware.nvidia = {
|
||||||
prime = {
|
prime = {
|
||||||
intelBusId = "PCI:0:2:0";
|
intelBusId = "PCI:0:2:0";
|
||||||
nvidiaBusId = "PCI:2:0:0";
|
nvidiaBusId = "PCI:2:0:0";
|
||||||
};
|
};
|
||||||
|
|
||||||
dynamicBoost.enable = lib.mkForce false; # Dynamic boost is not supported on Pascal architeture
|
dynamicBoost.enable = lib.mkForce false; # Dynamic boost is not supported on Pascal architeture
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{ config,
|
{
|
||||||
|
config,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
@ -7,15 +8,22 @@ let
|
||||||
inherit (lib) mkEnableOption mkIf mkMerge;
|
inherit (lib) mkEnableOption mkIf mkMerge;
|
||||||
cfg = config.hardware.asus.zephyrus.ga402x;
|
cfg = config.hardware.asus.zephyrus.ga402x;
|
||||||
|
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../shared.nix
|
../shared.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
options.hardware.asus.zephyrus.ga402x.amdgpu = {
|
options.hardware.asus.zephyrus.ga402x.amdgpu = {
|
||||||
recovery.enable = (mkEnableOption "Enable amdgpu.gpu_recovery kernel boot param") // { default = false; };
|
recovery.enable = (mkEnableOption "Enable amdgpu.gpu_recovery kernel boot param") // {
|
||||||
sg_display.enable = (mkEnableOption "Enable amdgpu.gpu_recovery kernel boot param") // { default = true; };
|
default = false;
|
||||||
psr.enable = (mkEnableOption "Enable amdgpu.dcdebugmask=0x10 kernel boot param") // { default = true; };
|
};
|
||||||
|
sg_display.enable = (mkEnableOption "Enable amdgpu.gpu_recovery kernel boot param") // {
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
psr.enable = (mkEnableOption "Enable amdgpu.dcdebugmask=0x10 kernel boot param") // {
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkMerge [
|
config = mkMerge [
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib,
|
{
|
||||||
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
@ -6,7 +7,8 @@
|
||||||
let
|
let
|
||||||
inherit (lib) mkDefault;
|
inherit (lib) mkDefault;
|
||||||
|
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../shared.nix
|
../shared.nix
|
||||||
## "prime.nix" loads this, aleady:
|
## "prime.nix" loads this, aleady:
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,24 @@
|
||||||
{ config,
|
{
|
||||||
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (lib) mkDefault mkEnableOption mkIf mkMerge version versionAtLeast versionOlder;
|
inherit (lib)
|
||||||
|
mkDefault
|
||||||
|
mkEnableOption
|
||||||
|
mkIf
|
||||||
|
mkMerge
|
||||||
|
version
|
||||||
|
versionAtLeast
|
||||||
|
versionOlder
|
||||||
|
;
|
||||||
|
|
||||||
cfg = config.hardware.asus.zephyrus.ga402x;
|
cfg = config.hardware.asus.zephyrus.ga402x;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
../../../common/cpu/amd
|
../../../common/cpu/amd
|
||||||
|
|
@ -26,12 +36,12 @@ in {
|
||||||
# enables it for kernel 6.9.x onwards.
|
# enables it for kernel 6.9.x onwards.
|
||||||
#
|
#
|
||||||
# Note: the device name is "ASUS N-KEY Device".
|
# Note: the device name is "ASUS N-KEY Device".
|
||||||
keyboard.autosuspend.enable = (
|
keyboard.autosuspend.enable =
|
||||||
mkEnableOption "Enable auto-suspend on the internal USB keyboard (ASUS N-KEY Device) on Zephyrus GA402X"
|
(mkEnableOption "Enable auto-suspend on the internal USB keyboard (ASUS N-KEY Device) on Zephyrus GA402X")
|
||||||
) // {
|
// {
|
||||||
default = versionAtLeast config.boot.kernelPackages.kernel.version "6.9";
|
default = versionAtLeast config.boot.kernelPackages.kernel.version "6.9";
|
||||||
defaultText = lib.literalExpression "lib.versionAtLeast config.boot.kernelPackages.kernel.version \"6.9\"";
|
defaultText = lib.literalExpression "lib.versionAtLeast config.boot.kernelPackages.kernel.version \"6.9\"";
|
||||||
};
|
};
|
||||||
# The ASUS 8295 ITE device will cause an immediate wake-up when trying to suspend the laptop.
|
# The ASUS 8295 ITE device will cause an immediate wake-up when trying to suspend the laptop.
|
||||||
# After the first successful hibernate, it will work as expected, however.
|
# After the first successful hibernate, it will work as expected, however.
|
||||||
# NOTE: I'm not actually sure what this device, as neither the touchpad nor the M1-M4 keys cause a wake-up.
|
# NOTE: I'm not actually sure what this device, as neither the touchpad nor the M1-M4 keys cause a wake-up.
|
||||||
|
|
@ -67,7 +77,7 @@ in {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
(mkIf (! cfg.keyboard.autosuspend.enable) {
|
(mkIf (!cfg.keyboard.autosuspend.enable) {
|
||||||
services.udev.extraRules = ''
|
services.udev.extraRules = ''
|
||||||
# Disable power auto-suspend for the ASUS N-KEY device, i.e. USB Keyboard.
|
# Disable power auto-suspend for the ASUS N-KEY device, i.e. USB Keyboard.
|
||||||
# Otherwise on certain kernel-versions, it will tend to take 1-2 key-presses to wake-up after the device suspends.
|
# Otherwise on certain kernel-versions, it will tend to take 1-2 key-presses to wake-up after the device suspends.
|
||||||
|
|
@ -75,7 +85,7 @@ in {
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
||||||
(mkIf (! cfg.ite-device.wakeup.enable) {
|
(mkIf (!cfg.ite-device.wakeup.enable) {
|
||||||
services.udev.extraRules = ''
|
services.udev.extraRules = ''
|
||||||
# Disable power wakeup for the 8295 ITE device.
|
# Disable power wakeup for the 8295 ITE device.
|
||||||
# Otherwise on certain kernel-versions, it will tend to cause the laptop to immediately wake-up when suspending.
|
# Otherwise on certain kernel-versions, it will tend to cause the laptop to immediately wake-up when suspending.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{ ... }: {
|
{ ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../common/cpu/intel
|
../../common/cpu/intel
|
||||||
../../common/pc/laptop
|
../../common/pc/laptop
|
||||||
|
|
@ -6,6 +7,8 @@
|
||||||
../../common/hidpi.nix
|
../../common/hidpi.nix
|
||||||
];
|
];
|
||||||
# Fixes the display being rotated 90 degrees.
|
# Fixes the display being rotated 90 degrees.
|
||||||
boot.kernelParams =
|
boot.kernelParams = [
|
||||||
[ "fbcon=rotate:1" "video=DSI-1:panel_orientation=right_side_up" ];
|
"fbcon=rotate:1"
|
||||||
|
"video=DSI-1:panel_orientation=right_side_up"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
hardware.cpu.amd.updateMicrocode =
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,23 +8,13 @@ in
|
||||||
|
|
||||||
imports = [ ./. ];
|
imports = [ ./. ];
|
||||||
boot = lib.mkMerge [
|
boot = lib.mkMerge [
|
||||||
(lib.mkIf
|
(lib.mkIf ((lib.versionAtLeast kver "5.17") && (lib.versionOlder kver "6.1")) {
|
||||||
(
|
kernelParams = [ "initcall_blacklist=acpi_cpufreq_init" ];
|
||||||
(lib.versionAtLeast kver "5.17")
|
kernelModules = [ "amd-pstate" ];
|
||||||
&& (lib.versionOlder kver "6.1")
|
})
|
||||||
)
|
(lib.mkIf ((lib.versionAtLeast kver "6.1") && (lib.versionOlder kver "6.3")) {
|
||||||
{
|
kernelParams = [ "amd_pstate=passive" ];
|
||||||
kernelParams = [ "initcall_blacklist=acpi_cpufreq_init" ];
|
})
|
||||||
kernelModules = [ "amd-pstate" ];
|
|
||||||
})
|
|
||||||
(lib.mkIf
|
|
||||||
(
|
|
||||||
(lib.versionAtLeast kver "6.1")
|
|
||||||
&& (lib.versionOlder kver "6.3")
|
|
||||||
)
|
|
||||||
{
|
|
||||||
kernelParams = [ "amd_pstate=passive" ];
|
|
||||||
})
|
|
||||||
(lib.mkIf (lib.versionAtLeast kver "6.3") {
|
(lib.mkIf (lib.versionAtLeast kver "6.3") {
|
||||||
kernelParams = [ "amd_pstate=active" ];
|
kernelParams = [ "amd_pstate=active" ];
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,18 @@
|
||||||
# Backward-compat for 24.05, can be removed after we drop 24.05 support
|
# Backward-compat for 24.05, can be removed after we drop 24.05 support
|
||||||
imports = lib.optionals (lib.versionOlder lib.version "24.11pre") [
|
imports = lib.optionals (lib.versionOlder lib.version "24.11pre") [
|
||||||
(lib.mkAliasOptionModule [ "hardware" "graphics" "enable" ] [ "hardware" "opengl" "enable" ])
|
(lib.mkAliasOptionModule [ "hardware" "graphics" "enable" ] [ "hardware" "opengl" "enable" ])
|
||||||
(lib.mkAliasOptionModule [ "hardware" "graphics" "extraPackages" ] [ "hardware" "opengl" "extraPackages" ])
|
(lib.mkAliasOptionModule
|
||||||
(lib.mkAliasOptionModule [ "hardware" "graphics" "extraPackages32" ] [ "hardware" "opengl" "extraPackages32" ])
|
[ "hardware" "graphics" "extraPackages" ]
|
||||||
(lib.mkAliasOptionModule [ "hardware" "graphics" "enable32Bit" ] [ "hardware" "opengl" "driSupport32Bit" ])
|
[ "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" "package" ] [ "hardware" "opengl" "package" ])
|
||||||
(lib.mkAliasOptionModule [ "hardware" "graphics" "package32" ] [ "hardware" "opengl" "package32" ])
|
(lib.mkAliasOptionModule [ "hardware" "graphics" "package32" ] [ "hardware" "opengl" "package32" ])
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
{
|
{
|
||||||
imports = [ ../. ];
|
imports = [ ../. ];
|
||||||
# Explicitly set amdgpu support in place of radeon
|
# Explicitly set amdgpu support in place of radeon
|
||||||
boot.kernelParams = [ "radeon.cik_support=0" "amdgpu.cik_support=1" ];
|
boot.kernelParams = [
|
||||||
|
"radeon.cik_support=0"
|
||||||
|
"amdgpu.cik_support=1"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
{
|
{
|
||||||
imports = [ ../. ];
|
imports = [ ../. ];
|
||||||
# Explicitly set amdgpu support in place of radeon
|
# Explicitly set amdgpu support in place of radeon
|
||||||
boot.kernelParams = [ "radeon.si_support=0" "amdgpu.si_support=1" ];
|
boot.kernelParams = [
|
||||||
|
"radeon.si_support=0"
|
||||||
|
"amdgpu.si_support=1"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,11 +45,15 @@
|
||||||
intel-vaapi-driver = (pkgs.intel-vaapi-driver or pkgs.vaapiIntel).override {
|
intel-vaapi-driver = (pkgs.intel-vaapi-driver or pkgs.vaapiIntel).override {
|
||||||
enableHybridCodec = cfg.enableHybridCodec;
|
enableHybridCodec = cfg.enableHybridCodec;
|
||||||
};
|
};
|
||||||
intel-vaapi-driver-32 = (pkgs.driversi686Linux.intel-vaapi-driver or pkgs.driversi686Linux.vaapiIntel).override {
|
intel-vaapi-driver-32 =
|
||||||
enableHybridCodec = cfg.enableHybridCodec;
|
(pkgs.driversi686Linux.intel-vaapi-driver or pkgs.driversi686Linux.vaapiIntel).override
|
||||||
};
|
{
|
||||||
|
enableHybridCodec = cfg.enableHybridCodec;
|
||||||
|
};
|
||||||
|
|
||||||
useIntelOcl = useIntelVaapiDriver && (config.hardware.enableAllFirmware or config.nixpkgs.config.allowUnfree or false);
|
useIntelOcl =
|
||||||
|
useIntelVaapiDriver
|
||||||
|
&& (config.hardware.enableAllFirmware or config.nixpkgs.config.allowUnfree or false);
|
||||||
intel-ocl = pkgs.intel-ocl;
|
intel-ocl = pkgs.intel-ocl;
|
||||||
|
|
||||||
useIntelMediaDriver = cfg.vaapiDriver == "intel-media-driver" || cfg.vaapiDriver == null;
|
useIntelMediaDriver = cfg.vaapiDriver == "intel-media-driver" || cfg.vaapiDriver == null;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{lib, config, ...}:
|
{ lib, config, ... }:
|
||||||
let
|
let
|
||||||
nvidiaPackage = config.hardware.nvidia.package;
|
nvidiaPackage = config.hardware.nvidia.package;
|
||||||
in
|
in
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{lib, config, ...}:
|
{ lib, config, ... }:
|
||||||
let
|
let
|
||||||
nvidiaPackage = config.hardware.nvidia.package;
|
nvidiaPackage = config.hardware.nvidia.package;
|
||||||
in
|
in
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
blacklist nouveau
|
blacklist nouveau
|
||||||
options nouveau modeset=0
|
options nouveau modeset=0
|
||||||
'';
|
'';
|
||||||
|
|
||||||
services.udev.extraRules = ''
|
services.udev.extraRules = ''
|
||||||
# Remove NVIDIA USB xHCI Host Controller devices, if present
|
# Remove NVIDIA USB xHCI Host Controller devices, if present
|
||||||
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{power/control}="auto", ATTR{remove}="1"
|
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{power/control}="auto", ATTR{remove}="1"
|
||||||
|
|
@ -22,5 +22,10 @@
|
||||||
# Remove NVIDIA VGA/3D controller devices
|
# Remove NVIDIA VGA/3D controller devices
|
||||||
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x03[0-9]*", ATTR{power/control}="auto", ATTR{remove}="1"
|
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x03[0-9]*", ATTR{power/control}="auto", ATTR{remove}="1"
|
||||||
'';
|
'';
|
||||||
boot.blacklistedKernelModules = [ "nouveau" "nvidia" "nvidia_drm" "nvidia_modeset" ];
|
boot.blacklistedKernelModules = [
|
||||||
|
"nouveau"
|
||||||
|
"nvidia"
|
||||||
|
"nvidia_drm"
|
||||||
|
"nvidia_modeset"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{lib, ...}:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
imports = [ ../. ];
|
imports = [ ../. ];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{lib, ...}:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
imports = [ ../. ];
|
imports = [ ../. ];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{lib, ...}:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
imports = [ ../. ];
|
imports = [ ../. ];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
specialisation = lib.mkIf config.hardware.nvidia.primeBatterySaverSpecialisation {
|
specialisation = lib.mkIf config.hardware.nvidia.primeBatterySaverSpecialisation {
|
||||||
battery-saver.configuration = {
|
battery-saver.configuration = {
|
||||||
system.nixos.tags = ["battery-saver"];
|
system.nixos.tags = [ "battery-saver" ];
|
||||||
imports = [
|
imports = [
|
||||||
# Leave only the integrated GPU enabled
|
# Leave only the integrated GPU enabled
|
||||||
./disable.nix
|
./disable.nix
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
prime.offload.enable = lib.mkForce false;
|
prime.offload.enable = lib.mkForce false;
|
||||||
powerManagement = {
|
powerManagement = {
|
||||||
enable = lib.mkForce false;
|
enable = lib.mkForce false;
|
||||||
finegrained = lib.mkForce false;
|
finegrained = lib.mkForce false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{lib, config, ...}:
|
{ lib, config, ... }:
|
||||||
let
|
let
|
||||||
nvidiaPackage = config.hardware.nvidia.package;
|
nvidiaPackage = config.hardware.nvidia.package;
|
||||||
in
|
in
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@
|
||||||
# Gnome 40 introduced a new way of managing power, without tlp.
|
# Gnome 40 introduced a new way of managing power, without tlp.
|
||||||
# However, these 2 services clash when enabled simultaneously.
|
# However, these 2 services clash when enabled simultaneously.
|
||||||
# https://github.com/NixOS/nixos-hardware/issues/260
|
# https://github.com/NixOS/nixos-hardware/issues/260
|
||||||
services.tlp.enable = lib.mkDefault ((lib.versionOlder (lib.versions.majorMinor lib.version) "21.05")
|
services.tlp.enable = lib.mkDefault (
|
||||||
|| !config.services.power-profiles-daemon.enable);
|
(lib.versionOlder (lib.versions.majorMinor lib.version) "21.05")
|
||||||
|
|| !config.services.power-profiles-daemon.enable
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
# This file is necessary so nix-env -qa does not break,
|
# This file is necessary so nix-env -qa does not break,
|
||||||
# when nixos-hardware is used as a channel
|
# when nixos-hardware is used as a channel
|
||||||
{}
|
{ }
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,22 @@
|
||||||
{ lib, ... }:
|
{ lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../../common/cpu/intel
|
../../../common/cpu/intel
|
||||||
../../../common/pc/laptop
|
../../../common/pc/laptop
|
||||||
../../../common/pc/ssd
|
../../../common/pc/ssd
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
enableRedistributableFirmware = lib.mkDefault true;
|
enableRedistributableFirmware = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
fwupd = {
|
fwupd = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
thermald = {
|
thermald = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,10 @@
|
||||||
serviceConfig.Type = "oneshot";
|
serviceConfig.Type = "oneshot";
|
||||||
description = "reload touchpad driver";
|
description = "reload touchpad driver";
|
||||||
# must run at boot (and not too early), and after suspend
|
# must run at boot (and not too early), and after suspend
|
||||||
wantedBy = [ "display-manager.service" "post-resume.target" ];
|
wantedBy = [
|
||||||
|
"display-manager.service"
|
||||||
|
"post-resume.target"
|
||||||
|
];
|
||||||
# prevent running before suspend
|
# prevent running before suspend
|
||||||
after = [ "post-resume.target" ];
|
after = [ "post-resume.target" ];
|
||||||
};
|
};
|
||||||
|
|
@ -24,7 +27,6 @@
|
||||||
# so that post-resume.service exists
|
# so that post-resume.service exists
|
||||||
powerManagement.enable = true;
|
powerManagement.enable = true;
|
||||||
|
|
||||||
|
|
||||||
# fix suspend
|
# fix suspend
|
||||||
# https://bbs.archlinux.org/viewtopic.php?id=266108 says linux >= 5.12 required
|
# https://bbs.archlinux.org/viewtopic.php?id=266108 says linux >= 5.12 required
|
||||||
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.12") pkgs.linuxPackages_latest;
|
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.12") pkgs.linuxPackages_latest;
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,10 @@ with lib;
|
||||||
];
|
];
|
||||||
|
|
||||||
# TSC is unstable
|
# TSC is unstable
|
||||||
boot.kernelParams = [ "notsc" "trace_clock=local" ];
|
boot.kernelParams = [
|
||||||
|
"notsc"
|
||||||
|
"trace_clock=local"
|
||||||
|
];
|
||||||
|
|
||||||
hardware.enableRedistributableFirmware = mkDefault true;
|
hardware.enableRedistributableFirmware = mkDefault true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
enableRedistributableFirmware = lib.mkDefault true;
|
enableRedistributableFirmware = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
thermald.enable = lib.mkDefault true;
|
thermald.enable = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,13 @@
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
# Kernel Panic on suspend fix, taken from ArchLinux wiki.
|
# Kernel Panic on suspend fix, taken from ArchLinux wiki.
|
||||||
kernelParams = [ "acpi_enforce_resources=lax" "i915.enable_dc=0" ];
|
kernelParams = [
|
||||||
|
"acpi_enforce_resources=lax"
|
||||||
|
"i915.enable_dc=0"
|
||||||
|
];
|
||||||
# Audio Mute LED
|
# Audio Mute LED
|
||||||
extraModprobeConfig = ''
|
extraModprobeConfig = ''
|
||||||
options snd-hda-intel model=mute-led-gpio
|
options snd-hda-intel model=mute-led-gpio
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,9 @@
|
||||||
../../../common/gpu/nvidia/ada-lovelace
|
../../../common/gpu/nvidia/ada-lovelace
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.kernelParams = lib.mkIf (lib.versionOlder config.boot.kernelPackages.kernel.version "6.7") [ "i915.force_probe=7d55" ];
|
boot.kernelParams = lib.mkIf (lib.versionOlder config.boot.kernelPackages.kernel.version "6.7") [
|
||||||
|
"i915.force_probe=7d55"
|
||||||
|
];
|
||||||
|
|
||||||
hardware.nvidia.prime = {
|
hardware.nvidia.prime = {
|
||||||
intelBusId = "PCI:0:2:0";
|
intelBusId = "PCI:0:2:0";
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
fwupd.enable = lib.mkDefault true;
|
fwupd.enable = lib.mkDefault true;
|
||||||
# This will save you money and possibly your life!
|
# This will save you money and possibly your life!
|
||||||
thermald.enable = lib.mkDefault true;
|
thermald.enable = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../../common/cpu/intel/kaby-lake
|
../../../common/cpu/intel/kaby-lake
|
||||||
../../../common/pc/laptop
|
../../../common/pc/laptop
|
||||||
|
|
@ -11,13 +12,19 @@
|
||||||
];
|
];
|
||||||
hardware.enableRedistributableFirmware = lib.mkDefault true;
|
hardware.enableRedistributableFirmware = lib.mkDefault true;
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
"rtsx_pci_sdmmc"
|
||||||
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
kernelModules = ["kvm-intel"];
|
kernelModules = [ "kvm-intel" ];
|
||||||
blacklistedKernelModules = ["nouveau"];
|
blacklistedKernelModules = [ "nouveau" ];
|
||||||
};
|
};
|
||||||
boot.kernelParams = ["i915.modeset=1"];
|
boot.kernelParams = [ "i915.modeset=1" ];
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
graphics = {
|
graphics = {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@
|
||||||
let
|
let
|
||||||
inherit (lib) mkDefault;
|
inherit (lib) mkDefault;
|
||||||
|
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../../common/cpu/intel
|
../../../common/cpu/intel
|
||||||
../../../common/pc/laptop
|
../../../common/pc/laptop
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,18 @@
|
||||||
{ lib, pkgs, ... }: {
|
{ lib, pkgs, ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../../common/cpu/intel
|
../../../common/cpu/intel
|
||||||
../../../common/pc/laptop
|
../../../common/pc/laptop
|
||||||
../../../common/pc/ssd
|
../../../common/pc/ssd
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
# Includes the Wi-Fi and Bluetooth firmware for the QCA6390.
|
# Includes the Wi-Fi and Bluetooth firmware for the QCA6390.
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
# Requires at least 5.12 for working wi-fi and bluetooth.
|
# Requires at least 5.12 for working wi-fi and bluetooth.
|
||||||
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.12") (lib.mkDefault pkgs.linuxPackages_latest);
|
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.12") (
|
||||||
|
lib.mkDefault pkgs.linuxPackages_latest
|
||||||
|
);
|
||||||
|
|
||||||
# Touchpad goes over i2c.
|
# Touchpad goes over i2c.
|
||||||
# Without this we get errors in dmesg on boot and hangs when shutting down.
|
# Without this we get errors in dmesg on boot and hangs when shutting down.
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../../common/cpu/intel
|
../../../common/cpu/intel
|
||||||
../../../common/pc/laptop
|
../../../common/pc/laptop
|
||||||
|
|
@ -14,7 +15,7 @@
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
# touchpad uses I²C, so PS/2 is unnecessary
|
# touchpad uses I²C, so PS/2 is unnecessary
|
||||||
boot.blacklistedKernelModules = ["psmouse"];
|
boot.blacklistedKernelModules = [ "psmouse" ];
|
||||||
|
|
||||||
# enable finger print sensor
|
# enable finger print sensor
|
||||||
# configure with `sudo fprintd-enroll <username>`
|
# configure with `sudo fprintd-enroll <username>`
|
||||||
|
|
@ -29,5 +30,5 @@
|
||||||
services.thermald.enable = lib.mkDefault true;
|
services.thermald.enable = lib.mkDefault true;
|
||||||
|
|
||||||
# fix laptop's screen flickering, see https://wiki.archlinux.org/title/Intel_graphics#Screen_flickering
|
# fix laptop's screen flickering, see https://wiki.archlinux.org/title/Intel_graphics#Screen_flickering
|
||||||
boot.kernelParams = ["i915.enable_psr=0"];
|
boot.kernelParams = [ "i915.enable_psr=0" ];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,9 @@
|
||||||
|
|
||||||
# Required to allow the touchpad to work
|
# Required to allow the touchpad to work
|
||||||
boot.kernelParams = [ "i8042.nopnp=1" ];
|
boot.kernelParams = [ "i8042.nopnp=1" ];
|
||||||
boot.blacklistedKernelModules = [ "i2c_hid" "i2c_hid_acpi" ];
|
boot.blacklistedKernelModules = [
|
||||||
boot.kernelModules = [ "synaptics_i2c"];
|
"i2c_hid"
|
||||||
|
"i2c_hid_acpi"
|
||||||
|
];
|
||||||
|
boot.kernelModules = [ "synaptics_i2c" ];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,10 @@
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
# needs to be explicitly loaded or else bluetooth/wifi won't work
|
# needs to be explicitly loaded or else bluetooth/wifi won't work
|
||||||
kernelModules = [ "kvm-intel" "wl" ];
|
kernelModules = [
|
||||||
|
"kvm-intel"
|
||||||
|
"wl"
|
||||||
|
];
|
||||||
extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ];
|
extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{lib, ...}:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../.
|
../.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib, ... }: {
|
{ lib, ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../../common/cpu/intel
|
../../../common/cpu/intel
|
||||||
../../../common/pc/laptop
|
../../../common/pc/laptop
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib, pkgs, ... }: {
|
{ lib, pkgs, ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../../../common/gpu/nvidia/prime.nix
|
../../../../common/gpu/nvidia/prime.nix
|
||||||
../../../../common/gpu/nvidia/ampere
|
../../../../common/gpu/nvidia/ampere
|
||||||
|
|
@ -11,7 +12,10 @@
|
||||||
graphics = {
|
graphics = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
enable32Bit = lib.mkDefault true;
|
enable32Bit = lib.mkDefault true;
|
||||||
extraPackages = with pkgs; [ intel-media-driver intel-compute-runtime ];
|
extraPackages = with pkgs; [
|
||||||
|
intel-media-driver
|
||||||
|
intel-compute-runtime
|
||||||
|
];
|
||||||
};
|
};
|
||||||
nvidia = {
|
nvidia = {
|
||||||
prime = {
|
prime = {
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
# - 00:14.3 Network controller: Intel Corporation Raptor Lake PCH CNVi WiFi (rev 01)
|
# - 00:14.3 Network controller: Intel Corporation Raptor Lake PCH CNVi WiFi (rev 01)
|
||||||
# > sudo lspci -vv -s 00:14.3
|
# > sudo lspci -vv -s 00:14.3
|
||||||
# 00:14.3 Network controller: Intel Corporation Raptor Lake PCH CNVi WiFi (rev 01)
|
# 00:14.3 Network controller: Intel Corporation Raptor Lake PCH CNVi WiFi (rev 01)
|
||||||
# Subsystem: Intel Corporation Wi-Fi 6E AX211 160MHz
|
# Subsystem: Intel Corporation Wi-Fi 6E AX211 160MHz
|
||||||
#
|
#
|
||||||
# WiFi speed is slow and crashes by default (https://bugzilla.kernel.org/show_bug.cgi?id=213381)
|
# WiFi speed is slow and crashes by default (https://bugzilla.kernel.org/show_bug.cgi?id=213381)
|
||||||
# disable_11ax - required until ax driver support is fixed
|
# disable_11ax - required until ax driver support is fixed
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,10 @@
|
||||||
hardware.nvidia.modesetting.enable = true;
|
hardware.nvidia.modesetting.enable = true;
|
||||||
|
|
||||||
hardware.nvidia.prime = {
|
hardware.nvidia.prime = {
|
||||||
# integrated
|
# integrated
|
||||||
intelBusId = "PCI:0:2:0";
|
intelBusId = "PCI:0:2:0";
|
||||||
|
|
||||||
# dedicated
|
# dedicated
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
nvidiaBusId = "PCI:1:0:0";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@
|
||||||
../../../../common/gpu/nvidia/pascal
|
../../../../common/gpu/nvidia/pascal
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
# This runs only nvidia, great for games or heavy use of render applications
|
# This runs only nvidia, great for games or heavy use of render applications
|
||||||
|
|
||||||
##### disable intel, run nvidia only and as default
|
##### disable intel, run nvidia only and as default
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
../shared.nix
|
../shared.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
# This runs only nvidia, great for games or heavy use of render applications
|
# This runs only nvidia, great for games or heavy use of render applications
|
||||||
|
|
||||||
##### disable intel, run nvidia only and as default
|
##### disable intel, run nvidia only and as default
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, ... }:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
../../../common/cpu/intel/coffee-lake
|
../../../common/cpu/intel/coffee-lake
|
||||||
../../../common/pc/laptop
|
../../../common/pc/laptop
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -10,17 +10,17 @@
|
||||||
# This will save you money and possibly your life!
|
# This will save you money and possibly your life!
|
||||||
services.thermald.enable = lib.mkDefault true;
|
services.thermald.enable = lib.mkDefault true;
|
||||||
|
|
||||||
boot.kernelPatches = [{
|
boot.kernelPatches = [
|
||||||
name = "enable-soundwire-drivers";
|
{
|
||||||
patch = null;
|
name = "enable-soundwire-drivers";
|
||||||
extraConfig = ''
|
patch = null;
|
||||||
SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES y
|
extraConfig = ''
|
||||||
SND_SOC_INTEL_SOUNDWIRE_SOF_MACH m
|
SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES y
|
||||||
SND_SOC_RT1308 m
|
SND_SOC_INTEL_SOUNDWIRE_SOF_MACH m
|
||||||
'';
|
SND_SOC_RT1308 m
|
||||||
}];
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
boot.kernelPackages =
|
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.11") pkgs.linuxPackages_latest;
|
||||||
lib.mkIf (lib.versionOlder pkgs.linux.version "5.11")
|
|
||||||
pkgs.linuxPackages_latest;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib, pkgs, ... }: {
|
{ lib, pkgs, ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../../../common/cpu/intel
|
../../../../common/cpu/intel
|
||||||
../../../../common/pc/laptop
|
../../../../common/pc/laptop
|
||||||
|
|
@ -9,5 +10,7 @@
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
# Requires at least 5.12 for working sound
|
# Requires at least 5.12 for working sound
|
||||||
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.12") (lib.mkDefault pkgs.linuxPackages_latest);
|
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.12") (
|
||||||
|
lib.mkDefault pkgs.linuxPackages_latest
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{config, lib, pkgs, ...}:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (lib) mkIf mkOption types;
|
inherit (lib) mkIf mkOption types;
|
||||||
|
|
@ -23,7 +28,8 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
cfg = config.services.sleep-resume.bluetooth;
|
cfg = config.services.sleep-resume.bluetooth;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options = {
|
options = {
|
||||||
services.sleep-resume.bluetooth = {
|
services.sleep-resume.bluetooth = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (lib) mkIf mkOption types;
|
inherit (lib) mkIf mkOption types;
|
||||||
|
|
@ -22,7 +27,8 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
cfg = config.services.sleep-resume.i2c-designware;
|
cfg = config.services.sleep-resume.i2c-designware;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options = {
|
options = {
|
||||||
services.sleep-resume.i2c-designware = {
|
services.sleep-resume.i2c-designware = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
|
|
@ -37,6 +43,3 @@ in {
|
||||||
powerManagement.resumeCommands = "${reloadDesignware}/bin/reload-i2c-designware.sh";
|
powerManagement.resumeCommands = "${reloadDesignware}/bin/reload-i2c-designware.sh";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
62
flake.lock
generated
Normal file
62
flake.lock
generated
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1748995760,
|
||||||
|
"narHash": "sha256-f6UIyqm6JZs45pG667YdHOFYgDt+gvxQvt32ZLBp1h4=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "26a54a5886c238b5df6f1e9ba0aa713434d73f06",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-25.05-small",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1747958103,
|
||||||
|
"narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"treefmt-nix": "treefmt-nix"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"treefmt-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1748243702,
|
||||||
|
"narHash": "sha256-9YzfeN8CB6SzNPyPm2XjRRqSixDopTapaRsnTpXUEY8=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"rev": "1f3f7b784643d488ba4bf315638b2b0a4c5fb007",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
798
flake.nix
798
flake.nix
|
|
@ -1,391 +1,417 @@
|
||||||
{
|
{
|
||||||
description = "nixos-hardware";
|
description = "nixos-hardware";
|
||||||
|
|
||||||
outputs = _: {
|
inputs = {
|
||||||
nixosModules =
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05-small";
|
||||||
let
|
treefmt-nix.url = "github:numtide/treefmt-nix";
|
||||||
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;
|
|
||||||
aoostar-r1-n100 = import ./aoostar/r1/n100;
|
|
||||||
apple-imac-14-2 = import ./apple/imac/14-2;
|
|
||||||
apple-imac-18-2 = import ./apple/imac/18-2;
|
|
||||||
apple-macbook-air-3 = import ./apple/macbook-air/3;
|
|
||||||
apple-macbook-air-4 = import ./apple/macbook-air/4;
|
|
||||||
apple-macbook-air-6 = import ./apple/macbook-air/6;
|
|
||||||
apple-macbook-air-7 = import ./apple/macbook-air/7;
|
|
||||||
apple-macbook-pro = import ./apple/macbook-pro;
|
|
||||||
apple-macbook-pro-8-1 = import ./apple/macbook-pro/8-1;
|
|
||||||
apple-macbook-pro-10-1 = import ./apple/macbook-pro/10-1;
|
|
||||||
apple-macbook-pro-11-1 = import ./apple/macbook-pro/11-1;
|
|
||||||
apple-macbook-pro-11-5 = import ./apple/macbook-pro/11-5;
|
|
||||||
apple-macbook-pro-12-1 = import ./apple/macbook-pro/12-1;
|
|
||||||
apple-macbook-pro-14-1 = import ./apple/macbook-pro/14-1;
|
|
||||||
apple-macmini-4-1 = import ./apple/macmini/4;
|
|
||||||
apple-t2 = import ./apple/t2;
|
|
||||||
asus-battery = import ./asus/battery.nix;
|
|
||||||
asus-ally-rc71l = import ./asus/ally/rc71l;
|
|
||||||
asus-fx504gd = import ./asus/fx504gd;
|
|
||||||
asus-fx506hm = import ./asus/fx506hm;
|
|
||||||
asus-fa506ic = import ./asus/fa506ic;
|
|
||||||
asus-fa507nv = import ./asus/fa507nv;
|
|
||||||
asus-fa507rm = import ./asus/fa507rm;
|
|
||||||
asus-flow-gv302x-amdgpu = import ./asus/flow/gv302x/amdgpu;
|
|
||||||
asus-flow-gv302x-nvidia = import ./asus/flow/gv302x/nvidia;
|
|
||||||
asus-pro-ws-x570-ace = import ./asus/pro-ws-x570-ace;
|
|
||||||
asus-rog-strix-g513im = import ./asus/rog-strix/g513im;
|
|
||||||
asus-rog-strix-g533zw = import ./asus/rog-strix/g533zw;
|
|
||||||
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-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-ga401 = import ./asus/zephyrus/ga401;
|
|
||||||
asus-zephyrus-ga402 = import ./asus/zephyrus/ga402;
|
|
||||||
asus-zephyrus-ga402x = import ./asus/zephyrus/ga402x;
|
|
||||||
asus-zephyrus-ga402x-amdgpu = import ./asus/zephyrus/ga402x/amdgpu;
|
|
||||||
asus-zephyrus-ga402x-nvidia = import ./asus/zephyrus/ga402x/nvidia;
|
|
||||||
asus-zephyrus-ga502 = import ./asus/zephyrus/ga502;
|
|
||||||
asus-zephyrus-ga503 = import ./asus/zephyrus/ga503;
|
|
||||||
asus-zephyrus-gu603h = import ./asus/zephyrus/gu603h;
|
|
||||||
asus-zephyrus-gu605my = import ./asus/zephyrus/gu605my;
|
|
||||||
beagleboard-pocketbeagle = import ./beagleboard/pocketbeagle;
|
|
||||||
chuwi-minibook-x = import ./chuwi/minibook-x;
|
|
||||||
deciso-dec = import ./deciso/dec;
|
|
||||||
dell-e7240 =
|
|
||||||
deprecated "1326" "dell-e7240"
|
|
||||||
(import ./dell/e7240);
|
|
||||||
dell-g3-3779 = import ./dell/g3/3779;
|
|
||||||
dell-g3-3579 = import ./dell/g3/3579;
|
|
||||||
dell-inspiron-14-5420 = import ./dell/inspiron/14-5420;
|
|
||||||
dell-inspiron-5509 = import ./dell/inspiron/5509;
|
|
||||||
dell-inspiron-5515 = import ./dell/inspiron/5515;
|
|
||||||
dell-inspiron-7405 = import ./dell/inspiron/7405;
|
|
||||||
dell-inspiron-7460 = import ./dell/inspiron/7460;
|
|
||||||
dell-inspiron-7559 = import ./dell/inspiron/7559;
|
|
||||||
dell-latitude-3340 = import ./dell/latitude/3340;
|
|
||||||
dell-latitude-3480 = import ./dell/latitude/3480;
|
|
||||||
dell-latitude-5490 = import ./dell/latitude/5490;
|
|
||||||
dell-latitude-5520 = import ./dell/latitude/5520;
|
|
||||||
dell-latitude-7280 = import ./dell/latitude/7280;
|
|
||||||
dell-latitude-7390 = import ./dell/latitude/7390;
|
|
||||||
dell-latitude-7420 = import ./dell/latitude/7420;
|
|
||||||
dell-latitude-7430 = import ./dell/latitude/7430;
|
|
||||||
dell-latitude-7490 = import ./dell/latitude/7490;
|
|
||||||
dell-latitude-9430 = import ./dell/latitude/9430;
|
|
||||||
dell-latitude-e7240 = import ./dell/latitude/e7240;
|
|
||||||
dell-optiplex-3050 = import ./dell/optiplex/3050;
|
|
||||||
dell-poweredge-r7515 = import ./dell/poweredge/r7515;
|
|
||||||
dell-precision-3490 = import ./dell/precision/3490;
|
|
||||||
dell-precision-3541 = import ./dell/precision/3541;
|
|
||||||
dell-precision-5490 = import ./dell/precision/5490;
|
|
||||||
dell-precision-5530 = import ./dell/precision/5530;
|
|
||||||
dell-precision-5560 = import ./dell/precision/5560;
|
|
||||||
dell-precision-7520 = import ./dell/precision/7520;
|
|
||||||
dell-xps-13-7390 = import ./dell/xps/13-7390;
|
|
||||||
dell-xps-13-9300 = import ./dell/xps/13-9300;
|
|
||||||
dell-xps-13-9310 = import ./dell/xps/13-9310;
|
|
||||||
dell-xps-13-9315 = import ./dell/xps/13-9315;
|
|
||||||
dell-xps-13-9333 = import ./dell/xps/13-9333;
|
|
||||||
dell-xps-13-9343 = import ./dell/xps/13-9343;
|
|
||||||
dell-xps-13-9350 = import ./dell/xps/13-9350;
|
|
||||||
dell-xps-13-9360 = import ./dell/xps/13-9360;
|
|
||||||
dell-xps-13-9370 = import ./dell/xps/13-9370;
|
|
||||||
dell-xps-13-9380 = import ./dell/xps/13-9380;
|
|
||||||
dell-xps-15-7590 = import ./dell/xps/15-7590;
|
|
||||||
dell-xps-15-7590-nvidia = import ./dell/xps/15-7590/nvidia;
|
|
||||||
dell-xps-15-9500 = import ./dell/xps/15-9500;
|
|
||||||
dell-xps-15-9500-nvidia = import ./dell/xps/15-9500/nvidia;
|
|
||||||
dell-xps-15-9510 = import ./dell/xps/15-9510;
|
|
||||||
dell-xps-15-9510-nvidia = import ./dell/xps/15-9510/nvidia;
|
|
||||||
dell-xps-15-9520 = import ./dell/xps/15-9520;
|
|
||||||
dell-xps-15-9520-nvidia = import ./dell/xps/15-9520/nvidia;
|
|
||||||
dell-xps-15-9530 = import ./dell/xps/15-9530;
|
|
||||||
dell-xps-15-9530-nvidia = import ./dell/xps/15-9530/nvidia;
|
|
||||||
dell-xps-15-9550 = import ./dell/xps/15-9550;
|
|
||||||
dell-xps-15-9550-nvidia = import ./dell/xps/15-9550/nvidia;
|
|
||||||
dell-xps-15-9560 = import ./dell/xps/15-9560;
|
|
||||||
dell-xps-15-9560-intel = import ./dell/xps/15-9560/intel;
|
|
||||||
dell-xps-15-9560-nvidia = import ./dell/xps/15-9560/nvidia;
|
|
||||||
dell-xps-15-9570 = import ./dell/xps/15-9570;
|
|
||||||
dell-xps-15-9570-intel = import ./dell/xps/15-9570/intel;
|
|
||||||
dell-xps-15-9570-nvidia = import ./dell/xps/15-9570/nvidia;
|
|
||||||
dell-xps-17-9700-intel = import ./dell/xps/17-9700/intel;
|
|
||||||
dell-xps-17-9700-nvidia = import ./dell/xps/17-9700/nvidia;
|
|
||||||
dell-xps-17-9710-intel = import ./dell/xps/17-9710/intel;
|
|
||||||
framework = import ./framework;
|
|
||||||
framework-11th-gen-intel = import ./framework/13-inch/11th-gen-intel;
|
|
||||||
framework-12th-gen-intel = import ./framework/13-inch/12th-gen-intel;
|
|
||||||
framework-13th-gen-intel = import ./framework/13-inch/13th-gen-intel;
|
|
||||||
framework-12-13th-gen-intel = import ./framework/12-inch/13th-gen-intel;
|
|
||||||
framework-intel-core-ultra-series1 = import ./framework/13-inch/intel-core-ultra-series1;
|
|
||||||
framework-13-7040-amd = import ./framework/13-inch/7040-amd;
|
|
||||||
framework-amd-ai-300-series = import ./framework/13-inch/amd-ai-300-series;
|
|
||||||
framework-16-7040-amd = import ./framework/16-inch/7040-amd;
|
|
||||||
friendlyarm-nanopc-t4 = import ./friendlyarm/nanopc-t4;
|
|
||||||
friendlyarm-nanopi-r5s = import ./friendlyarm/nanopi-r5s;
|
|
||||||
focus-m2-gen1 = import ./focus/m2/gen1;
|
|
||||||
gigabyte-b550 = import ./gigabyte/b550;
|
|
||||||
gigabyte-b650 = import ./gigabyte/b650;
|
|
||||||
gmktec-nucbox-g3-plus = import ./gmktec/nucbox/g3-plus;
|
|
||||||
google-pixelbook = import ./google/pixelbook;
|
|
||||||
gpd-micropc = import ./gpd/micropc;
|
|
||||||
gpd-p2-max = import ./gpd/p2-max;
|
|
||||||
gpd-pocket-3 = import ./gpd/pocket-3;
|
|
||||||
gpd-pocket-4 = import ./gpd/pocket-4;
|
|
||||||
gpd-win-2 = import ./gpd/win-2;
|
|
||||||
gpd-win-max-2-2023 = import ./gpd/win-max-2/2023;
|
|
||||||
gpd-win-mini-2024 = import ./gpd/win-mini/2024;
|
|
||||||
hp-elitebook-2560p = import ./hp/elitebook/2560p;
|
|
||||||
hp-elitebook-830g6 = import ./hp/elitebook/830/g6;
|
|
||||||
hp-elitebook-845g7 = import ./hp/elitebook/845/g7;
|
|
||||||
hp-elitebook-845g8 = import ./hp/elitebook/845/g8;
|
|
||||||
hp-elitebook-845g9 = import ./hp/elitebook/845/g9;
|
|
||||||
hp-probook-440G5 = import ./hp/probook/440G5;
|
|
||||||
hp-laptop-14s-dq2024nf = import ./hp/laptop/14s-dq2024nf;
|
|
||||||
huawei-machc-wa = import ./huawei/machc-wa;
|
|
||||||
hp-notebook-14-df0023 = import ./hp/notebook/14-df0023;
|
|
||||||
intel-nuc-8i7beh = import ./intel/nuc/8i7beh;
|
|
||||||
lenovo-ideacentre-k330 = import ./lenovo/ideacentre/k330;
|
|
||||||
lenovo-ideapad-14imh9 = import ./lenovo/ideapad/14imh9;
|
|
||||||
lenovo-ideapad-15alc6 = import ./lenovo/ideapad/15alc6;
|
|
||||||
lenovo-ideapad-15arh05 = import ./lenovo/ideapad/15arh05;
|
|
||||||
lenovo-ideapad-15ach6 = import ./lenovo/ideapad/15ach6;
|
|
||||||
lenovo-ideapad-16ach6 = import ./lenovo/ideapad/16ach6;
|
|
||||||
lenovo-ideapad-16ahp9 = import ./lenovo/ideapad/16ahp9;
|
|
||||||
lenovo-ideapad-z510 = import ./lenovo/ideapad/z510;
|
|
||||||
lenovo-ideapad-slim-5 = import ./lenovo/ideapad/slim-5;
|
|
||||||
lenovo-ideapad-s145-15api = import ./lenovo/ideapad/s145-15api;
|
|
||||||
lenovo-legion-15ach6 = import ./lenovo/legion/15ach6;
|
|
||||||
lenovo-legion-15ach6h = import ./lenovo/legion/15ach6h;
|
|
||||||
lenovo-legion-15arh05h = import ./lenovo/legion/15arh05h;
|
|
||||||
lenovo-legion-16ach6h = import ./lenovo/legion/16ach6h;
|
|
||||||
lenovo-legion-16ach6h-hybrid = import ./lenovo/legion/16ach6h/hybrid;
|
|
||||||
lenovo-legion-16ach6h-nvidia = import ./lenovo/legion/16ach6h/nvidia;
|
|
||||||
lenovo-legion-16arh7h-igpu-only = import ./lenovo/legion/16arh7h/igpu-only;
|
|
||||||
lenovo-legion-16arh7h-hybrid = import ./lenovo/legion/16arh7h/hybrid;
|
|
||||||
lenovo-legion-16achg6-hybrid = import ./lenovo/legion/16achg6/hybrid;
|
|
||||||
lenovo-legion-16achg6-nvidia = import ./lenovo/legion/16achg6/nvidia;
|
|
||||||
lenovo-legion-16aph8 = import ./lenovo/legion/16aph8;
|
|
||||||
lenovo-legion-16arha7 = import ./lenovo/legion/16arha7;
|
|
||||||
lenovo-legion-16ithg6 = import ./lenovo/legion/16ithg6;
|
|
||||||
lenovo-legion-16irx8h = import ./lenovo/legion/16irx8h;
|
|
||||||
lenovo-legion-16irx9h = import ./lenovo/legion/16irx9h;
|
|
||||||
lenovo-legion-t526amr5 = import ./lenovo/legion/t526amr5;
|
|
||||||
lenovo-legion-y530-15ich = import ./lenovo/legion/15ich;
|
|
||||||
lenovo-thinkpad = import ./lenovo/thinkpad;
|
|
||||||
lenovo-thinkpad-a475 = import ./lenovo/thinkpad/a475;
|
|
||||||
lenovo-thinkpad-e14-amd = import ./lenovo/thinkpad/e14/amd;
|
|
||||||
lenovo-thinkpad-e14-intel = import ./lenovo/thinkpad/e14/intel;
|
|
||||||
lenovo-thinkpad-e14-intel-gen4 = import ./lenovo/thinkpad/e14/intel/gen4;
|
|
||||||
lenovo-thinkpad-e14-intel-gen6 = import ./lenovo/thinkpad/e14/intel/gen6;
|
|
||||||
lenovo-thinkpad-e15-intel = import ./lenovo/thinkpad/e15/intel;
|
|
||||||
lenovo-thinkpad-e470 = import ./lenovo/thinkpad/e470;
|
|
||||||
lenovo-thinkpad-e495 = import ./lenovo/thinkpad/e495;
|
|
||||||
lenovo-thinkpad-l13 = import ./lenovo/thinkpad/l13;
|
|
||||||
lenovo-thinkpad-l13-yoga = import ./lenovo/thinkpad/l13/yoga;
|
|
||||||
lenovo-thinkpad-l14-amd = import ./lenovo/thinkpad/l14/amd;
|
|
||||||
lenovo-thinkpad-l14-intel = import ./lenovo/thinkpad/l14/intel;
|
|
||||||
lenovo-thinkpad-l480 = import ./lenovo/thinkpad/l480;
|
|
||||||
lenovo-thinkpad-p1 = import ./lenovo/thinkpad/p1;
|
|
||||||
lenovo-thinkpad-p1-gen3 = import ./lenovo/thinkpad/p1/3th-gen;
|
|
||||||
lenovo-thinkpad-p14s-amd-gen1 = import ./lenovo/thinkpad/p14s/amd/gen1;
|
|
||||||
lenovo-thinkpad-p14s-amd-gen2 = import ./lenovo/thinkpad/p14s/amd/gen2;
|
|
||||||
lenovo-thinkpad-p14s-amd-gen3 = import ./lenovo/thinkpad/p14s/amd/gen3;
|
|
||||||
lenovo-thinkpad-p14s-amd-gen4 = import ./lenovo/thinkpad/p14s/amd/gen4;
|
|
||||||
lenovo-thinkpad-p14s-amd-gen5 = import ./lenovo/thinkpad/p14s/amd/gen5;
|
|
||||||
lenovo-thinkpad-p14s-intel-gen3 = import ./lenovo/thinkpad/p14s/intel/gen3;
|
|
||||||
lenovo-thinkpad-p14s-intel-gen5 = import ./lenovo/thinkpad/p14s/intel/gen5;
|
|
||||||
lenovo-thinkpad-p16s-amd-gen1 = import ./lenovo/thinkpad/p16s/amd/gen1;
|
|
||||||
lenovo-thinkpad-p16s-amd-gen2 = import ./lenovo/thinkpad/p16s/amd/gen2;
|
|
||||||
lenovo-thinkpad-p16s-intel-gen2 = import ./lenovo/thinkpad/p16s/intel/gen2;
|
|
||||||
lenovo-thinkpad-p43s = import ./lenovo/thinkpad/p43s;
|
|
||||||
lenovo-thinkpad-p50 = import ./lenovo/thinkpad/p50;
|
|
||||||
lenovo-thinkpad-p51 = import ./lenovo/thinkpad/p51;
|
|
||||||
lenovo-thinkpad-p52 = import ./lenovo/thinkpad/p52;
|
|
||||||
lenovo-thinkpad-p53 = import ./lenovo/thinkpad/p53;
|
|
||||||
lenovo-thinkpad-t14 = import ./lenovo/thinkpad/t14;
|
|
||||||
lenovo-thinkpad-t14-amd-gen1 = import ./lenovo/thinkpad/t14/amd/gen1;
|
|
||||||
lenovo-thinkpad-t14-amd-gen2 = import ./lenovo/thinkpad/t14/amd/gen2;
|
|
||||||
lenovo-thinkpad-t14-amd-gen3 = import ./lenovo/thinkpad/t14/amd/gen3;
|
|
||||||
lenovo-thinkpad-t14-amd-gen4 = import ./lenovo/thinkpad/t14/amd/gen4;
|
|
||||||
lenovo-thinkpad-t14-amd-gen5 = import ./lenovo/thinkpad/t14/amd/gen5;
|
|
||||||
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;
|
|
||||||
lenovo-thinkpad-t440p = import ./lenovo/thinkpad/t440p;
|
|
||||||
lenovo-thinkpad-t440s = import ./lenovo/thinkpad/t440s;
|
|
||||||
lenovo-thinkpad-t450s = import ./lenovo/thinkpad/t450s;
|
|
||||||
lenovo-thinkpad-t460 = import ./lenovo/thinkpad/t460;
|
|
||||||
lenovo-thinkpad-t460p = import ./lenovo/thinkpad/t460p;
|
|
||||||
lenovo-thinkpad-t460s = import ./lenovo/thinkpad/t460s;
|
|
||||||
lenovo-thinkpad-t470s = import ./lenovo/thinkpad/t470s;
|
|
||||||
lenovo-thinkpad-t480 = import ./lenovo/thinkpad/t480;
|
|
||||||
lenovo-thinkpad-t480s = import ./lenovo/thinkpad/t480s;
|
|
||||||
lenovo-thinkpad-t490 = import ./lenovo/thinkpad/t490;
|
|
||||||
lenovo-thinkpad-t490s = import ./lenovo/thinkpad/t490s;
|
|
||||||
lenovo-thinkpad-t495 = import ./lenovo/thinkpad/t495;
|
|
||||||
lenovo-thinkpad-t520 = import ./lenovo/thinkpad/t520;
|
|
||||||
lenovo-thinkpad-w520 = import ./lenovo/thinkpad/w520;
|
|
||||||
lenovo-thinkpad-t550 = import ./lenovo/thinkpad/t550;
|
|
||||||
lenovo-thinkpad-t590 = import ./lenovo/thinkpad/t590;
|
|
||||||
lenovo-thinkpad-x1 = import ./lenovo/thinkpad/x1;
|
|
||||||
lenovo-thinkpad-x1-yoga = import ./lenovo/thinkpad/x1/yoga;
|
|
||||||
lenovo-thinkpad-x1-yoga-7th-gen = import ./lenovo/thinkpad/x1/yoga/7th-gen;
|
|
||||||
lenovo-thinkpad-x1-yoga-8th-gen = import ./lenovo/thinkpad/x1/yoga/8th-gen;
|
|
||||||
lenovo-thinkpad-x1-2nd-gen = import ./lenovo/thinkpad/x1/2nd-gen;
|
|
||||||
lenovo-thinkpad-x1-6th-gen = import ./lenovo/thinkpad/x1/6th-gen;
|
|
||||||
lenovo-thinkpad-x1-7th-gen = import ./lenovo/thinkpad/x1/7th-gen;
|
|
||||||
lenovo-thinkpad-x1-9th-gen = import ./lenovo/thinkpad/x1/9th-gen;
|
|
||||||
lenovo-thinkpad-x1-10th-gen = import ./lenovo/thinkpad/x1/10th-gen;
|
|
||||||
lenovo-thinkpad-x1-11th-gen = import ./lenovo/thinkpad/x1/11th-gen;
|
|
||||||
lenovo-thinkpad-x1-12th-gen = import ./lenovo/thinkpad/x1/12th-gen;
|
|
||||||
lenovo-thinkpad-x1-13th-gen = import ./lenovo/thinkpad/x1/13th-gen;
|
|
||||||
lenovo-thinkpad-x1-extreme = import ./lenovo/thinkpad/x1-extreme;
|
|
||||||
lenovo-thinkpad-x1-extreme-gen2 = import ./lenovo/thinkpad/x1-extreme/gen2;
|
|
||||||
lenovo-thinkpad-x1-extreme-gen3 = import ./lenovo/thinkpad/x1-extreme/gen3;
|
|
||||||
lenovo-thinkpad-x1-extreme-gen4 = import ./lenovo/thinkpad/x1-extreme/gen4;
|
|
||||||
lenovo-thinkpad-x1-nano = import ./lenovo/thinkpad/x1-nano;
|
|
||||||
lenovo-thinkpad-x1-nano-gen1 = import ./lenovo/thinkpad/x1-nano/gen1;
|
|
||||||
lenovo-thinkpad-x13 = import ./lenovo/thinkpad/x13/intel;
|
|
||||||
lenovo-thinkpad-x13-amd = import ./lenovo/thinkpad/x13/amd;
|
|
||||||
lenovo-thinkpad-x13-yoga = import ./lenovo/thinkpad/x13/yoga;
|
|
||||||
lenovo-thinkpad-x13-yoga-3th-gen = import ./lenovo/thinkpad/x13/yoga/3th-gen;
|
|
||||||
lenovo-thinkpad-x13s = import ./lenovo/thinkpad/x13s;
|
|
||||||
lenovo-thinkpad-x140e = import ./lenovo/thinkpad/x140e;
|
|
||||||
lenovo-thinkpad-x200s = import ./lenovo/thinkpad/x200s;
|
|
||||||
lenovo-thinkpad-x220 = import ./lenovo/thinkpad/x220;
|
|
||||||
lenovo-thinkpad-x230 = import ./lenovo/thinkpad/x230;
|
|
||||||
lenovo-thinkpad-x250 = import ./lenovo/thinkpad/x250;
|
|
||||||
lenovo-thinkpad-x260 = import ./lenovo/thinkpad/x260;
|
|
||||||
lenovo-thinkpad-x270 = import ./lenovo/thinkpad/x270;
|
|
||||||
lenovo-thinkpad-x280 = import ./lenovo/thinkpad/x280;
|
|
||||||
lenovo-thinkpad-x390 = import ./lenovo/thinkpad/x390;
|
|
||||||
lenovo-thinkpad-z = import ./lenovo/thinkpad/z;
|
|
||||||
lenovo-thinkpad-z13-gen1 = import ./lenovo/thinkpad/z/gen1/z13;
|
|
||||||
lenovo-thinkpad-z13-gen2 = import ./lenovo/thinkpad/z/gen2/z13;
|
|
||||||
lenovo-yoga-6-13ALC6 = import ./lenovo/yoga/6/13ALC6;
|
|
||||||
lenovo-yoga-7-14ARH7 = import ./lenovo/yoga/7/14ARH7;
|
|
||||||
lenovo-yoga-7-14ARH7-amdgpu = import ./lenovo/yoga/7/14ARH7/amdgpu;
|
|
||||||
lenovo-yoga-7-14ARH7-nvidia = import ./lenovo/yoga/7/14ARH7/nvidia;
|
|
||||||
lenovo-yoga-7-14IAH7-integrated = import ./lenovo/yoga/7/14IAH7/integrated;
|
|
||||||
lenovo-yoga-7-14IAH7-hybrid = import ./lenovo/yoga/7/14IAH7/hybrid;
|
|
||||||
lenovo-yoga-7-14ILL10 = import ./lenovo/yoga/7/14ILL10;
|
|
||||||
lenovo-yoga-7-slim-gen8 = import ./lenovo/yoga/7/slim/gen8;
|
|
||||||
letsnote-cf-lx4 = import ./panasonic/letsnote/cf-lx4;
|
|
||||||
malibal-aon-s1-intel = import ./malibal/aon/s1;
|
|
||||||
microchip-icicle-kit = import ./microchip/icicle-kit;
|
|
||||||
microsoft-surface-go = import ./microsoft/surface/surface-go;
|
|
||||||
microsoft-surface-pro-intel = import ./microsoft/surface/surface-pro-intel;
|
|
||||||
microsoft-surface-laptop-amd = import ./microsoft/surface/surface-laptop-amd;
|
|
||||||
microsoft-surface-common = import ./microsoft/surface/common;
|
|
||||||
microsoft-surface-pro-3 = import ./microsoft/surface-pro/3;
|
|
||||||
microsoft-surface-pro-9 = import ./microsoft/surface-pro/9;
|
|
||||||
milkv-pioneer = import ./milkv/pioneer;
|
|
||||||
minisforum-v3 = import ./minisforum/v3;
|
|
||||||
morefine-m600 = import ./morefine/m600;
|
|
||||||
msi-b350-tomahawk = import ./msi/b350-tomahawk;
|
|
||||||
msi-b550-a-pro = import ./msi/b550-a-pro;
|
|
||||||
msi-gs60 = import ./msi/gs60;
|
|
||||||
msi-gl62 = import ./msi/gl62;
|
|
||||||
msi-gl65-10SDR-492 = import ./msi/gl65/10SDR-492;
|
|
||||||
nxp-imx8mp-evk = import ./nxp/imx8mp-evk;
|
|
||||||
nxp-imx8mq-evk = import ./nxp/imx8mq-evk;
|
|
||||||
nxp-imx8qm-mek = import ./nxp/imx8qm-mek;
|
|
||||||
hardkernel-odroid-hc4 = import ./hardkernel/odroid-hc4;
|
|
||||||
hardkernel-odroid-h3 = import ./hardkernel/odroid-h3;
|
|
||||||
hardkernel-odroid-h4 = import ./hardkernel/odroid-h4;
|
|
||||||
omen-14-fb0798ng = import ./omen/14-fb0798ng;
|
|
||||||
omen-15-ce002ns = import ./omen/15-ce002ns;
|
|
||||||
omen-15-en0010ca = import ./omen/15-en0010ca;
|
|
||||||
omen-16-n0005ne = import ./omen/16-n0005ne;
|
|
||||||
omen-16-n0280nd = import ./omen/16-n0280nd;
|
|
||||||
omen-15-en1007sa = import ./omen/15-en1007sa;
|
|
||||||
omen-15-en0002np = import ./omen/15-en0002np;
|
|
||||||
onenetbook-4 = import ./onenetbook/4;
|
|
||||||
olimex-teres_i = import ./olimex/teres_i;
|
|
||||||
pcengines-apu = import ./pcengines/apu;
|
|
||||||
pine64-pinebook-pro = import ./pine64/pinebook-pro;
|
|
||||||
pine64-rockpro64 = import ./pine64/rockpro64;
|
|
||||||
pine64-star64 = import ./pine64/star64;
|
|
||||||
protectli-vp4670 = import ./protectli/vp4670;
|
|
||||||
purism-librem-13v3 = import ./purism/librem/13v3;
|
|
||||||
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;
|
|
||||||
rock-4c-plus = import ./radxa/rock-4c-plus;
|
|
||||||
rock-5b = import ./radxa/rock-5b;
|
|
||||||
rock-pi-4 = import ./radxa/rock-pi-4;
|
|
||||||
rock-pi-e = import ./radxa/rock-pi-e;
|
|
||||||
kobol-helios4 = import ./kobol/helios4;
|
|
||||||
samsung-np900x3c = import ./samsung/np900x3c;
|
|
||||||
slimbook-hero-rpl-rtx = import ./slimbook/hero/rpl-rtx;
|
|
||||||
starfive-visionfive-v1 = import ./starfive/visionfive/v1;
|
|
||||||
starfive-visionfive-2 = import ./starfive/visionfive/v2;
|
|
||||||
starlabs-starlite-i5 = import ./starlabs/starlite/i5;
|
|
||||||
supermicro = import ./supermicro;
|
|
||||||
supermicro-a1sri-2758f = import ./supermicro/a1sri-2758f;
|
|
||||||
supermicro-m11sdv-8c-ln4f = import ./supermicro/m11sdv-8c-ln4f;
|
|
||||||
supermicro-x10sll-f = import ./supermicro/x10sll-f;
|
|
||||||
supermicro-x12scz-tln4f = import ./supermicro/x12scz-tln4f;
|
|
||||||
system76 = import ./system76;
|
|
||||||
system76-gaze18 = import ./system76/gaze18;
|
|
||||||
system76-galp5-1650 = import ./system76/galp5-1650;
|
|
||||||
system76-darp6 = import ./system76/darp6;
|
|
||||||
toshiba-swanky = import ./toshiba/swanky;
|
|
||||||
tuxedo-aura-15-gen1 = import ./tuxedo/aura/15/gen1;
|
|
||||||
tuxedo-infinitybook-v4 = import ./tuxedo/infinitybook/v4;
|
|
||||||
tuxedo-infinitybook-pro14-gen7 = import ./tuxedo/infinitybook/pro14/gen7;
|
|
||||||
tuxedo-infinitybook-pro14-gen9-intel = import ./tuxedo/infinitybook/pro14/gen9/intel;
|
|
||||||
tuxedo-pulse-14-gen3 = import ./tuxedo/pulse/14/gen3;
|
|
||||||
tuxedo-pulse-15-gen2 = import ./tuxedo/pulse/15/gen2;
|
|
||||||
xiaomi-redmibook-16-pro-2024 = import ./xiaomi/redmibook/16-pro-2024;
|
|
||||||
|
|
||||||
common-cpu-amd = import ./common/cpu/amd;
|
|
||||||
common-cpu-amd-pstate = import ./common/cpu/amd/pstate.nix;
|
|
||||||
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-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-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;
|
|
||||||
common-gpu-intel = import ./common/gpu/intel;
|
|
||||||
common-gpu-intel-disable = import ./common/gpu/intel/disable.nix;
|
|
||||||
common-gpu-nvidia = import ./common/gpu/nvidia/prime.nix;
|
|
||||||
common-gpu-nvidia-sync = import ./common/gpu/nvidia/prime-sync.nix;
|
|
||||||
common-gpu-nvidia-nonprime = import ./common/gpu/nvidia;
|
|
||||||
common-gpu-nvidia-disable = import ./common/gpu/nvidia/disable.nix;
|
|
||||||
common-hidpi = import ./common/hidpi.nix;
|
|
||||||
common-pc = import ./common/pc;
|
|
||||||
common-pc-hdd = import ./common/pc/hdd;
|
|
||||||
common-pc-laptop = import ./common/pc/laptop;
|
|
||||||
common-pc-laptop-acpi_call = throw "common-pc-laptop-acpi_call has been removed because it is obsolete: https://github.com/NixOS/nixos-hardware/issues/1114";
|
|
||||||
common-pc-laptop-hdd = import ./common/pc/laptop/hdd;
|
|
||||||
common-pc-laptop-ssd = import ./common/pc/ssd;
|
|
||||||
common-pc-ssd = import ./common/pc/ssd;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
outputs =
|
||||||
|
{
|
||||||
|
nixpkgs,
|
||||||
|
self,
|
||||||
|
treefmt-nix,
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
systems = [
|
||||||
|
"aarch64-darwin"
|
||||||
|
"aarch64-linux"
|
||||||
|
"x86_64-darwin"
|
||||||
|
"x86_64-linux"
|
||||||
|
];
|
||||||
|
forEachSystem =
|
||||||
|
function: nixpkgs.lib.genAttrs (systems) (system: function nixpkgs.legacyPackages.${system});
|
||||||
|
|
||||||
|
treefmtEval = forEachSystem (pkgs: treefmt-nix.lib.evalModule pkgs ./treefmt.nix);
|
||||||
|
in
|
||||||
|
{
|
||||||
|
checks = forEachSystem (pkgs: {
|
||||||
|
formatting = treefmtEval.${pkgs.system}.config.build.check self;
|
||||||
|
});
|
||||||
|
formatter = forEachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper);
|
||||||
|
|
||||||
|
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;
|
||||||
|
aoostar-r1-n100 = import ./aoostar/r1/n100;
|
||||||
|
apple-imac-14-2 = import ./apple/imac/14-2;
|
||||||
|
apple-imac-18-2 = import ./apple/imac/18-2;
|
||||||
|
apple-macbook-air-3 = import ./apple/macbook-air/3;
|
||||||
|
apple-macbook-air-4 = import ./apple/macbook-air/4;
|
||||||
|
apple-macbook-air-6 = import ./apple/macbook-air/6;
|
||||||
|
apple-macbook-air-7 = import ./apple/macbook-air/7;
|
||||||
|
apple-macbook-pro = import ./apple/macbook-pro;
|
||||||
|
apple-macbook-pro-8-1 = import ./apple/macbook-pro/8-1;
|
||||||
|
apple-macbook-pro-10-1 = import ./apple/macbook-pro/10-1;
|
||||||
|
apple-macbook-pro-11-1 = import ./apple/macbook-pro/11-1;
|
||||||
|
apple-macbook-pro-11-5 = import ./apple/macbook-pro/11-5;
|
||||||
|
apple-macbook-pro-12-1 = import ./apple/macbook-pro/12-1;
|
||||||
|
apple-macbook-pro-14-1 = import ./apple/macbook-pro/14-1;
|
||||||
|
apple-macmini-4-1 = import ./apple/macmini/4;
|
||||||
|
apple-t2 = import ./apple/t2;
|
||||||
|
asus-battery = import ./asus/battery.nix;
|
||||||
|
asus-ally-rc71l = import ./asus/ally/rc71l;
|
||||||
|
asus-fx504gd = import ./asus/fx504gd;
|
||||||
|
asus-fx506hm = import ./asus/fx506hm;
|
||||||
|
asus-fa506ic = import ./asus/fa506ic;
|
||||||
|
asus-fa507nv = import ./asus/fa507nv;
|
||||||
|
asus-fa507rm = import ./asus/fa507rm;
|
||||||
|
asus-flow-gv302x-amdgpu = import ./asus/flow/gv302x/amdgpu;
|
||||||
|
asus-flow-gv302x-nvidia = import ./asus/flow/gv302x/nvidia;
|
||||||
|
asus-pro-ws-x570-ace = import ./asus/pro-ws-x570-ace;
|
||||||
|
asus-rog-strix-g513im = import ./asus/rog-strix/g513im;
|
||||||
|
asus-rog-strix-g533zw = import ./asus/rog-strix/g533zw;
|
||||||
|
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-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-ga401 = import ./asus/zephyrus/ga401;
|
||||||
|
asus-zephyrus-ga402 = import ./asus/zephyrus/ga402;
|
||||||
|
asus-zephyrus-ga402x = import ./asus/zephyrus/ga402x;
|
||||||
|
asus-zephyrus-ga402x-amdgpu = import ./asus/zephyrus/ga402x/amdgpu;
|
||||||
|
asus-zephyrus-ga402x-nvidia = import ./asus/zephyrus/ga402x/nvidia;
|
||||||
|
asus-zephyrus-ga502 = import ./asus/zephyrus/ga502;
|
||||||
|
asus-zephyrus-ga503 = import ./asus/zephyrus/ga503;
|
||||||
|
asus-zephyrus-gu603h = import ./asus/zephyrus/gu603h;
|
||||||
|
asus-zephyrus-gu605my = import ./asus/zephyrus/gu605my;
|
||||||
|
beagleboard-pocketbeagle = import ./beagleboard/pocketbeagle;
|
||||||
|
chuwi-minibook-x = import ./chuwi/minibook-x;
|
||||||
|
deciso-dec = import ./deciso/dec;
|
||||||
|
dell-e7240 = deprecated "1326" "dell-e7240" (import ./dell/e7240);
|
||||||
|
dell-g3-3779 = import ./dell/g3/3779;
|
||||||
|
dell-g3-3579 = import ./dell/g3/3579;
|
||||||
|
dell-inspiron-14-5420 = import ./dell/inspiron/14-5420;
|
||||||
|
dell-inspiron-5509 = import ./dell/inspiron/5509;
|
||||||
|
dell-inspiron-5515 = import ./dell/inspiron/5515;
|
||||||
|
dell-inspiron-7405 = import ./dell/inspiron/7405;
|
||||||
|
dell-inspiron-7460 = import ./dell/inspiron/7460;
|
||||||
|
dell-inspiron-7559 = import ./dell/inspiron/7559;
|
||||||
|
dell-latitude-3340 = import ./dell/latitude/3340;
|
||||||
|
dell-latitude-3480 = import ./dell/latitude/3480;
|
||||||
|
dell-latitude-5490 = import ./dell/latitude/5490;
|
||||||
|
dell-latitude-5520 = import ./dell/latitude/5520;
|
||||||
|
dell-latitude-7280 = import ./dell/latitude/7280;
|
||||||
|
dell-latitude-7390 = import ./dell/latitude/7390;
|
||||||
|
dell-latitude-7420 = import ./dell/latitude/7420;
|
||||||
|
dell-latitude-7430 = import ./dell/latitude/7430;
|
||||||
|
dell-latitude-7490 = import ./dell/latitude/7490;
|
||||||
|
dell-latitude-9430 = import ./dell/latitude/9430;
|
||||||
|
dell-latitude-e7240 = import ./dell/latitude/e7240;
|
||||||
|
dell-optiplex-3050 = import ./dell/optiplex/3050;
|
||||||
|
dell-poweredge-r7515 = import ./dell/poweredge/r7515;
|
||||||
|
dell-precision-3490 = import ./dell/precision/3490;
|
||||||
|
dell-precision-3541 = import ./dell/precision/3541;
|
||||||
|
dell-precision-5490 = import ./dell/precision/5490;
|
||||||
|
dell-precision-5530 = import ./dell/precision/5530;
|
||||||
|
dell-precision-5560 = import ./dell/precision/5560;
|
||||||
|
dell-precision-7520 = import ./dell/precision/7520;
|
||||||
|
dell-xps-13-7390 = import ./dell/xps/13-7390;
|
||||||
|
dell-xps-13-9300 = import ./dell/xps/13-9300;
|
||||||
|
dell-xps-13-9310 = import ./dell/xps/13-9310;
|
||||||
|
dell-xps-13-9315 = import ./dell/xps/13-9315;
|
||||||
|
dell-xps-13-9333 = import ./dell/xps/13-9333;
|
||||||
|
dell-xps-13-9343 = import ./dell/xps/13-9343;
|
||||||
|
dell-xps-13-9350 = import ./dell/xps/13-9350;
|
||||||
|
dell-xps-13-9360 = import ./dell/xps/13-9360;
|
||||||
|
dell-xps-13-9370 = import ./dell/xps/13-9370;
|
||||||
|
dell-xps-13-9380 = import ./dell/xps/13-9380;
|
||||||
|
dell-xps-15-7590 = import ./dell/xps/15-7590;
|
||||||
|
dell-xps-15-7590-nvidia = import ./dell/xps/15-7590/nvidia;
|
||||||
|
dell-xps-15-9500 = import ./dell/xps/15-9500;
|
||||||
|
dell-xps-15-9500-nvidia = import ./dell/xps/15-9500/nvidia;
|
||||||
|
dell-xps-15-9510 = import ./dell/xps/15-9510;
|
||||||
|
dell-xps-15-9510-nvidia = import ./dell/xps/15-9510/nvidia;
|
||||||
|
dell-xps-15-9520 = import ./dell/xps/15-9520;
|
||||||
|
dell-xps-15-9520-nvidia = import ./dell/xps/15-9520/nvidia;
|
||||||
|
dell-xps-15-9530 = import ./dell/xps/15-9530;
|
||||||
|
dell-xps-15-9530-nvidia = import ./dell/xps/15-9530/nvidia;
|
||||||
|
dell-xps-15-9550 = import ./dell/xps/15-9550;
|
||||||
|
dell-xps-15-9550-nvidia = import ./dell/xps/15-9550/nvidia;
|
||||||
|
dell-xps-15-9560 = import ./dell/xps/15-9560;
|
||||||
|
dell-xps-15-9560-intel = import ./dell/xps/15-9560/intel;
|
||||||
|
dell-xps-15-9560-nvidia = import ./dell/xps/15-9560/nvidia;
|
||||||
|
dell-xps-15-9570 = import ./dell/xps/15-9570;
|
||||||
|
dell-xps-15-9570-intel = import ./dell/xps/15-9570/intel;
|
||||||
|
dell-xps-15-9570-nvidia = import ./dell/xps/15-9570/nvidia;
|
||||||
|
dell-xps-17-9700-intel = import ./dell/xps/17-9700/intel;
|
||||||
|
dell-xps-17-9700-nvidia = import ./dell/xps/17-9700/nvidia;
|
||||||
|
dell-xps-17-9710-intel = import ./dell/xps/17-9710/intel;
|
||||||
|
framework = import ./framework;
|
||||||
|
framework-11th-gen-intel = import ./framework/13-inch/11th-gen-intel;
|
||||||
|
framework-12th-gen-intel = import ./framework/13-inch/12th-gen-intel;
|
||||||
|
framework-13th-gen-intel = import ./framework/13-inch/13th-gen-intel;
|
||||||
|
framework-12-13th-gen-intel = import ./framework/12-inch/13th-gen-intel;
|
||||||
|
framework-intel-core-ultra-series1 = import ./framework/13-inch/intel-core-ultra-series1;
|
||||||
|
framework-13-7040-amd = import ./framework/13-inch/7040-amd;
|
||||||
|
framework-amd-ai-300-series = import ./framework/13-inch/amd-ai-300-series;
|
||||||
|
framework-16-7040-amd = import ./framework/16-inch/7040-amd;
|
||||||
|
friendlyarm-nanopc-t4 = import ./friendlyarm/nanopc-t4;
|
||||||
|
friendlyarm-nanopi-r5s = import ./friendlyarm/nanopi-r5s;
|
||||||
|
focus-m2-gen1 = import ./focus/m2/gen1;
|
||||||
|
gigabyte-b550 = import ./gigabyte/b550;
|
||||||
|
gigabyte-b650 = import ./gigabyte/b650;
|
||||||
|
gmktec-nucbox-g3-plus = import ./gmktec/nucbox/g3-plus;
|
||||||
|
google-pixelbook = import ./google/pixelbook;
|
||||||
|
gpd-micropc = import ./gpd/micropc;
|
||||||
|
gpd-p2-max = import ./gpd/p2-max;
|
||||||
|
gpd-pocket-3 = import ./gpd/pocket-3;
|
||||||
|
gpd-pocket-4 = import ./gpd/pocket-4;
|
||||||
|
gpd-win-2 = import ./gpd/win-2;
|
||||||
|
gpd-win-max-2-2023 = import ./gpd/win-max-2/2023;
|
||||||
|
gpd-win-mini-2024 = import ./gpd/win-mini/2024;
|
||||||
|
hp-elitebook-2560p = import ./hp/elitebook/2560p;
|
||||||
|
hp-elitebook-830g6 = import ./hp/elitebook/830/g6;
|
||||||
|
hp-elitebook-845g7 = import ./hp/elitebook/845/g7;
|
||||||
|
hp-elitebook-845g8 = import ./hp/elitebook/845/g8;
|
||||||
|
hp-elitebook-845g9 = import ./hp/elitebook/845/g9;
|
||||||
|
hp-probook-440G5 = import ./hp/probook/440G5;
|
||||||
|
hp-laptop-14s-dq2024nf = import ./hp/laptop/14s-dq2024nf;
|
||||||
|
huawei-machc-wa = import ./huawei/machc-wa;
|
||||||
|
hp-notebook-14-df0023 = import ./hp/notebook/14-df0023;
|
||||||
|
intel-nuc-8i7beh = import ./intel/nuc/8i7beh;
|
||||||
|
lenovo-ideacentre-k330 = import ./lenovo/ideacentre/k330;
|
||||||
|
lenovo-ideapad-14imh9 = import ./lenovo/ideapad/14imh9;
|
||||||
|
lenovo-ideapad-15alc6 = import ./lenovo/ideapad/15alc6;
|
||||||
|
lenovo-ideapad-15arh05 = import ./lenovo/ideapad/15arh05;
|
||||||
|
lenovo-ideapad-15ach6 = import ./lenovo/ideapad/15ach6;
|
||||||
|
lenovo-ideapad-16ach6 = import ./lenovo/ideapad/16ach6;
|
||||||
|
lenovo-ideapad-16ahp9 = import ./lenovo/ideapad/16ahp9;
|
||||||
|
lenovo-ideapad-z510 = import ./lenovo/ideapad/z510;
|
||||||
|
lenovo-ideapad-slim-5 = import ./lenovo/ideapad/slim-5;
|
||||||
|
lenovo-ideapad-s145-15api = import ./lenovo/ideapad/s145-15api;
|
||||||
|
lenovo-legion-15ach6 = import ./lenovo/legion/15ach6;
|
||||||
|
lenovo-legion-15ach6h = import ./lenovo/legion/15ach6h;
|
||||||
|
lenovo-legion-15arh05h = import ./lenovo/legion/15arh05h;
|
||||||
|
lenovo-legion-16ach6h = import ./lenovo/legion/16ach6h;
|
||||||
|
lenovo-legion-16ach6h-hybrid = import ./lenovo/legion/16ach6h/hybrid;
|
||||||
|
lenovo-legion-16ach6h-nvidia = import ./lenovo/legion/16ach6h/nvidia;
|
||||||
|
lenovo-legion-16arh7h-igpu-only = import ./lenovo/legion/16arh7h/igpu-only;
|
||||||
|
lenovo-legion-16arh7h-hybrid = import ./lenovo/legion/16arh7h/hybrid;
|
||||||
|
lenovo-legion-16achg6-hybrid = import ./lenovo/legion/16achg6/hybrid;
|
||||||
|
lenovo-legion-16achg6-nvidia = import ./lenovo/legion/16achg6/nvidia;
|
||||||
|
lenovo-legion-16aph8 = import ./lenovo/legion/16aph8;
|
||||||
|
lenovo-legion-16arha7 = import ./lenovo/legion/16arha7;
|
||||||
|
lenovo-legion-16ithg6 = import ./lenovo/legion/16ithg6;
|
||||||
|
lenovo-legion-16irx8h = import ./lenovo/legion/16irx8h;
|
||||||
|
lenovo-legion-16irx9h = import ./lenovo/legion/16irx9h;
|
||||||
|
lenovo-legion-t526amr5 = import ./lenovo/legion/t526amr5;
|
||||||
|
lenovo-legion-y530-15ich = import ./lenovo/legion/15ich;
|
||||||
|
lenovo-thinkpad = import ./lenovo/thinkpad;
|
||||||
|
lenovo-thinkpad-a475 = import ./lenovo/thinkpad/a475;
|
||||||
|
lenovo-thinkpad-e14-amd = import ./lenovo/thinkpad/e14/amd;
|
||||||
|
lenovo-thinkpad-e14-intel = import ./lenovo/thinkpad/e14/intel;
|
||||||
|
lenovo-thinkpad-e14-intel-gen4 = import ./lenovo/thinkpad/e14/intel/gen4;
|
||||||
|
lenovo-thinkpad-e14-intel-gen6 = import ./lenovo/thinkpad/e14/intel/gen6;
|
||||||
|
lenovo-thinkpad-e15-intel = import ./lenovo/thinkpad/e15/intel;
|
||||||
|
lenovo-thinkpad-e470 = import ./lenovo/thinkpad/e470;
|
||||||
|
lenovo-thinkpad-e495 = import ./lenovo/thinkpad/e495;
|
||||||
|
lenovo-thinkpad-l13 = import ./lenovo/thinkpad/l13;
|
||||||
|
lenovo-thinkpad-l13-yoga = import ./lenovo/thinkpad/l13/yoga;
|
||||||
|
lenovo-thinkpad-l14-amd = import ./lenovo/thinkpad/l14/amd;
|
||||||
|
lenovo-thinkpad-l14-intel = import ./lenovo/thinkpad/l14/intel;
|
||||||
|
lenovo-thinkpad-l480 = import ./lenovo/thinkpad/l480;
|
||||||
|
lenovo-thinkpad-p1 = import ./lenovo/thinkpad/p1;
|
||||||
|
lenovo-thinkpad-p1-gen3 = import ./lenovo/thinkpad/p1/3th-gen;
|
||||||
|
lenovo-thinkpad-p14s-amd-gen1 = import ./lenovo/thinkpad/p14s/amd/gen1;
|
||||||
|
lenovo-thinkpad-p14s-amd-gen2 = import ./lenovo/thinkpad/p14s/amd/gen2;
|
||||||
|
lenovo-thinkpad-p14s-amd-gen3 = import ./lenovo/thinkpad/p14s/amd/gen3;
|
||||||
|
lenovo-thinkpad-p14s-amd-gen4 = import ./lenovo/thinkpad/p14s/amd/gen4;
|
||||||
|
lenovo-thinkpad-p14s-amd-gen5 = import ./lenovo/thinkpad/p14s/amd/gen5;
|
||||||
|
lenovo-thinkpad-p14s-intel-gen3 = import ./lenovo/thinkpad/p14s/intel/gen3;
|
||||||
|
lenovo-thinkpad-p14s-intel-gen5 = import ./lenovo/thinkpad/p14s/intel/gen5;
|
||||||
|
lenovo-thinkpad-p16s-amd-gen1 = import ./lenovo/thinkpad/p16s/amd/gen1;
|
||||||
|
lenovo-thinkpad-p16s-amd-gen2 = import ./lenovo/thinkpad/p16s/amd/gen2;
|
||||||
|
lenovo-thinkpad-p16s-intel-gen2 = import ./lenovo/thinkpad/p16s/intel/gen2;
|
||||||
|
lenovo-thinkpad-p43s = import ./lenovo/thinkpad/p43s;
|
||||||
|
lenovo-thinkpad-p50 = import ./lenovo/thinkpad/p50;
|
||||||
|
lenovo-thinkpad-p51 = import ./lenovo/thinkpad/p51;
|
||||||
|
lenovo-thinkpad-p52 = import ./lenovo/thinkpad/p52;
|
||||||
|
lenovo-thinkpad-p53 = import ./lenovo/thinkpad/p53;
|
||||||
|
lenovo-thinkpad-t14 = import ./lenovo/thinkpad/t14;
|
||||||
|
lenovo-thinkpad-t14-amd-gen1 = import ./lenovo/thinkpad/t14/amd/gen1;
|
||||||
|
lenovo-thinkpad-t14-amd-gen2 = import ./lenovo/thinkpad/t14/amd/gen2;
|
||||||
|
lenovo-thinkpad-t14-amd-gen3 = import ./lenovo/thinkpad/t14/amd/gen3;
|
||||||
|
lenovo-thinkpad-t14-amd-gen4 = import ./lenovo/thinkpad/t14/amd/gen4;
|
||||||
|
lenovo-thinkpad-t14-amd-gen5 = import ./lenovo/thinkpad/t14/amd/gen5;
|
||||||
|
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;
|
||||||
|
lenovo-thinkpad-t440p = import ./lenovo/thinkpad/t440p;
|
||||||
|
lenovo-thinkpad-t440s = import ./lenovo/thinkpad/t440s;
|
||||||
|
lenovo-thinkpad-t450s = import ./lenovo/thinkpad/t450s;
|
||||||
|
lenovo-thinkpad-t460 = import ./lenovo/thinkpad/t460;
|
||||||
|
lenovo-thinkpad-t460p = import ./lenovo/thinkpad/t460p;
|
||||||
|
lenovo-thinkpad-t460s = import ./lenovo/thinkpad/t460s;
|
||||||
|
lenovo-thinkpad-t470s = import ./lenovo/thinkpad/t470s;
|
||||||
|
lenovo-thinkpad-t480 = import ./lenovo/thinkpad/t480;
|
||||||
|
lenovo-thinkpad-t480s = import ./lenovo/thinkpad/t480s;
|
||||||
|
lenovo-thinkpad-t490 = import ./lenovo/thinkpad/t490;
|
||||||
|
lenovo-thinkpad-t490s = import ./lenovo/thinkpad/t490s;
|
||||||
|
lenovo-thinkpad-t495 = import ./lenovo/thinkpad/t495;
|
||||||
|
lenovo-thinkpad-t520 = import ./lenovo/thinkpad/t520;
|
||||||
|
lenovo-thinkpad-w520 = import ./lenovo/thinkpad/w520;
|
||||||
|
lenovo-thinkpad-t550 = import ./lenovo/thinkpad/t550;
|
||||||
|
lenovo-thinkpad-t590 = import ./lenovo/thinkpad/t590;
|
||||||
|
lenovo-thinkpad-x1 = import ./lenovo/thinkpad/x1;
|
||||||
|
lenovo-thinkpad-x1-yoga = import ./lenovo/thinkpad/x1/yoga;
|
||||||
|
lenovo-thinkpad-x1-yoga-7th-gen = import ./lenovo/thinkpad/x1/yoga/7th-gen;
|
||||||
|
lenovo-thinkpad-x1-yoga-8th-gen = import ./lenovo/thinkpad/x1/yoga/8th-gen;
|
||||||
|
lenovo-thinkpad-x1-2nd-gen = import ./lenovo/thinkpad/x1/2nd-gen;
|
||||||
|
lenovo-thinkpad-x1-6th-gen = import ./lenovo/thinkpad/x1/6th-gen;
|
||||||
|
lenovo-thinkpad-x1-7th-gen = import ./lenovo/thinkpad/x1/7th-gen;
|
||||||
|
lenovo-thinkpad-x1-9th-gen = import ./lenovo/thinkpad/x1/9th-gen;
|
||||||
|
lenovo-thinkpad-x1-10th-gen = import ./lenovo/thinkpad/x1/10th-gen;
|
||||||
|
lenovo-thinkpad-x1-11th-gen = import ./lenovo/thinkpad/x1/11th-gen;
|
||||||
|
lenovo-thinkpad-x1-12th-gen = import ./lenovo/thinkpad/x1/12th-gen;
|
||||||
|
lenovo-thinkpad-x1-13th-gen = import ./lenovo/thinkpad/x1/13th-gen;
|
||||||
|
lenovo-thinkpad-x1-extreme = import ./lenovo/thinkpad/x1-extreme;
|
||||||
|
lenovo-thinkpad-x1-extreme-gen2 = import ./lenovo/thinkpad/x1-extreme/gen2;
|
||||||
|
lenovo-thinkpad-x1-extreme-gen3 = import ./lenovo/thinkpad/x1-extreme/gen3;
|
||||||
|
lenovo-thinkpad-x1-extreme-gen4 = import ./lenovo/thinkpad/x1-extreme/gen4;
|
||||||
|
lenovo-thinkpad-x1-nano = import ./lenovo/thinkpad/x1-nano;
|
||||||
|
lenovo-thinkpad-x1-nano-gen1 = import ./lenovo/thinkpad/x1-nano/gen1;
|
||||||
|
lenovo-thinkpad-x13 = import ./lenovo/thinkpad/x13/intel;
|
||||||
|
lenovo-thinkpad-x13-amd = import ./lenovo/thinkpad/x13/amd;
|
||||||
|
lenovo-thinkpad-x13-yoga = import ./lenovo/thinkpad/x13/yoga;
|
||||||
|
lenovo-thinkpad-x13-yoga-3th-gen = import ./lenovo/thinkpad/x13/yoga/3th-gen;
|
||||||
|
lenovo-thinkpad-x13s = import ./lenovo/thinkpad/x13s;
|
||||||
|
lenovo-thinkpad-x140e = import ./lenovo/thinkpad/x140e;
|
||||||
|
lenovo-thinkpad-x200s = import ./lenovo/thinkpad/x200s;
|
||||||
|
lenovo-thinkpad-x220 = import ./lenovo/thinkpad/x220;
|
||||||
|
lenovo-thinkpad-x230 = import ./lenovo/thinkpad/x230;
|
||||||
|
lenovo-thinkpad-x250 = import ./lenovo/thinkpad/x250;
|
||||||
|
lenovo-thinkpad-x260 = import ./lenovo/thinkpad/x260;
|
||||||
|
lenovo-thinkpad-x270 = import ./lenovo/thinkpad/x270;
|
||||||
|
lenovo-thinkpad-x280 = import ./lenovo/thinkpad/x280;
|
||||||
|
lenovo-thinkpad-x390 = import ./lenovo/thinkpad/x390;
|
||||||
|
lenovo-thinkpad-z = import ./lenovo/thinkpad/z;
|
||||||
|
lenovo-thinkpad-z13-gen1 = import ./lenovo/thinkpad/z/gen1/z13;
|
||||||
|
lenovo-thinkpad-z13-gen2 = import ./lenovo/thinkpad/z/gen2/z13;
|
||||||
|
lenovo-yoga-6-13ALC6 = import ./lenovo/yoga/6/13ALC6;
|
||||||
|
lenovo-yoga-7-14ARH7 = import ./lenovo/yoga/7/14ARH7;
|
||||||
|
lenovo-yoga-7-14ARH7-amdgpu = import ./lenovo/yoga/7/14ARH7/amdgpu;
|
||||||
|
lenovo-yoga-7-14ARH7-nvidia = import ./lenovo/yoga/7/14ARH7/nvidia;
|
||||||
|
lenovo-yoga-7-14IAH7-integrated = import ./lenovo/yoga/7/14IAH7/integrated;
|
||||||
|
lenovo-yoga-7-14IAH7-hybrid = import ./lenovo/yoga/7/14IAH7/hybrid;
|
||||||
|
lenovo-yoga-7-14ILL10 = import ./lenovo/yoga/7/14ILL10;
|
||||||
|
lenovo-yoga-7-slim-gen8 = import ./lenovo/yoga/7/slim/gen8;
|
||||||
|
letsnote-cf-lx4 = import ./panasonic/letsnote/cf-lx4;
|
||||||
|
malibal-aon-s1-intel = import ./malibal/aon/s1;
|
||||||
|
microchip-icicle-kit = import ./microchip/icicle-kit;
|
||||||
|
microsoft-surface-go = import ./microsoft/surface/surface-go;
|
||||||
|
microsoft-surface-pro-intel = import ./microsoft/surface/surface-pro-intel;
|
||||||
|
microsoft-surface-laptop-amd = import ./microsoft/surface/surface-laptop-amd;
|
||||||
|
microsoft-surface-common = import ./microsoft/surface/common;
|
||||||
|
microsoft-surface-pro-3 = import ./microsoft/surface-pro/3;
|
||||||
|
microsoft-surface-pro-9 = import ./microsoft/surface-pro/9;
|
||||||
|
milkv-pioneer = import ./milkv/pioneer;
|
||||||
|
minisforum-v3 = import ./minisforum/v3;
|
||||||
|
morefine-m600 = import ./morefine/m600;
|
||||||
|
msi-b350-tomahawk = import ./msi/b350-tomahawk;
|
||||||
|
msi-b550-a-pro = import ./msi/b550-a-pro;
|
||||||
|
msi-gs60 = import ./msi/gs60;
|
||||||
|
msi-gl62 = import ./msi/gl62;
|
||||||
|
msi-gl65-10SDR-492 = import ./msi/gl65/10SDR-492;
|
||||||
|
nxp-imx8mp-evk = import ./nxp/imx8mp-evk;
|
||||||
|
nxp-imx8mq-evk = import ./nxp/imx8mq-evk;
|
||||||
|
nxp-imx8qm-mek = import ./nxp/imx8qm-mek;
|
||||||
|
hardkernel-odroid-hc4 = import ./hardkernel/odroid-hc4;
|
||||||
|
hardkernel-odroid-h3 = import ./hardkernel/odroid-h3;
|
||||||
|
hardkernel-odroid-h4 = import ./hardkernel/odroid-h4;
|
||||||
|
omen-14-fb0798ng = import ./omen/14-fb0798ng;
|
||||||
|
omen-15-ce002ns = import ./omen/15-ce002ns;
|
||||||
|
omen-15-en0010ca = import ./omen/15-en0010ca;
|
||||||
|
omen-16-n0005ne = import ./omen/16-n0005ne;
|
||||||
|
omen-16-n0280nd = import ./omen/16-n0280nd;
|
||||||
|
omen-15-en1007sa = import ./omen/15-en1007sa;
|
||||||
|
omen-15-en0002np = import ./omen/15-en0002np;
|
||||||
|
onenetbook-4 = import ./onenetbook/4;
|
||||||
|
olimex-teres_i = import ./olimex/teres_i;
|
||||||
|
pcengines-apu = import ./pcengines/apu;
|
||||||
|
pine64-pinebook-pro = import ./pine64/pinebook-pro;
|
||||||
|
pine64-rockpro64 = import ./pine64/rockpro64;
|
||||||
|
pine64-star64 = import ./pine64/star64;
|
||||||
|
protectli-vp4670 = import ./protectli/vp4670;
|
||||||
|
purism-librem-13v3 = import ./purism/librem/13v3;
|
||||||
|
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;
|
||||||
|
rock-4c-plus = import ./radxa/rock-4c-plus;
|
||||||
|
rock-5b = import ./radxa/rock-5b;
|
||||||
|
rock-pi-4 = import ./radxa/rock-pi-4;
|
||||||
|
rock-pi-e = import ./radxa/rock-pi-e;
|
||||||
|
kobol-helios4 = import ./kobol/helios4;
|
||||||
|
samsung-np900x3c = import ./samsung/np900x3c;
|
||||||
|
slimbook-hero-rpl-rtx = import ./slimbook/hero/rpl-rtx;
|
||||||
|
starfive-visionfive-v1 = import ./starfive/visionfive/v1;
|
||||||
|
starfive-visionfive-2 = import ./starfive/visionfive/v2;
|
||||||
|
starlabs-starlite-i5 = import ./starlabs/starlite/i5;
|
||||||
|
supermicro = import ./supermicro;
|
||||||
|
supermicro-a1sri-2758f = import ./supermicro/a1sri-2758f;
|
||||||
|
supermicro-m11sdv-8c-ln4f = import ./supermicro/m11sdv-8c-ln4f;
|
||||||
|
supermicro-x10sll-f = import ./supermicro/x10sll-f;
|
||||||
|
supermicro-x12scz-tln4f = import ./supermicro/x12scz-tln4f;
|
||||||
|
system76 = import ./system76;
|
||||||
|
system76-gaze18 = import ./system76/gaze18;
|
||||||
|
system76-galp5-1650 = import ./system76/galp5-1650;
|
||||||
|
system76-darp6 = import ./system76/darp6;
|
||||||
|
toshiba-swanky = import ./toshiba/swanky;
|
||||||
|
tuxedo-aura-15-gen1 = import ./tuxedo/aura/15/gen1;
|
||||||
|
tuxedo-infinitybook-v4 = import ./tuxedo/infinitybook/v4;
|
||||||
|
tuxedo-infinitybook-pro14-gen7 = import ./tuxedo/infinitybook/pro14/gen7;
|
||||||
|
tuxedo-infinitybook-pro14-gen9-intel = import ./tuxedo/infinitybook/pro14/gen9/intel;
|
||||||
|
tuxedo-pulse-14-gen3 = import ./tuxedo/pulse/14/gen3;
|
||||||
|
tuxedo-pulse-15-gen2 = import ./tuxedo/pulse/15/gen2;
|
||||||
|
xiaomi-redmibook-16-pro-2024 = import ./xiaomi/redmibook/16-pro-2024;
|
||||||
|
|
||||||
|
common-cpu-amd = import ./common/cpu/amd;
|
||||||
|
common-cpu-amd-pstate = import ./common/cpu/amd/pstate.nix;
|
||||||
|
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-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-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;
|
||||||
|
common-gpu-intel = import ./common/gpu/intel;
|
||||||
|
common-gpu-intel-disable = import ./common/gpu/intel/disable.nix;
|
||||||
|
common-gpu-nvidia = import ./common/gpu/nvidia/prime.nix;
|
||||||
|
common-gpu-nvidia-sync = import ./common/gpu/nvidia/prime-sync.nix;
|
||||||
|
common-gpu-nvidia-nonprime = import ./common/gpu/nvidia;
|
||||||
|
common-gpu-nvidia-disable = import ./common/gpu/nvidia/disable.nix;
|
||||||
|
common-hidpi = import ./common/hidpi.nix;
|
||||||
|
common-pc = import ./common/pc;
|
||||||
|
common-pc-hdd = import ./common/pc/hdd;
|
||||||
|
common-pc-laptop = import ./common/pc/laptop;
|
||||||
|
common-pc-laptop-acpi_call = throw "common-pc-laptop-acpi_call has been removed because it is obsolete: https://github.com/NixOS/nixos-hardware/issues/1114";
|
||||||
|
common-pc-laptop-hdd = import ./common/pc/laptop/hdd;
|
||||||
|
common-pc-laptop-ssd = import ./common/pc/ssd;
|
||||||
|
common-pc-ssd = import ./common/pc/ssd;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,14 @@
|
||||||
../../../common/pc/ssd
|
../../../common/pc/ssd
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"nvme"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
"rtsx_pci_sdmmc"
|
||||||
|
];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
"tpm_tis.interrupts=0" # Upstream bug: https://bugzilla.kernel.org/show_bug.cgi?id=204121
|
"tpm_tis.interrupts=0" # Upstream bug: https://bugzilla.kernel.org/show_bug.cgi?id=204121
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib, pkgs, ...}: {
|
{ lib, pkgs, ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../common
|
../common
|
||||||
../common/intel.nix
|
../common/intel.nix
|
||||||
|
|
@ -6,7 +7,10 @@
|
||||||
|
|
||||||
# Requires at least 5.16 for working wi-fi and bluetooth.
|
# Requires at least 5.16 for working wi-fi and bluetooth.
|
||||||
# https://community.frame.work/t/using-the-ax210-with-linux-on-the-framework-laptop/1844/89
|
# https://community.frame.work/t/using-the-ax210-with-linux-on-the-framework-laptop/1844/89
|
||||||
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.16") (lib.mkDefault pkgs.linuxPackages_latest);
|
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.16") (
|
||||||
|
lib.mkDefault pkgs.linuxPackages_latest
|
||||||
|
);
|
||||||
|
|
||||||
hardware.framework.laptop13.audioEnhancement.rawDeviceName = lib.mkDefault "alsa_output.pci-0000_00_1f.3.analog-stereo";
|
hardware.framework.laptop13.audioEnhancement.rawDeviceName =
|
||||||
|
lib.mkDefault "alsa_output.pci-0000_00_1f.3.analog-stereo";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,8 @@
|
||||||
{
|
{
|
||||||
hardware.intelgpu.loadInInitrd = lib.versionOlder config.boot.kernelPackages.kernel.version "6.2";
|
hardware.intelgpu.loadInInitrd = lib.versionOlder config.boot.kernelPackages.kernel.version "6.2";
|
||||||
# same as 13th gen framework 13-inch
|
# same as 13th gen framework 13-inch
|
||||||
hardware.framework.laptop13.audioEnhancement.rawDeviceName = lib.mkDefault "alsa_output.pci-0000_00_1f.3.analog-stereo";
|
hardware.framework.laptop13.audioEnhancement.rawDeviceName =
|
||||||
|
lib.mkDefault "alsa_output.pci-0000_00_1f.3.analog-stereo";
|
||||||
}
|
}
|
||||||
# https://community.frame.work/t/tracking-hard-freezing-on-fedora-36-with-the-new-12th-gen-system/20675/391
|
# https://community.frame.work/t/tracking-hard-freezing-on-fedora-36-with-the-new-12th-gen-system/20675/391
|
||||||
(lib.mkIf (lib.versionOlder config.boot.kernelPackages.kernel.version "6.2") {
|
(lib.mkIf (lib.versionOlder config.boot.kernelPackages.kernel.version "6.2") {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.hardware.framework.amd-7040;
|
cfg = config.hardware.framework.amd-7040;
|
||||||
|
|
@ -27,12 +32,15 @@ in
|
||||||
config = {
|
config = {
|
||||||
# Workaround applied upstream in Linux >=6.7 (on BIOS 03.03)
|
# Workaround applied upstream in Linux >=6.7 (on BIOS 03.03)
|
||||||
# https://github.com/torvalds/linux/commit/a55bdad5dfd1efd4ed9ffe518897a21ca8e4e193
|
# https://github.com/torvalds/linux/commit/a55bdad5dfd1efd4ed9ffe518897a21ca8e4e193
|
||||||
services.udev.extraRules = lib.mkIf (lib.versionOlder config.boot.kernelPackages.kernel.version "6.7" && cfg.preventWakeOnAC) ''
|
services.udev.extraRules =
|
||||||
# Prevent wake when plugging in AC during suspend. Trade-off: keyboard wake disabled. See:
|
lib.mkIf (lib.versionOlder config.boot.kernelPackages.kernel.version "6.7" && cfg.preventWakeOnAC)
|
||||||
# https://community.frame.work/t/tracking-framework-amd-ryzen-7040-series-lid-wakeup-behavior-feedback/39128/45
|
''
|
||||||
ACTION=="add", SUBSYSTEM=="serio", DRIVERS=="atkbd", ATTR{power/wakeup}="disabled"
|
# Prevent wake when plugging in AC during suspend. Trade-off: keyboard wake disabled. See:
|
||||||
'';
|
# https://community.frame.work/t/tracking-framework-amd-ryzen-7040-series-lid-wakeup-behavior-feedback/39128/45
|
||||||
|
ACTION=="add", SUBSYSTEM=="serio", DRIVERS=="atkbd", ATTR{power/wakeup}="disabled"
|
||||||
|
'';
|
||||||
|
|
||||||
hardware.framework.laptop13.audioEnhancement.rawDeviceName = lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo";
|
hardware.framework.laptop13.audioEnhancement.rawDeviceName =
|
||||||
|
lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,15 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../common
|
../common
|
||||||
../common/amd.nix
|
../common/amd.nix
|
||||||
];
|
];
|
||||||
config.hardware.framework.laptop13.audioEnhancement.rawDeviceName = lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo";
|
config.hardware.framework.laptop13.audioEnhancement.rawDeviceName =
|
||||||
|
lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib, config, ... }: {
|
{ lib, config, ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../../common/cpu/amd
|
../../../common/cpu/amd
|
||||||
../../../common/cpu/amd/pstate.nix
|
../../../common/cpu/amd/pstate.nix
|
||||||
|
|
@ -15,7 +16,9 @@
|
||||||
"amdgpu.dcdebugmask=0x10"
|
"amdgpu.dcdebugmask=0x10"
|
||||||
]
|
]
|
||||||
# Workaround for SuspendThenHibernate: https://lore.kernel.org/linux-kernel/20231106162310.85711-1-mario.limonciello@amd.com/
|
# Workaround for SuspendThenHibernate: https://lore.kernel.org/linux-kernel/20231106162310.85711-1-mario.limonciello@amd.com/
|
||||||
++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") ["rtc_cmos.use_acpi_alarm=1"];
|
++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") [
|
||||||
|
"rtc_cmos.use_acpi_alarm=1"
|
||||||
|
];
|
||||||
|
|
||||||
# AMD has better battery life with PPD over TLP:
|
# AMD has better battery life with PPD over TLP:
|
||||||
# https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13
|
# https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.hardware.framework.laptop13.audioEnhancement;
|
cfg = config.hardware.framework.laptop13.audioEnhancement;
|
||||||
in
|
in
|
||||||
|
|
@ -51,332 +56,335 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (let
|
config = lib.mkIf cfg.enable (
|
||||||
outputName = cfg.rawDeviceName;
|
let
|
||||||
prettyName = "Framework Speakers";
|
outputName = cfg.rawDeviceName;
|
||||||
|
prettyName = "Framework Speakers";
|
||||||
|
|
||||||
# These are pre-made decibel to linear value conversions, since Nix doesn't have pow().
|
# These are pre-made decibel to linear value conversions, since Nix doesn't have pow().
|
||||||
# Use the formula `10 ** (db / 20)` to calculate.
|
# Use the formula `10 ** (db / 20)` to calculate.
|
||||||
db = {
|
db = {
|
||||||
"-18.1" = 0.1244514611771385;
|
"-18.1" = 0.1244514611771385;
|
||||||
"-5.48" = 0.5321082592667942;
|
"-5.48" = 0.5321082592667942;
|
||||||
"-4.76" = 0.5780960474057181;
|
"-4.76" = 0.5780960474057181;
|
||||||
"8.1" = 2.5409727055493048;
|
"8.1" = 2.5409727055493048;
|
||||||
"-36" = 1.5848931924611134e-2;
|
"-36" = 1.5848931924611134e-2;
|
||||||
};
|
|
||||||
|
|
||||||
json = pkgs.formats.json { };
|
|
||||||
|
|
||||||
# The filter chain, heavily inspired by the asahi-audio project: https://github.com/AsahiLinux/asahi-audio
|
|
||||||
filter-chain = json.generate "filter-chain.json" {
|
|
||||||
"node.description" = prettyName;
|
|
||||||
"media.name" = prettyName;
|
|
||||||
"filter.graph" = {
|
|
||||||
nodes = [
|
|
||||||
# Psychoacoustic bass extension,
|
|
||||||
# it creates harmonics of the missing bass to fool our ears into hearing it.
|
|
||||||
{
|
|
||||||
type = "lv2";
|
|
||||||
plugin = "https://chadmed.au/bankstown";
|
|
||||||
name = "bassex";
|
|
||||||
control = {
|
|
||||||
bypass = 0;
|
|
||||||
amt = 1.2;
|
|
||||||
sat_second = 1.3;
|
|
||||||
sat_third = 2.5;
|
|
||||||
blend = 1.0;
|
|
||||||
ceil = 200.0;
|
|
||||||
floor = 20.0;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
# Loudness compensation,
|
|
||||||
# it ensures that the sound profile stays consistent across different volumes.
|
|
||||||
{
|
|
||||||
type = "lv2";
|
|
||||||
plugin = "http://lsp-plug.in/plugins/lv2/loud_comp_stereo";
|
|
||||||
name = "el";
|
|
||||||
control = {
|
|
||||||
enabled = 1;
|
|
||||||
input = 1.0;
|
|
||||||
fft = 4;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
# 8-band equalizer,
|
|
||||||
# it tries to lessen frequencies where the laptop might resonate,
|
|
||||||
# and tries to make the frequency curve more pleasing;
|
|
||||||
# this is the "Lappy McTopface" profile (https://github.com/ceiphr/ee-framework-presets)
|
|
||||||
# further tuned for the Framework Laptop 13 AMD 7040 series
|
|
||||||
# and might need some tuning on other models.
|
|
||||||
{
|
|
||||||
type = "lv2";
|
|
||||||
plugin = "http://lsp-plug.in/plugins/lv2/para_equalizer_x8_lr";
|
|
||||||
name = "fw13eq";
|
|
||||||
control = {
|
|
||||||
mode = 0;
|
|
||||||
react = 0.2;
|
|
||||||
zoom = db."-36";
|
|
||||||
|
|
||||||
fl_0 = 101.0;
|
|
||||||
fml_0 = 0;
|
|
||||||
ftl_0 = 5;
|
|
||||||
gl_0 = db."-18.1";
|
|
||||||
huel_0 = 0.0;
|
|
||||||
ql_0 = 4.36;
|
|
||||||
sl_0 = 0;
|
|
||||||
wl_0 = 4.0;
|
|
||||||
|
|
||||||
fl_1 = 451.0;
|
|
||||||
fml_1 = 0;
|
|
||||||
ftl_1 = 1;
|
|
||||||
gl_1 = db."-5.48";
|
|
||||||
huel_1 = 3.125e-2;
|
|
||||||
ql_1 = 2.46;
|
|
||||||
sl_1 = 0;
|
|
||||||
wl_1 = 4.0;
|
|
||||||
|
|
||||||
fl_2 = 918.0;
|
|
||||||
fml_2 = 0;
|
|
||||||
ftl_2 = 1;
|
|
||||||
gl_2 = db."-4.76";
|
|
||||||
huel_2 = 6.25e-2;
|
|
||||||
ql_2 = 2.44;
|
|
||||||
sl_2 = 0;
|
|
||||||
wl_2 = 4.0;
|
|
||||||
|
|
||||||
fl_3 = 9700.0;
|
|
||||||
fml_3 = 0;
|
|
||||||
ftl_3 = 1;
|
|
||||||
gl_3 = db."8.1";
|
|
||||||
huel_3 = 9.375e-2;
|
|
||||||
ql_3 = 2.0;
|
|
||||||
sl_3 = 0;
|
|
||||||
wl_3 = 4.0;
|
|
||||||
|
|
||||||
fr_0 = 101.0;
|
|
||||||
fmr_0 = 0;
|
|
||||||
ftr_0 = 5;
|
|
||||||
gr_0 = db."-18.1";
|
|
||||||
huer_0 = 0.0;
|
|
||||||
qr_0 = 4.36;
|
|
||||||
sr_0 = 0;
|
|
||||||
wr_0 = 4.0;
|
|
||||||
|
|
||||||
fr_1 = 451.0;
|
|
||||||
fmr_1 = 0;
|
|
||||||
ftr_1 = 1;
|
|
||||||
gr_1 = db."-5.48";
|
|
||||||
huer_1 = 3.125e-2;
|
|
||||||
qr_1 = 2.46;
|
|
||||||
sr_1 = 0;
|
|
||||||
wr_1 = 4.0;
|
|
||||||
|
|
||||||
fr_2 = 918.0;
|
|
||||||
fmr_2 = 0;
|
|
||||||
ftr_2 = 1;
|
|
||||||
gr_2 = db."-4.76";
|
|
||||||
huer_2 = 6.25e-2;
|
|
||||||
qr_2 = 2.44;
|
|
||||||
sr_2 = 0;
|
|
||||||
wr_2 = 4.0;
|
|
||||||
|
|
||||||
fr_3 = 9700.0;
|
|
||||||
fmr_3 = 0;
|
|
||||||
ftr_3 = 1;
|
|
||||||
gr_3 = db."8.1";
|
|
||||||
huer_3 = 9.375e-2;
|
|
||||||
qr_3 = 2.0;
|
|
||||||
sr_3 = 0;
|
|
||||||
wr_3 = 4.0;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
# Compressors. The settings were taken from the asahi-audio project.
|
|
||||||
{
|
|
||||||
type = "lv2";
|
|
||||||
plugin = "http://lsp-plug.in/plugins/lv2/mb_compressor_stereo";
|
|
||||||
name = "woofer_bp";
|
|
||||||
control = {
|
|
||||||
mode = 0;
|
|
||||||
ce_0 = 1;
|
|
||||||
sla_0 = 5.0;
|
|
||||||
cr_0 = 1.75;
|
|
||||||
al_0 = 0.725;
|
|
||||||
at_0 = 1.0;
|
|
||||||
rt_0 = 100;
|
|
||||||
kn_0 = 0.125;
|
|
||||||
cbe_1 = 1;
|
|
||||||
sf_1 = 200.0;
|
|
||||||
ce_1 = 0;
|
|
||||||
cbe_2 = 0;
|
|
||||||
ce_2 = 0;
|
|
||||||
cbe_3 = 0;
|
|
||||||
ce_3 = 0;
|
|
||||||
cbe_4 = 0;
|
|
||||||
ce_4 = 0;
|
|
||||||
cbe_5 = 0;
|
|
||||||
ce_5 = 0;
|
|
||||||
cbe_6 = 0;
|
|
||||||
ce_6 = 0;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "lv2";
|
|
||||||
plugin = "http://lsp-plug.in/plugins/lv2/compressor_stereo";
|
|
||||||
name = "woofer_lim";
|
|
||||||
control = {
|
|
||||||
sla = 5.0;
|
|
||||||
al = 1.0;
|
|
||||||
at = 1.0;
|
|
||||||
rt = 100.0;
|
|
||||||
cr = 15.0;
|
|
||||||
kn = 0.5;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
# Now, we're chaining together the modules instantiated above.
|
|
||||||
links = [
|
|
||||||
{
|
|
||||||
output = "bassex:out_l";
|
|
||||||
input = "el:in_l";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
output = "bassex:out_r";
|
|
||||||
input = "el:in_r";
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
output = "el:out_l";
|
|
||||||
input = "fw13eq:in_l";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
output = "el:out_r";
|
|
||||||
input = "fw13eq:in_r";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
output = "fw13eq:out_l";
|
|
||||||
input = "woofer_bp:in_l";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
output = "fw13eq:out_r";
|
|
||||||
input = "woofer_bp:in_r";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
output = "woofer_bp:out_l";
|
|
||||||
input = "woofer_lim:in_l";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
output = "woofer_bp:out_r";
|
|
||||||
input = "woofer_lim:in_r";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
inputs = [
|
|
||||||
"bassex:in_l"
|
|
||||||
"bassex:in_r"
|
|
||||||
];
|
|
||||||
outputs = [
|
|
||||||
"woofer_lim:out_l"
|
|
||||||
"woofer_lim:out_r"
|
|
||||||
];
|
|
||||||
|
|
||||||
# This makes pipewire's volume control actually control the loudness comp module
|
|
||||||
"capture.volumes" = [
|
|
||||||
{
|
|
||||||
control = "el:volume";
|
|
||||||
min = -47.5;
|
|
||||||
max = 0.0;
|
|
||||||
scale = "cubic";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
"capture.props" = {
|
|
||||||
"node.name" = "audio_effect.laptop-convolver";
|
|
||||||
"media.class" = "Audio/Sink";
|
|
||||||
"audio.channels" = "2";
|
|
||||||
"audio.position" = [
|
|
||||||
"FL"
|
|
||||||
"FR"
|
|
||||||
];
|
|
||||||
"audio.allowed-rates" = [
|
|
||||||
44100
|
|
||||||
48000
|
|
||||||
88200
|
|
||||||
96000
|
|
||||||
176400
|
|
||||||
192000
|
|
||||||
];
|
|
||||||
"device.api" = "dsp";
|
|
||||||
"node.virtual" = "false";
|
|
||||||
|
|
||||||
# Lower seems to mean "more preferred",
|
json = pkgs.formats.json { };
|
||||||
# bluetooth devices seem to be ~1000, speakers seem to be ~2000
|
|
||||||
# since this is between the two, bluetooth devices take over when they connect,
|
|
||||||
# and hand over to this instead of the speakers when they disconnect.
|
|
||||||
"priority.session" = 1500;
|
|
||||||
"priority.driver" = 1500;
|
|
||||||
"state.default-volume" = 0.343;
|
|
||||||
"device.icon-name" = "audio-card-analog-pci";
|
|
||||||
};
|
|
||||||
"playback.props" = {
|
|
||||||
"node.name" = "audio_effect.laptop-convolver";
|
|
||||||
"target.object" = outputName;
|
|
||||||
"node.passive" = "true";
|
|
||||||
"audio.channels" = "2";
|
|
||||||
"audio.allowed-rates" = [
|
|
||||||
44100
|
|
||||||
48000
|
|
||||||
88200
|
|
||||||
96000
|
|
||||||
176400
|
|
||||||
192000
|
|
||||||
];
|
|
||||||
"audio.position" = [
|
|
||||||
"FL"
|
|
||||||
"FR"
|
|
||||||
];
|
|
||||||
"device.icon-name" = "audio-card-analog-pci";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
configPackage =
|
# The filter chain, heavily inspired by the asahi-audio project: https://github.com/AsahiLinux/asahi-audio
|
||||||
(pkgs.writeTextDir "share/wireplumber/wireplumber.conf.d/99-laptop.conf" ''
|
filter-chain = json.generate "filter-chain.json" {
|
||||||
monitor.alsa.rules = [
|
"node.description" = prettyName;
|
||||||
{
|
"media.name" = prettyName;
|
||||||
matches = [{ node.name = "${outputName}" }]
|
"filter.graph" = {
|
||||||
actions = {
|
nodes = [
|
||||||
update-props = {
|
# Psychoacoustic bass extension,
|
||||||
audio.allowed-rates = [44100, 48000, 88200, 96000, 176400, 192000]
|
# it creates harmonics of the missing bass to fool our ears into hearing it.
|
||||||
|
{
|
||||||
|
type = "lv2";
|
||||||
|
plugin = "https://chadmed.au/bankstown";
|
||||||
|
name = "bassex";
|
||||||
|
control = {
|
||||||
|
bypass = 0;
|
||||||
|
amt = 1.2;
|
||||||
|
sat_second = 1.3;
|
||||||
|
sat_third = 2.5;
|
||||||
|
blend = 1.0;
|
||||||
|
ceil = 200.0;
|
||||||
|
floor = 20.0;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
# Loudness compensation,
|
||||||
|
# it ensures that the sound profile stays consistent across different volumes.
|
||||||
|
{
|
||||||
|
type = "lv2";
|
||||||
|
plugin = "http://lsp-plug.in/plugins/lv2/loud_comp_stereo";
|
||||||
|
name = "el";
|
||||||
|
control = {
|
||||||
|
enabled = 1;
|
||||||
|
input = 1.0;
|
||||||
|
fft = 4;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
# 8-band equalizer,
|
||||||
|
# it tries to lessen frequencies where the laptop might resonate,
|
||||||
|
# and tries to make the frequency curve more pleasing;
|
||||||
|
# this is the "Lappy McTopface" profile (https://github.com/ceiphr/ee-framework-presets)
|
||||||
|
# further tuned for the Framework Laptop 13 AMD 7040 series
|
||||||
|
# and might need some tuning on other models.
|
||||||
|
{
|
||||||
|
type = "lv2";
|
||||||
|
plugin = "http://lsp-plug.in/plugins/lv2/para_equalizer_x8_lr";
|
||||||
|
name = "fw13eq";
|
||||||
|
control = {
|
||||||
|
mode = 0;
|
||||||
|
react = 0.2;
|
||||||
|
zoom = db."-36";
|
||||||
|
|
||||||
|
fl_0 = 101.0;
|
||||||
|
fml_0 = 0;
|
||||||
|
ftl_0 = 5;
|
||||||
|
gl_0 = db."-18.1";
|
||||||
|
huel_0 = 0.0;
|
||||||
|
ql_0 = 4.36;
|
||||||
|
sl_0 = 0;
|
||||||
|
wl_0 = 4.0;
|
||||||
|
|
||||||
|
fl_1 = 451.0;
|
||||||
|
fml_1 = 0;
|
||||||
|
ftl_1 = 1;
|
||||||
|
gl_1 = db."-5.48";
|
||||||
|
huel_1 = 3.125e-2;
|
||||||
|
ql_1 = 2.46;
|
||||||
|
sl_1 = 0;
|
||||||
|
wl_1 = 4.0;
|
||||||
|
|
||||||
|
fl_2 = 918.0;
|
||||||
|
fml_2 = 0;
|
||||||
|
ftl_2 = 1;
|
||||||
|
gl_2 = db."-4.76";
|
||||||
|
huel_2 = 6.25e-2;
|
||||||
|
ql_2 = 2.44;
|
||||||
|
sl_2 = 0;
|
||||||
|
wl_2 = 4.0;
|
||||||
|
|
||||||
|
fl_3 = 9700.0;
|
||||||
|
fml_3 = 0;
|
||||||
|
ftl_3 = 1;
|
||||||
|
gl_3 = db."8.1";
|
||||||
|
huel_3 = 9.375e-2;
|
||||||
|
ql_3 = 2.0;
|
||||||
|
sl_3 = 0;
|
||||||
|
wl_3 = 4.0;
|
||||||
|
|
||||||
|
fr_0 = 101.0;
|
||||||
|
fmr_0 = 0;
|
||||||
|
ftr_0 = 5;
|
||||||
|
gr_0 = db."-18.1";
|
||||||
|
huer_0 = 0.0;
|
||||||
|
qr_0 = 4.36;
|
||||||
|
sr_0 = 0;
|
||||||
|
wr_0 = 4.0;
|
||||||
|
|
||||||
|
fr_1 = 451.0;
|
||||||
|
fmr_1 = 0;
|
||||||
|
ftr_1 = 1;
|
||||||
|
gr_1 = db."-5.48";
|
||||||
|
huer_1 = 3.125e-2;
|
||||||
|
qr_1 = 2.46;
|
||||||
|
sr_1 = 0;
|
||||||
|
wr_1 = 4.0;
|
||||||
|
|
||||||
|
fr_2 = 918.0;
|
||||||
|
fmr_2 = 0;
|
||||||
|
ftr_2 = 1;
|
||||||
|
gr_2 = db."-4.76";
|
||||||
|
huer_2 = 6.25e-2;
|
||||||
|
qr_2 = 2.44;
|
||||||
|
sr_2 = 0;
|
||||||
|
wr_2 = 4.0;
|
||||||
|
|
||||||
|
fr_3 = 9700.0;
|
||||||
|
fmr_3 = 0;
|
||||||
|
ftr_3 = 1;
|
||||||
|
gr_3 = db."8.1";
|
||||||
|
huer_3 = 9.375e-2;
|
||||||
|
qr_3 = 2.0;
|
||||||
|
sr_3 = 0;
|
||||||
|
wr_3 = 4.0;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
# Compressors. The settings were taken from the asahi-audio project.
|
||||||
|
{
|
||||||
|
type = "lv2";
|
||||||
|
plugin = "http://lsp-plug.in/plugins/lv2/mb_compressor_stereo";
|
||||||
|
name = "woofer_bp";
|
||||||
|
control = {
|
||||||
|
mode = 0;
|
||||||
|
ce_0 = 1;
|
||||||
|
sla_0 = 5.0;
|
||||||
|
cr_0 = 1.75;
|
||||||
|
al_0 = 0.725;
|
||||||
|
at_0 = 1.0;
|
||||||
|
rt_0 = 100;
|
||||||
|
kn_0 = 0.125;
|
||||||
|
cbe_1 = 1;
|
||||||
|
sf_1 = 200.0;
|
||||||
|
ce_1 = 0;
|
||||||
|
cbe_2 = 0;
|
||||||
|
ce_2 = 0;
|
||||||
|
cbe_3 = 0;
|
||||||
|
ce_3 = 0;
|
||||||
|
cbe_4 = 0;
|
||||||
|
ce_4 = 0;
|
||||||
|
cbe_5 = 0;
|
||||||
|
ce_5 = 0;
|
||||||
|
cbe_6 = 0;
|
||||||
|
ce_6 = 0;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "lv2";
|
||||||
|
plugin = "http://lsp-plug.in/plugins/lv2/compressor_stereo";
|
||||||
|
name = "woofer_lim";
|
||||||
|
control = {
|
||||||
|
sla = 5.0;
|
||||||
|
al = 1.0;
|
||||||
|
at = 1.0;
|
||||||
|
rt = 100.0;
|
||||||
|
cr = 15.0;
|
||||||
|
kn = 0.5;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
# Now, we're chaining together the modules instantiated above.
|
||||||
|
links = [
|
||||||
|
{
|
||||||
|
output = "bassex:out_l";
|
||||||
|
input = "el:in_l";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
output = "bassex:out_r";
|
||||||
|
input = "el:in_r";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
output = "el:out_l";
|
||||||
|
input = "fw13eq:in_l";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
output = "el:out_r";
|
||||||
|
input = "fw13eq:in_r";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
output = "fw13eq:out_l";
|
||||||
|
input = "woofer_bp:in_l";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
output = "fw13eq:out_r";
|
||||||
|
input = "woofer_bp:in_r";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
output = "woofer_bp:out_l";
|
||||||
|
input = "woofer_lim:in_l";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
output = "woofer_bp:out_r";
|
||||||
|
input = "woofer_lim:in_r";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
inputs = [
|
||||||
|
"bassex:in_l"
|
||||||
|
"bassex:in_r"
|
||||||
|
];
|
||||||
|
outputs = [
|
||||||
|
"woofer_lim:out_l"
|
||||||
|
"woofer_lim:out_r"
|
||||||
|
];
|
||||||
|
|
||||||
|
# This makes pipewire's volume control actually control the loudness comp module
|
||||||
|
"capture.volumes" = [
|
||||||
|
{
|
||||||
|
control = "el:volume";
|
||||||
|
min = -47.5;
|
||||||
|
max = 0.0;
|
||||||
|
scale = "cubic";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"capture.props" = {
|
||||||
|
"node.name" = "audio_effect.laptop-convolver";
|
||||||
|
"media.class" = "Audio/Sink";
|
||||||
|
"audio.channels" = "2";
|
||||||
|
"audio.position" = [
|
||||||
|
"FL"
|
||||||
|
"FR"
|
||||||
|
];
|
||||||
|
"audio.allowed-rates" = [
|
||||||
|
44100
|
||||||
|
48000
|
||||||
|
88200
|
||||||
|
96000
|
||||||
|
176400
|
||||||
|
192000
|
||||||
|
];
|
||||||
|
"device.api" = "dsp";
|
||||||
|
"node.virtual" = "false";
|
||||||
|
|
||||||
|
# Lower seems to mean "more preferred",
|
||||||
|
# bluetooth devices seem to be ~1000, speakers seem to be ~2000
|
||||||
|
# since this is between the two, bluetooth devices take over when they connect,
|
||||||
|
# and hand over to this instead of the speakers when they disconnect.
|
||||||
|
"priority.session" = 1500;
|
||||||
|
"priority.driver" = 1500;
|
||||||
|
"state.default-volume" = 0.343;
|
||||||
|
"device.icon-name" = "audio-card-analog-pci";
|
||||||
|
};
|
||||||
|
"playback.props" = {
|
||||||
|
"node.name" = "audio_effect.laptop-convolver";
|
||||||
|
"target.object" = outputName;
|
||||||
|
"node.passive" = "true";
|
||||||
|
"audio.channels" = "2";
|
||||||
|
"audio.allowed-rates" = [
|
||||||
|
44100
|
||||||
|
48000
|
||||||
|
88200
|
||||||
|
96000
|
||||||
|
176400
|
||||||
|
192000
|
||||||
|
];
|
||||||
|
"audio.position" = [
|
||||||
|
"FL"
|
||||||
|
"FR"
|
||||||
|
];
|
||||||
|
"device.icon-name" = "audio-card-analog-pci";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
configPackage =
|
||||||
|
(pkgs.writeTextDir "share/wireplumber/wireplumber.conf.d/99-laptop.conf" ''
|
||||||
|
monitor.alsa.rules = [
|
||||||
|
{
|
||||||
|
matches = [{ node.name = "${outputName}" }]
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
audio.allowed-rates = [44100, 48000, 88200, 96000, 176400, 192000]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
|
|
||||||
node.software-dsp.rules = [
|
node.software-dsp.rules = [
|
||||||
{
|
{
|
||||||
matches = [{ node.name = "${outputName}" }]
|
matches = [{ node.name = "${outputName}" }]
|
||||||
actions = {
|
actions = {
|
||||||
create-filter = {
|
create-filter = {
|
||||||
filter-path = "${filter-chain}"
|
filter-path = "${filter-chain}"
|
||||||
hide-parent = ${lib.boolToString cfg.hideRawDevice}
|
hide-parent = ${lib.boolToString cfg.hideRawDevice}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
wireplumber.profiles = {
|
||||||
|
main = { node.software-dsp = "required" }
|
||||||
}
|
}
|
||||||
]
|
'')
|
||||||
|
// {
|
||||||
|
passthru.requiredLv2Packages = with pkgs; [
|
||||||
|
lsp-plugins
|
||||||
|
bankstown-lv2
|
||||||
|
];
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
services.pipewire.wireplumber.configPackages = [ configPackage ];
|
||||||
|
|
||||||
wireplumber.profiles = {
|
# Pipewire is needed for this.
|
||||||
main = { node.software-dsp = "required" }
|
services.pipewire.enable = lib.mkDefault true;
|
||||||
}
|
}
|
||||||
'')
|
);
|
||||||
// {
|
|
||||||
passthru.requiredLv2Packages = with pkgs; [
|
|
||||||
lsp-plugins
|
|
||||||
bankstown-lv2
|
|
||||||
];
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
services.pipewire.wireplumber.configPackages = [ configPackage ];
|
|
||||||
|
|
||||||
# Pipewire is needed for this.
|
|
||||||
services.pipewire.enable = lib.mkDefault true;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,30 @@
|
||||||
{ config, lib, pkgs, ... }: {
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../../common/cpu/intel
|
../../../common/cpu/intel
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.kernelParams = [
|
boot.kernelParams =
|
||||||
# For Power consumption
|
[
|
||||||
# https://community.frame.work/t/linux-battery-life-tuning/6665/156
|
# For Power consumption
|
||||||
"nvme.noacpi=1"
|
# https://community.frame.work/t/linux-battery-life-tuning/6665/156
|
||||||
]
|
"nvme.noacpi=1"
|
||||||
# Fixes a regression in s2idle, making it more power efficient than deep sleep
|
]
|
||||||
# Update 04/2024: It appears that s2idle-regression got fixed in newer kernel-versions (SebTM)
|
# Fixes a regression in s2idle, making it more power efficient than deep sleep
|
||||||
# (see: https://github.com/NixOS/nixos-hardware/pull/903#discussion_r1556096657)
|
# Update 04/2024: It appears that s2idle-regression got fixed in newer kernel-versions (SebTM)
|
||||||
++ lib.lists.optional (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") "acpi_osi=\"!Windows 2020\"";
|
# (see: https://github.com/NixOS/nixos-hardware/pull/903#discussion_r1556096657)
|
||||||
|
++ lib.lists.optional (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") "acpi_osi=\"!Windows 2020\"";
|
||||||
|
|
||||||
# Requires at least 5.16 for working wi-fi and bluetooth.
|
# Requires at least 5.16 for working wi-fi and bluetooth.
|
||||||
# https://community.frame.work/t/using-the-ax210-with-linux-on-the-framework-laptop/1844/89
|
# https://community.frame.work/t/using-the-ax210-with-linux-on-the-framework-laptop/1844/89
|
||||||
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.16") (lib.mkDefault pkgs.linuxPackages_latest);
|
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.16") (
|
||||||
|
lib.mkDefault pkgs.linuxPackages_latest
|
||||||
|
);
|
||||||
|
|
||||||
# Module is not used for Framework EC but causes boot time error log.
|
# Module is not used for Framework EC but causes boot time error log.
|
||||||
boot.blacklistedKernelModules = [ "cros-usbpd-charger" ];
|
boot.blacklistedKernelModules = [ "cros-usbpd-charger" ];
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|
@ -8,7 +13,9 @@
|
||||||
|
|
||||||
# Need at least 6.9 to make suspend properly
|
# Need at least 6.9 to make suspend properly
|
||||||
# Specifically this patch: https://github.com/torvalds/linux/commit/073237281a508ac80ec025872ad7de50cfb5a28a
|
# Specifically this patch: https://github.com/torvalds/linux/commit/073237281a508ac80ec025872ad7de50cfb5a28a
|
||||||
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.9") (lib.mkDefault pkgs.linuxPackages_latest);
|
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.9") (
|
||||||
|
lib.mkDefault pkgs.linuxPackages_latest
|
||||||
|
);
|
||||||
|
|
||||||
# Intel NPU Driver
|
# Intel NPU Driver
|
||||||
# https://discourse.nixos.org/t/new-installation-on-asus-zenbook-ux5406-intel-vpu-firmware-error-2/58732/2
|
# https://discourse.nixos.org/t/new-installation-on-asus-zenbook-ux5406-intel-vpu-firmware-error-2/58732/2
|
||||||
|
|
@ -32,6 +39,6 @@
|
||||||
|
|
||||||
warnings = lib.mkIf (!config.hardware.enableRedistributableFirmware) [
|
warnings = lib.mkIf (!config.hardware.enableRedistributableFirmware) [
|
||||||
''For Intel NPU support, set the option: hardware.enableRedistributableFirmware = true;''
|
''For Intel NPU support, set the option: hardware.enableRedistributableFirmware = true;''
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib, config, ... }: {
|
{ lib, config, ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../../common/cpu/amd
|
../../../common/cpu/amd
|
||||||
../../../common/cpu/amd/pstate.nix
|
../../../common/cpu/amd/pstate.nix
|
||||||
|
|
@ -15,7 +16,9 @@
|
||||||
"amdgpu.dcdebugmask=0x10"
|
"amdgpu.dcdebugmask=0x10"
|
||||||
]
|
]
|
||||||
# Workaround for SuspendThenHibernate: https://lore.kernel.org/linux-kernel/20231106162310.85711-1-mario.limonciello@amd.com/
|
# Workaround for SuspendThenHibernate: https://lore.kernel.org/linux-kernel/20231106162310.85711-1-mario.limonciello@amd.com/
|
||||||
++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") ["rtc_cmos.use_acpi_alarm=1"];
|
++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "6.8") [
|
||||||
|
"rtc_cmos.use_acpi_alarm=1"
|
||||||
|
];
|
||||||
|
|
||||||
# AMD has better battery life with PPD over TLP:
|
# AMD has better battery life with PPD over TLP:
|
||||||
# https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13
|
# https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13
|
||||||
|
|
|
||||||
|
|
@ -10,29 +10,46 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
# TODO: drop this if linux 6.11 goes EOL
|
# TODO: drop this if linux 6.11 goes EOL
|
||||||
}: lib.mkIf ((config.boot.kernelPackages.kernelAtLeast "6.11") && (config.boot.kernelPackages.kernelOlder "6.12")) {
|
}:
|
||||||
systemd.services = {
|
lib.mkIf
|
||||||
bluetooth-rfkill-suspend = {
|
(
|
||||||
description = "Soft block Bluetooth on suspend/hibernate";
|
(config.boot.kernelPackages.kernelAtLeast "6.11") && (config.boot.kernelPackages.kernelOlder "6.12")
|
||||||
before = ["sleep.target"];
|
)
|
||||||
unitConfig.StopWhenUnneeded = true;
|
{
|
||||||
serviceConfig = {
|
systemd.services = {
|
||||||
Type = "oneshot";
|
bluetooth-rfkill-suspend = {
|
||||||
ExecStart = "${pkgs.util-linux}/bin/rfkill block bluetooth";
|
description = "Soft block Bluetooth on suspend/hibernate";
|
||||||
ExecStartPost = "${pkgs.coreutils}/bin/sleep 3";
|
before = [ "sleep.target" ];
|
||||||
RemainAfterExit = true;
|
unitConfig.StopWhenUnneeded = true;
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = "${pkgs.util-linux}/bin/rfkill block bluetooth";
|
||||||
|
ExecStartPost = "${pkgs.coreutils}/bin/sleep 3";
|
||||||
|
RemainAfterExit = true;
|
||||||
|
};
|
||||||
|
wantedBy = [
|
||||||
|
"suspend.target"
|
||||||
|
"hibernate.target"
|
||||||
|
"suspend-then-hibernate.target"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
wantedBy = ["suspend.target" "hibernate.target" "suspend-then-hibernate.target"];
|
|
||||||
};
|
|
||||||
|
|
||||||
bluetooth-rfkill-resume = {
|
bluetooth-rfkill-resume = {
|
||||||
description = "Unblock Bluetooth on resume";
|
description = "Unblock Bluetooth on resume";
|
||||||
after = ["suspend.target" "hibernate.target" "suspend-then-hibernate.target"];
|
after = [
|
||||||
serviceConfig = {
|
"suspend.target"
|
||||||
Type = "oneshot";
|
"hibernate.target"
|
||||||
ExecStart = "${pkgs.util-linux}/bin/rfkill unblock bluetooth";
|
"suspend-then-hibernate.target"
|
||||||
|
];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = "${pkgs.util-linux}/bin/rfkill unblock bluetooth";
|
||||||
|
};
|
||||||
|
wantedBy = [
|
||||||
|
"suspend.target"
|
||||||
|
"hibernate.target"
|
||||||
|
"suspend-then-hibernate.target"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
wantedBy = ["suspend.target" "hibernate.target" "suspend-then-hibernate.target"];
|
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
environment.systemPackages = [ pkgs.framework-tool ];
|
environment.systemPackages = [ pkgs.framework-tool ];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,20 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
kernel_version_compatible = lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.10";
|
kernel_version_compatible = lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.10";
|
||||||
in {
|
in
|
||||||
options.hardware.framework.enableKmod = (lib.mkEnableOption
|
{
|
||||||
"Enable the community created Framework kernel module that allows interacting with the embedded controller from sysfs."
|
options.hardware.framework.enableKmod =
|
||||||
) // {
|
(lib.mkEnableOption "Enable the community created Framework kernel module that allows interacting with the embedded controller from sysfs.")
|
||||||
# enable by default on NixOS >= 24.05 and kernel >= 6.10
|
// {
|
||||||
default = lib.and
|
# enable by default on NixOS >= 24.05 and kernel >= 6.10
|
||||||
(lib.versionAtLeast (lib.versions.majorMinor lib.version) "24.05")
|
default = lib.and (lib.versionAtLeast (lib.versions.majorMinor lib.version) "24.05") kernel_version_compatible;
|
||||||
kernel_version_compatible;
|
defaultText = "enabled by default on NixOS >= 24.05 and kernel >= 6.10";
|
||||||
defaultText = "enabled by default on NixOS >= 24.05 and kernel >= 6.10";
|
};
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
config.boot = lib.mkIf config.hardware.framework.enableKmod {
|
config.boot = lib.mkIf config.hardware.framework.enableKmod {
|
||||||
extraModulePackages = with config.boot.kernelPackages; [
|
extraModulePackages = with config.boot.kernelPackages; [
|
||||||
|
|
@ -19,7 +22,10 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
# https://github.com/DHowett/framework-laptop-kmod?tab=readme-ov-file#usage
|
# https://github.com/DHowett/framework-laptop-kmod?tab=readme-ov-file#usage
|
||||||
kernelModules = [ "cros_ec" "cros_ec_lpcs" ];
|
kernelModules = [
|
||||||
|
"cros_ec"
|
||||||
|
"cros_ec_lpcs"
|
||||||
|
];
|
||||||
|
|
||||||
# add required patch if enabled on kernel <6.10
|
# add required patch if enabled on kernel <6.10
|
||||||
kernelPatches = lib.mkIf (!kernel_version_compatible) [
|
kernelPatches = lib.mkIf (!kernel_version_compatible) [
|
||||||
|
|
@ -28,15 +34,22 @@ in {
|
||||||
msgid = "20240403004713.130365-1-dustin@howett.net";
|
msgid = "20240403004713.130365-1-dustin@howett.net";
|
||||||
version = "3";
|
version = "3";
|
||||||
hash = "sha256-aQSyys8CMzlj9EdNhg8vtp76fg1qEwUVeJL0E+8w5HU=";
|
hash = "sha256-aQSyys8CMzlj9EdNhg8vtp76fg1qEwUVeJL0E+8w5HU=";
|
||||||
patch = pkgs.runCommandLocal "patch-${msgid}" {
|
patch =
|
||||||
nativeBuildInputs = with pkgs; [ b4 git cacert ];
|
pkgs.runCommandLocal "patch-${msgid}"
|
||||||
SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
|
{
|
||||||
|
nativeBuildInputs = with pkgs; [
|
||||||
|
b4
|
||||||
|
git
|
||||||
|
cacert
|
||||||
|
];
|
||||||
|
SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||||
|
|
||||||
outputHash = hash;
|
outputHash = hash;
|
||||||
} ''
|
}
|
||||||
export HOME="$TMP"
|
''
|
||||||
PYTHONHASHSEED=0 ${pkgs.b4}/bin/b4 -n am -C -T -v ${version} -o- "${msgid}" > "$out"
|
export HOME="$TMP"
|
||||||
'';
|
PYTHONHASHSEED=0 ${pkgs.b4}/bin/b4 -n am -C -T -v ${version} -o- "${msgid}" > "$out"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -14,13 +14,17 @@
|
||||||
hardware.enableRedistributableFirmware = lib.mkDefault true;
|
hardware.enableRedistributableFirmware = lib.mkDefault true;
|
||||||
|
|
||||||
# Fix for not detecting the M.2 NVMe SSD. Will cause recompilation.
|
# Fix for not detecting the M.2 NVMe SSD. Will cause recompilation.
|
||||||
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.10") (lib.mkDefault pkgs.linuxPackages_latest);
|
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.10") (
|
||||||
boot.kernelPatches = lib.mkDefault [{
|
lib.mkDefault pkgs.linuxPackages_latest
|
||||||
name = "pcie-rockchip-config.patch";
|
);
|
||||||
patch = null;
|
boot.kernelPatches = lib.mkDefault [
|
||||||
extraConfig = ''
|
{
|
||||||
PHY_ROCKCHIP_PCIE y
|
name = "pcie-rockchip-config.patch";
|
||||||
PCIE_ROCKCHIP_HOST y
|
patch = null;
|
||||||
'';
|
extraConfig = ''
|
||||||
}];
|
PHY_ROCKCHIP_PCIE y
|
||||||
|
PCIE_ROCKCHIP_HOST y
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
{ lib
|
{
|
||||||
, ...
|
lib,
|
||||||
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,23 @@
|
||||||
/*
|
/*
|
||||||
* `gmktec-nucbox-g3-plus`:
|
`gmktec-nucbox-g3-plus`:
|
||||||
*
|
|
||||||
* Product page:
|
Product page:
|
||||||
* <https://www.gmktec.com/products/nucbox-g3-plus-enhanced-performance-mini-pc-with-intel-n150-processor>
|
<https://www.gmktec.com/products/nucbox-g3-plus-enhanced-performance-mini-pc-with-intel-n150-processor>
|
||||||
*
|
|
||||||
* This profile just configures the Intel
|
This profile just configures the Intel
|
||||||
* Twin Lake N150 CPU and integrated
|
Twin Lake N150 CPU and integrated
|
||||||
* graphics for this mini-PC. fstrim is also
|
graphics for this mini-PC. fstrim is also
|
||||||
* enabled for the SSD. That's all this seemed
|
enabled for the SSD. That's all this seemed
|
||||||
* to need to function properly. As is now
|
to need to function properly. As is now
|
||||||
* expected from Intel NUC systems, it provides
|
expected from Intel NUC systems, it provides
|
||||||
* a solid "out-of-the-box" experience. No
|
a solid "out-of-the-box" experience. No
|
||||||
* special quirks are apparent.
|
special quirks are apparent.
|
||||||
*
|
|
||||||
* We import the Alder Lake modules since Twin
|
We import the Alder Lake modules since Twin
|
||||||
* Lake is just a refreshed version of the
|
Lake is just a refreshed version of the
|
||||||
* Alder Lake-N series. Re-using those seems
|
Alder Lake-N series. Re-using those seems
|
||||||
* to be fine for this purpose.
|
to be fine for this purpose.
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../../common/cpu/intel/alder-lake
|
../../../common/cpu/intel/alder-lake
|
||||||
|
|
|
||||||
|
|
@ -1,44 +1,56 @@
|
||||||
{ lib, pkgs, ... }:
|
{ lib, pkgs, ... }:
|
||||||
let inherit (lib) mkDefault mkIf;
|
let
|
||||||
|
inherit (lib) mkDefault mkIf;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../common/pc/laptop
|
../../common/pc/laptop
|
||||||
../../common/pc/ssd
|
../../common/pc/ssd
|
||||||
../../common/hidpi.nix
|
../../common/hidpi.nix
|
||||||
../../common/gpu/24.05-compat.nix
|
../../common/gpu/24.05-compat.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Necessary kernel modules
|
# Necessary kernel modules
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usbhid" "thunderbolt" ];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"nvme"
|
||||||
|
"xhci_pci"
|
||||||
|
"usbhid"
|
||||||
|
"thunderbolt"
|
||||||
|
];
|
||||||
|
|
||||||
# GPU is an Intel Iris Xe, on a “TigerLake” mobile CPU
|
# GPU is an Intel Iris Xe, on a “TigerLake” mobile CPU
|
||||||
boot.initrd.kernelModules = [ "i915" ]; # Early loading so the passphrase prompt appears on external displays
|
boot.initrd.kernelModules = [ "i915" ]; # Early loading so the passphrase prompt appears on external displays
|
||||||
hardware.graphics.extraPackages = with pkgs; [
|
hardware.graphics.extraPackages = with pkgs; [
|
||||||
intel-media-driver
|
intel-media-driver
|
||||||
(if (lib.versionOlder (lib.versions.majorMinor lib.version) "23.11") then vaapiIntel else intel-vaapi-driver)
|
(
|
||||||
];
|
if (lib.versionOlder (lib.versions.majorMinor lib.version) "23.11") then
|
||||||
|
vaapiIntel
|
||||||
|
else
|
||||||
|
intel-vaapi-driver
|
||||||
|
)
|
||||||
|
];
|
||||||
|
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
# The GPD Pocket3 uses a tablet OLED display, that is mounted rotated 90° counter-clockwise
|
# The GPD Pocket3 uses a tablet OLED display, that is mounted rotated 90° counter-clockwise
|
||||||
"fbcon=rotate:1" "video=DSI-1:panel_orientation=right_side_up"
|
"fbcon=rotate:1"
|
||||||
];
|
"video=DSI-1:panel_orientation=right_side_up"
|
||||||
|
];
|
||||||
|
|
||||||
fonts.fontconfig = {
|
fonts.fontconfig = {
|
||||||
subpixel.rgba = "vbgr"; # Pixel order for rotated screen
|
subpixel.rgba = "vbgr"; # Pixel order for rotated screen
|
||||||
|
|
||||||
# The OLED display has √(1920² + 1200²) px / 8in ≃ 283 dpi
|
# The OLED display has √(1920² + 1200²) px / 8in ≃ 283 dpi
|
||||||
# Per the documentation, antialiasing, hinting, etc. have no visible effect at such high pixel densities anyhow.
|
# Per the documentation, antialiasing, hinting, etc. have no visible effect at such high pixel densities anyhow.
|
||||||
# Set manually, as the hiDPI module had incorrect settings prior to NixOS 22.11; see nixpkgs#194594.
|
# Set manually, as the hiDPI module had incorrect settings prior to NixOS 22.11; see nixpkgs#194594.
|
||||||
hinting.enable = mkDefault false;
|
hinting.enable = mkDefault false;
|
||||||
antialias = mkIf (lib.versionOlder (lib.versions.majorMinor lib.version) "22.11") false;
|
antialias = mkIf (lib.versionOlder (lib.versions.majorMinor lib.version) "22.11") false;
|
||||||
};
|
};
|
||||||
|
|
||||||
# More HiDPI settings
|
# More HiDPI settings
|
||||||
services.xserver.dpi = 280;
|
services.xserver.dpi = 280;
|
||||||
|
|
||||||
# Necessary for audio support on the 1195G7 model
|
# Necessary for audio support on the 1195G7 model
|
||||||
boot.extraModprobeConfig = ''
|
boot.extraModprobeConfig = ''
|
||||||
options snd-intel-dspcfg dsp_driver=1
|
options snd-intel-dspcfg dsp_driver=1
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
{ lib, pkgs, ... }:
|
{ lib, pkgs, ... }:
|
||||||
let inherit (lib) mkIf mkDefault;
|
let
|
||||||
|
inherit (lib) mkIf mkDefault;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|
@ -17,7 +18,8 @@ in
|
||||||
|
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
# The GPD Pocket 4 uses a tablet LTPS display, that is mounted rotated 90° counter-clockwise
|
# The GPD Pocket 4 uses a tablet LTPS display, that is mounted rotated 90° counter-clockwise
|
||||||
"fbcon=rotate:1" "video=eDP-1:panel_orientation=right_side_up"
|
"fbcon=rotate:1"
|
||||||
|
"video=eDP-1:panel_orientation=right_side_up"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,19 @@
|
||||||
{ config, lib, ...}:
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../common/cpu/intel
|
../../common/cpu/intel
|
||||||
../../common/pc/ssd
|
../../common/pc/ssd
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
"fbcon=rotate:1"
|
"fbcon=rotate:1"
|
||||||
"video=eDP-1:panel_orientation=right_side_up"
|
"video=eDP-1:panel_orientation=right_side_up"
|
||||||
];
|
];
|
||||||
|
|
||||||
services.tlp.enable = lib.mkDefault ((lib.versionOlder (lib.versions.majorMinor lib.version) "21.05")
|
services.tlp.enable = lib.mkDefault (
|
||||||
|| !config.services.power-profiles-daemon.enable);
|
(lib.versionOlder (lib.versions.majorMinor lib.version) "21.05")
|
||||||
|
|| !config.services.power-profiles-daemon.enable
|
||||||
|
);
|
||||||
|
|
||||||
# Required for grub to properly display the boot menu.
|
# Required for grub to properly display the boot menu.
|
||||||
boot.loader.grub.gfxmodeEfi = lib.mkDefault "720x1280x32";
|
boot.loader.grub.gfxmodeEfi = lib.mkDefault "720x1280x32";
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, ...}:
|
{ config, lib, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|
@ -12,6 +12,10 @@ with lib;
|
||||||
hardware.sensor.iio.bmi260.enable = lib.mkDefault true;
|
hardware.sensor.iio.bmi260.enable = lib.mkDefault true;
|
||||||
|
|
||||||
#see README
|
#see README
|
||||||
boot.blacklistedKernelModules = mkIf config.hardware.sensor.iio.bmi260.enable [ "bmi160_spi" "bmi160_i2c" "bmi160_core" ];
|
boot.blacklistedKernelModules = mkIf config.hardware.sensor.iio.bmi260.enable [
|
||||||
|
"bmi160_spi"
|
||||||
|
"bmi160_i2c"
|
||||||
|
"bmi160_core"
|
||||||
|
];
|
||||||
hardware.sensor.iio.enable = mkIf config.hardware.sensor.iio.bmi260.enable true;
|
hardware.sensor.iio.enable = mkIf config.hardware.sensor.iio.bmi260.enable true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.hardware.gpd.ppt;
|
cfg = config.hardware.gpd.ppt;
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,6 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
|
||||||
cfg = config.hardware.gpd.ppt;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../common/pc/laptop
|
../../common/pc/laptop
|
||||||
|
|
|
||||||
|
|
@ -4,25 +4,31 @@
|
||||||
# Based on the config from https://www.armbian.com/odroid-hc4/
|
# Based on the config from https://www.armbian.com/odroid-hc4/
|
||||||
hardware.fancontrol = {
|
hardware.fancontrol = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
config = let
|
config =
|
||||||
# According to https://www.armbian.com/odroid-hc4/ the FCFANS line should be removed on kernel 5.15.
|
let
|
||||||
kernelVersion = config.boot.kernelPackages.kernel.version;
|
# According to https://www.armbian.com/odroid-hc4/ the FCFANS line should be removed on kernel 5.15.
|
||||||
needFcFans = lib.versions.majorMinor kernelVersion != "5.15";
|
kernelVersion = config.boot.kernelPackages.kernel.version;
|
||||||
in lib.mkDefault (''
|
needFcFans = lib.versions.majorMinor kernelVersion != "5.15";
|
||||||
INTERVAL=10
|
in
|
||||||
DEVPATH=hwmon0=devices/virtual/thermal/thermal_zone0 hwmon2=devices/platform/pwm-fan
|
lib.mkDefault (
|
||||||
DEVNAME=hwmon0=cpu_thermal hwmon2=pwmfan
|
''
|
||||||
FCTEMPS=hwmon2/pwm1=hwmon0/temp1_input
|
INTERVAL=10
|
||||||
'' + lib.optionalString needFcFans ''
|
DEVPATH=hwmon0=devices/virtual/thermal/thermal_zone0 hwmon2=devices/platform/pwm-fan
|
||||||
FCFANS= hwmon2/pwm1=hwmon2/fan1_input
|
DEVNAME=hwmon0=cpu_thermal hwmon2=pwmfan
|
||||||
'' + ''
|
FCTEMPS=hwmon2/pwm1=hwmon0/temp1_input
|
||||||
MINTEMP=hwmon2/pwm1=50
|
''
|
||||||
MAXTEMP=hwmon2/pwm1=60
|
+ lib.optionalString needFcFans ''
|
||||||
MINSTART=hwmon2/pwm1=20
|
FCFANS= hwmon2/pwm1=hwmon2/fan1_input
|
||||||
MINSTOP=hwmon2/pwm1=28
|
''
|
||||||
MINPWM=hwmon2/pwm1=0
|
+ ''
|
||||||
MAXPWM=hwmon2/pwm1=255
|
MINTEMP=hwmon2/pwm1=50
|
||||||
'');
|
MAXTEMP=hwmon2/pwm1=60
|
||||||
|
MINSTART=hwmon2/pwm1=20
|
||||||
|
MINSTOP=hwmon2/pwm1=28
|
||||||
|
MINPWM=hwmon2/pwm1=0
|
||||||
|
MAXPWM=hwmon2/pwm1=255
|
||||||
|
''
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
# Linux 5.15 sometimes crash under heavy network usage
|
# Linux 5.15 sometimes crash under heavy network usage
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,19 @@
|
||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
../../../../common/cpu/amd
|
||||||
../../../../common/cpu/amd
|
../../../../common/cpu/amd/pstate.nix
|
||||||
../../../../common/cpu/amd/pstate.nix
|
../../../../common/gpu/amd
|
||||||
../../../../common/gpu/amd
|
../../../../common/pc/laptop
|
||||||
../../../../common/pc/laptop
|
../../../../common/pc/ssd
|
||||||
../../../../common/pc/ssd
|
];
|
||||||
];
|
|
||||||
|
|
||||||
hardware.enableRedistributableFirmware = lib.mkDefault true;
|
hardware.enableRedistributableFirmware = lib.mkDefault true;
|
||||||
boot.kernelModules = [ "synaptics_usb" ];
|
boot.kernelModules = [ "synaptics_usb" ];
|
||||||
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.3") (lib.mkDefault pkgs.linuxPackages_latest);
|
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.3") (
|
||||||
|
lib.mkDefault pkgs.linuxPackages_latest
|
||||||
|
);
|
||||||
|
|
||||||
# disable Scatter/Gather APU recently enabled by default,
|
# disable Scatter/Gather APU recently enabled by default,
|
||||||
# which results in white screen after display reconfiguration
|
# which results in white screen after display reconfiguration
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,19 @@
|
||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
../../../../common/cpu/amd
|
||||||
../../../../common/cpu/amd
|
../../../../common/cpu/amd/pstate.nix
|
||||||
../../../../common/cpu/amd/pstate.nix
|
../../../../common/gpu/amd
|
||||||
../../../../common/gpu/amd
|
../../../../common/pc/laptop
|
||||||
../../../../common/pc/laptop
|
../../../../common/pc/ssd
|
||||||
../../../../common/pc/ssd
|
];
|
||||||
];
|
|
||||||
|
|
||||||
hardware.enableRedistributableFirmware = lib.mkDefault true;
|
hardware.enableRedistributableFirmware = lib.mkDefault true;
|
||||||
boot.kernelModules = [ "synaptics_usb" ];
|
boot.kernelModules = [ "synaptics_usb" ];
|
||||||
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.3") (lib.mkDefault pkgs.linuxPackages_latest);
|
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.3") (
|
||||||
|
lib.mkDefault pkgs.linuxPackages_latest
|
||||||
|
);
|
||||||
|
|
||||||
# disable Scatter/Gather APU recently enabled by default,
|
# disable Scatter/Gather APU recently enabled by default,
|
||||||
# which results in white screen after display reconfiguration
|
# which results in white screen after display reconfiguration
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,19 @@
|
||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
../../../../common/cpu/amd
|
||||||
../../../../common/cpu/amd
|
../../../../common/cpu/amd/pstate.nix
|
||||||
../../../../common/cpu/amd/pstate.nix
|
../../../../common/gpu/amd
|
||||||
../../../../common/gpu/amd
|
../../../../common/pc/laptop
|
||||||
../../../../common/pc/laptop
|
../../../../common/pc/ssd
|
||||||
../../../../common/pc/ssd
|
];
|
||||||
];
|
|
||||||
|
|
||||||
hardware.enableRedistributableFirmware = lib.mkDefault true;
|
hardware.enableRedistributableFirmware = lib.mkDefault true;
|
||||||
boot.kernelModules = [ "synaptics_usb" ];
|
boot.kernelModules = [ "synaptics_usb" ];
|
||||||
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.3") (lib.mkDefault pkgs.linuxPackages_latest);
|
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.3") (
|
||||||
|
lib.mkDefault pkgs.linuxPackages_latest
|
||||||
|
);
|
||||||
|
|
||||||
# disable Scatter/Gather APU recently enabled by default,
|
# disable Scatter/Gather APU recently enabled by default,
|
||||||
# which results in white screen after display reconfiguration
|
# which results in white screen after display reconfiguration
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../common/cpu/intel/comet-lake
|
../../common/cpu/intel/comet-lake
|
||||||
../../common/gpu/nvidia
|
../../common/gpu/nvidia
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,11 @@
|
||||||
services.udev.packages = [
|
services.udev.packages = [
|
||||||
# Fan control
|
# Fan control
|
||||||
(pkgs.callPackage (
|
(pkgs.callPackage (
|
||||||
{ stdenv, lib, coreutils }:
|
{
|
||||||
|
stdenv,
|
||||||
|
lib,
|
||||||
|
coreutils,
|
||||||
|
}:
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "helios4-udev-fancontrol";
|
name = "helios4-udev-fancontrol";
|
||||||
|
|
||||||
|
|
@ -39,6 +43,6 @@
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
) {})
|
) { })
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue