1
0
Fork 0
mirror of https://github.com/samueldr/wip-pinebook-pro.git synced 2024-11-06 02:59:41 +01:00
wip-pinebook-pro/pinebook_pro.nix

95 lines
3 KiB
Nix
Raw Normal View History

# This configuration file can be safely imported in your system configuration.
{ config, pkgs, lib, ... }:
{
nixpkgs.overlays = [
(import ./overlay.nix)
];
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_pinebookpro_latest;
# This list of modules is not entirely minified, but represents
# a set of modules that is required for the display to work in stage-1.
# Further minification can be done, but requires trial-and-error mainly.
boot.initrd.kernelModules = [
# Rockchip modules
"rockchip_rga"
"rockchip_saradc"
"rockchip_thermal"
"rockchipdrm"
# GPU/Display modules
"analogix_dp"
"cec"
"drm"
"drm_kms_helper"
"dw_hdmi"
"dw_mipi_dsi"
"gpu_sched"
"panel_simple"
"panfrost"
"pwm_bl"
# USB / Type-C related modules
"fusb302"
"tcpm"
"typec"
# Misc. modules
"cw2015_battery"
"gpio_charger"
"rtc_rk808"
];
2020-01-07 21:10:06 +01:00
services.udev.extraHwdb = lib.concatStrings [
# https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/blob/master/10-usb-kbd.hwdb
''
evdev:input:b0003v258Ap001E*
KEYBOARD_KEY_700a5=brightnessdown
KEYBOARD_KEY_700a6=brightnessup
KEYBOARD_KEY_70066=sleep
''
# https://github.com/elementary/os/blob/05a5a931806d4ed8bc90396e9e91b5ac6155d4d4/build-pinebookpro.sh#L253-L257
# Disable the "keyboard mouse" in libinput. This is reported by the keyboard firmware
# and is probably a placeholder for a TrackPoint style mouse that doesn't exist
''
evdev:input:b0003v258Ap001Ee0110-e0,1,2,4,k110,111,112,r0,1,am4,lsfw
ID_INPUT=0
ID_INPUT_MOUSE=0
''
];
# https://github.com/elementary/os/blob/05a5a931806d4ed8bc90396e9e91b5ac6155d4d4/build-pinebookpro.sh#L253-L257
# Mark the keyboard as internal, so that "disable when typing" works for the touchpad
environment.etc."libinput/local-overrides.quirks".text = ''
[Pinebook Pro Keyboard]
MatchUdevType=keyboard
MatchBus=usb
MatchVendor=0x258A
MatchProduct=0x001E
AttrKeyboardIntegration=internal
2020-01-07 21:10:39 +01:00
'';
2020-01-07 21:10:06 +01:00
hardware.enableRedistributableFirmware = true;
hardware.firmware = [
pkgs.pinebookpro-firmware
];
2020-01-17 02:16:01 +01:00
systemd.tmpfiles.rules = [
# Until suspend is fixed, this at least prevents the user from shooting
# themselves in the foot by suspending accidentally, then forced to restart
# the system forcibly..
2020-01-17 02:16:01 +01:00
"w /sys/power/mem_sleep - - - - s2idle"
# Tweak the minimum frequencies of the GPU and CPU governors to get a bit more performance
# https://github.com/elementary/os/blob/05a5a931806d4ed8bc90396e9e91b5ac6155d4d4/build-pinebookpro.sh#L288-L294
"w- /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq - - - - 1200000"
"w- /sys/devices/system/cpu/cpufreq/policy4/scaling_min_freq - - - - 1008000"
"w- /sys/class/devfreq/ff9a0000.gpu/min_freq - - - - 600000000"
2020-01-17 02:16:01 +01:00
];
2020-01-10 21:59:58 +01:00
# The default powersave makes the wireless connection unusable.
networking.networkmanager.wifi.powersave = lib.mkDefault false;
}