pinephone.nix (1489B)
1 { config, lib, pkgs, ... }: 2 3 # configuration.nix contains settings applicable to _my_ pinephone 4 # pinephone.nix contains settings applicable to eufon on pinephones. 5 # module.nix contains settings applicable to eufon generally 6 7 { 8 config = { 9 powerManagement = { 10 enable = true; 11 cpuFreqGovernor = "ondemand"; 12 }; 13 mobile.boot.stage-1.firmware = [ 14 config.mobile.device.firmware 15 ]; 16 hardware.sensor.iio.enable = true; 17 hardware.firmware = [ config.mobile.device.firmware ]; 18 19 services.fwupd = { 20 enable = true; 21 }; 22 23 environment.systemPackages = 24 let refresh-bootfs = (import ./refresh-bootfs.nix { inherit config pkgs lib; }); 25 in with pkgs; [ 26 dtc 27 file 28 refresh-bootfs 29 ]; 30 31 environment.etc."fwupd/remotes.d/testing.conf" = { 32 mode = "0644"; 33 text = '' 34 [fwupd Remote] 35 36 Enabled=true 37 Title=Linux Vendor Firmware Service (testing) 38 MetadataURI=https://cdn.fwupd.org/downloads/firmware-testing.xml.gz 39 ReportURI=https://fwupd.org/lvfs/firmware/report 40 OrderBefore=lvfs,fwupd 41 AutomaticReports=false 42 ApprovalRequired=false 43 ''; 44 }; 45 46 nixpkgs = { 47 config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ 48 "pine64-pinephone-firmware" 49 ]; 50 51 }; 52 # boot.loader.generic-extlinux-compatible.enable = lib.mkForce true; 53 hardware.opengl = { 54 enable = true; 55 driSupport = true; 56 }; 57 58 }; 59 }