diff --git a/common/cpu/intel/kaby-lake/default.nix b/common/cpu/intel/kaby-lake/default.nix new file mode 100644 index 0000000..2046cd9 --- /dev/null +++ b/common/cpu/intel/kaby-lake/default.nix @@ -0,0 +1,8 @@ +{ + imports = [ ../. ]; + + kernelParams = [ + "i915.enable_fbc=1" + "i915.enable_psr=2" + ]; +} diff --git a/dell/xps/13-9360/default.nix b/dell/xps/13-9360/default.nix new file mode 100644 index 0000000..e13e758 --- /dev/null +++ b/dell/xps/13-9360/default.nix @@ -0,0 +1,26 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ../../../common/cpu/intel/kaby-lake + ../../../common/pc/laptop + ]; + + boot.blacklistedKernelModules = [ "psmouse" ]; # touchpad goes over i2c + + # TODO: decide on boot loader policy + boot.loader = { + efi.canTouchEfiVariables = lib.mkDefault true; + systemd-boot.enable = lib.mkDefault true; + }; + + hardware.firmware = lib.mkBefore [ pkgs.qca6174-firmware ]; + + # TODO: move to general HiDPI profile + i18n.consoleFont = lib.mkDefault "latarcyrheb-sun32"; # 4K screen, use bigger console font + + # TODO: upstream to NixOS/nixpkgs + nixpkgs.overlays = [(final: previous: { + qca6174-firmware = final.callPackage ./qca6174-firmware.nix {}; + })]; +} diff --git a/dell/xps/13-9360/qca6174-firmware.nix b/dell/xps/13-9360/qca6174-firmware.nix new file mode 100644 index 0000000..930107d --- /dev/null +++ b/dell/xps/13-9360/qca6174-firmware.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "${target}-firmware-${version}"; + version = "${branch}-00042"; + + branch = "4.4.1.c1"; + target = "QCA6174"; + + src = fetchurl { + url = "https://github.com/kvalo/ath10k-firmware/raw/master/${target}/hw3.0/${branch}/firmware-6.bin_RM.${version}-QCARMSWP-1"; + sha256 = "01vvz3qhqw5l3yilcqgk1spk4y9k4qy7na7a57cbl037r231szdh"; + }; + + buildCommand = '' + install -D $src $out/lib/firmware/ath10k/${target}/hw3.0/firmware-6.bin + ''; + + meta = with stdenv.lib; { + description = "Updated firmware for the qca6174 wireless chip"; + homepage = "https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174/hw3.0"; + license = licenses.unfreeRedistributable; + maintainers = with maintainers; [ yorickvp ]; + platforms = platforms.linux; + }; +}