2024-04-15 21:34:04 +02:00
|
|
|
{ lib, pkgs, ... }: {
|
|
|
|
imports = [
|
2024-04-28 17:54:40 +02:00
|
|
|
../../../common/pc/laptop
|
|
|
|
../../../common/pc/laptop/ssd
|
2024-05-24 06:54:53 +02:00
|
|
|
../../kmod.nix
|
2024-04-28 17:30:41 +02:00
|
|
|
../../framework-tool.nix
|
2024-04-15 21:34:04 +02:00
|
|
|
];
|
|
|
|
|
|
|
|
# Fix TRRS headphones missing a mic
|
|
|
|
# https://community.frame.work/t/headset-microphone-on-linux/12387/3
|
|
|
|
boot.extraModprobeConfig = lib.mkIf (lib.versionOlder pkgs.linux.version "6.6.8") ''
|
|
|
|
options snd-hda-intel model=dell-headset-multi
|
|
|
|
'';
|
|
|
|
|
|
|
|
# For fingerprint support
|
|
|
|
services.fprintd.enable = lib.mkDefault true;
|
|
|
|
|
|
|
|
# Custom udev rules
|
|
|
|
services.udev.extraRules = ''
|
|
|
|
# Ethernet expansion card support
|
|
|
|
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="8156", ATTR{power/autosuspend}="20"
|
2024-09-28 21:18:13 +02:00
|
|
|
|
|
|
|
# Allow access to the keyboard modules for programming, for example by
|
|
|
|
# visiting https://keyboard.frame.work with a WebHID-compatible browser.
|
|
|
|
#
|
|
|
|
# https://community.frame.work/t/responded-help-configuring-fw16-keyboard-with-via/47176/5
|
|
|
|
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0012", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
2024-04-15 21:34:04 +02:00
|
|
|
'';
|
|
|
|
|
|
|
|
# Needed for desktop environments to detect/manage display brightness
|
|
|
|
hardware.sensor.iio.enable = lib.mkDefault true;
|
|
|
|
|
|
|
|
# Enable keyboard customization
|
|
|
|
hardware.keyboard.qmk.enable = lib.mkDefault true;
|
2024-07-21 15:06:36 +02:00
|
|
|
|
|
|
|
# Allow `services.libinput.touchpad.disableWhileTyping` to work correctly.
|
|
|
|
# Set unconditionally because libinput can also be configured dynamically via
|
|
|
|
# gsettings.
|
2024-09-28 20:38:03 +02:00
|
|
|
#
|
|
|
|
# This is extracted from the quirks file that is in the upstream libinput
|
|
|
|
# source. Once we can assume everyone is on at least libinput 1.26.0, this
|
|
|
|
# local override file can be removed.
|
|
|
|
# https://gitlab.freedesktop.org/libinput/libinput/-/commit/566857bd98131009699c9ab6efc7af37afd43fd0
|
2024-07-21 15:06:36 +02:00
|
|
|
environment.etc."libinput/local-overrides.quirks".text = ''
|
2024-09-28 20:38:03 +02:00
|
|
|
[Framework Laptop 16 Keyboard Module]
|
|
|
|
MatchName=Framework Laptop 16 Keyboard Module*
|
2024-07-21 15:06:36 +02:00
|
|
|
MatchUdevType=keyboard
|
2024-09-28 20:38:03 +02:00
|
|
|
MatchDMIModalias=dmi:*svnFramework:pnLaptop16*
|
2024-07-21 15:06:36 +02:00
|
|
|
AttrKeyboardIntegration=internal
|
|
|
|
'';
|
2024-04-15 21:34:04 +02:00
|
|
|
}
|