This commit is contained in:
Dustin Krysak 2024-05-06 15:03:27 -05:00 committed by GitHub
commit b097c4a200
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 126 additions and 0 deletions

View File

@ -0,0 +1,41 @@
= Dell XPS 15 9530 =
== Tested Hardware ==
* CPU: 13th Gen Intel(R) Core(TM) i9-13900H
* RAM: 32 GB
* HDD: 1 TiB SSD (NVME)
* Screen: 15" 4k (3456 x 2160)
* Graphics: NVIDIA GeForce RTX 4070 Laptop GPU, with Intel Graphics too.
* Input: Touchscreen and trackpad.
* Fingerprint Reader: Goodix
== Notes ==
== NVIDIA Offload ==
In order to run a program on the NVIDIA gpu, you can use the `nvidia-offload` function, for example:
```
nvidia-offload `nix-shell -p glxinfo --run 'glxgears'`
```
This is a short bash script that sets the proper environment variables and calls your command.
== Fingerprint Reader ==
I have added support for the fingerprint reader. It has however been tested on Gnome only.
- After Installation, I had to reboot once before the fingerprint options would showin the Users module in Gnome Settings
- You will need to register your fingerprints in the Users module in Gnome Settings
- When logging in I suggest using your password otherwise the keyring is not unlocked at login. You can use the fingerprint reader at all other times.
== Touchpad ==
This is a matter of preference, but I do recommend disabling the Touchpad while typing. I hit it with my palm all the time.
Since I am using Gnome, I have done this through Home-Manager using `dconf`.
```
"org/gnome/desktop/peripherals/touchpad" = {
disable-while-typing = true;
};
```

View File

@ -0,0 +1,30 @@
{ lib, ... }:
{
imports = [
../../../common/cpu/intel
../../../common/pc/laptop
../../../common/pc/laptop/ssd
./fingerprint
];
# This will save you money and possibly your life!
services.thermald.enable = lib.mkDefault true;
# 9530 wifi is:
# > lspci | grep i Network
# - 00:14.3 Network controller: Intel Corporation Raptor Lake PCH CNVi WiFi (rev 01)
# > sudo lspci -vv -s 00:14.3
# 00:14.3 Network controller: Intel Corporation Raptor Lake PCH CNVi WiFi (rev 01)
# 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)
# disable_11ax - required until ax driver support is fixed
# power_save - works well on this card
# boot.extraModprobeConfig = ''
# options iwlwifi power_save=1 disable_11ax=1
# '';
boot.extraModprobeConfig = ''
options iwlwifi power_save=1
'';
}

View File

@ -0,0 +1,40 @@
{ pkgs, lib, config, ... }: {
environment.systemPackages = [
];
services.fprintd = {
enable = true;
tod = {
enable = true;
driver = pkgs.libfprint-2-tod1-goodix;
};
};
# Used to allow a password login on first login as an alternative to just a fingerprint
security.pam.services.login.fprintAuth = false;
# similarly to how other distributions handle the fingerprinting login
security.pam.services.gdm-fingerprint =
lib.mkIf (config.services.fprintd.enable) {
text = ''
auth required pam_shells.so
auth requisite pam_nologin.so
auth requisite pam_faillock.so preauth
auth required ${pkgs.fprintd}/lib/security/pam_fprintd.so
auth optional pam_permit.so
auth required pam_env.so
auth [success=ok default=1] ${pkgs.gnome.gdm}/lib/security/pam_gdm.so
auth optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so
account include login
password required pam_deny.so
session include login
session optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start
'';
};
}

View File

@ -0,0 +1,15 @@
{ lib, ... }:
{
imports = [
../default.nix
../../../../common/gpu/nvidia/prime.nix
];
hardware.nvidia.prime = {
# Bus ID of the Intel GPU.
intelBusId = lib.mkDefault "PCI:0:2:0";
# Bus ID of the NVIDIA GPU.
nvidiaBusId = lib.mkDefault "PCI:1:0:0";
};
}