Merge pull request #1815 from eirc/asus-tuf-fa506nc

feat: add Asus TUF FA506NC
This commit is contained in:
Jörg Thalheim 2026-03-31 04:34:56 +00:00 committed by GitHub
commit 1dd39e1070
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 108 additions and 0 deletions

View file

@ -131,6 +131,7 @@ See code for all available configurations.
| [Asus TUF FX504GD](asus/fx504gd) | `<nixos-hardware/asus/fx504gd>` | `asus-fx504gd` |
| [Asus TUF FX506HM](asus/fx506hm) | `<nixos-hardware/asus/fx506hm>` | `asus-fx506hm` |
| [Asus TUF FA506IC](asus/fa506ic) | `<nixos-hardware/asus/fa506ic>` | `asus-fa506ic` |
| [Asus TUF FA506IC](asus/fa506nc) | `<nixos-hardware/asus/fa506nc>` | `asus-fa506nc` |
| [Asus TUF FA507RM](asus/fa507rm) | `<nixos-hardware/asus/fa507rm>` | `asus-fa507rm` |
| [Asus TUF FA507NV](asus/fa507nv) | `<nixos-hardware/asus/fa507nv>` | `asus-fa507nv` |
| [Asus TUF FA706IC](asus/fa706ic) | `<nixos-hardware/asus/fa706ic>` | `asus-fa706ic` |

74
asus/fa506nc/README.md Normal file
View file

@ -0,0 +1,74 @@
# ASUS TUF A15 FA506NC
- GPU switching to the nvidia card works fine through supergfxd.
- Power profiles autoswitch through asusctl in tandem with power-profiles-daemon.
- The batter charge limit configuration through ../battery.nix did not work,
setting a limit through asusd works.
## Configuring AsusCTL
To declaratively configure asusd you can control the whole config file through
the asusd service (same for fan curves and keyboard leds):
```nix
services.asusd.asusdConfig.text = ''
(
charge_control_end_threshold: 80,
base_charge_control_end_threshold: 80,
disable_nvidia_powerd_on_battery: true,
ac_command: "",
bat_command: "",
platform_profile_linked_epp: true,
platform_profile_on_battery: Quiet,
change_platform_profile_on_battery: true,
platform_profile_on_ac: Performance,
change_platform_profile_on_ac: true,
profile_quiet_epp: Power,
profile_balanced_epp: BalancePower,
profile_custom_epp: Performance,
profile_performance_epp: Performance,
ac_profile_tunings: {
Performance: (
enabled: false,
group: {},
),
Quiet: (
enabled: false,
group: {},
),
Balanced: (
enabled: false,
group: {},
),
},
dc_profile_tunings: {
Quiet: (
enabled: false,
group: {},
),
Balanced: (
enabled: false,
group: {},
),
Performance: (
enabled: false,
group: {},
),
},
armoury_settings: {},
)
'';
```
Here you can set the battery charge limit and other settings like which profile to
use on batter and which on power.
## More optimizations
You may also want to enable thermald and powertop for the optimizations mentioned in
https://nixos.wiki/wiki/Laptop.
```nix
services.thermald.enable = true;
powerManagement.powertop.enable = true;
```

32
asus/fa506nc/default.nix Normal file
View file

@ -0,0 +1,32 @@
{ lib, ... }:
{
imports = [
../../common/cpu/amd
../../common/cpu/amd/pstate.nix
../../common/gpu/amd
../../common/gpu/nvidia/prime.nix
../../common/gpu/nvidia/ampere
../../common/pc/laptop
../../common/pc/ssd
];
hardware.nvidia = {
dynamicBoost.enable = lib.mkDefault true;
prime = {
amdgpuBusId = "PCI:5:0:0";
nvidiaBusId = "PCI:1:0:0";
};
};
# AMD has better battery life with PPD over TLP:
# https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13
services.power-profiles-daemon.enable = lib.mkDefault true;
services = {
# https://asus-linux.org/manual/asusctl-manual/
asusd.enable = lib.mkDefault true;
supergfxd.enable = lib.mkDefault true;
};
}

View file

@ -72,6 +72,7 @@
asus-fx504gd = import ./asus/fx504gd;
asus-fx506hm = import ./asus/fx506hm;
asus-fa506ic = import ./asus/fa506ic;
asus-fa506nc = import ./asus/fa506nc;
asus-fa507nv = import ./asus/fa507nv;
asus-fa507rm = import ./asus/fa507rm;
asus-fa706ic = import ./asus/fa706ic;