about summary refs log tree commit diff
path: root/dell
diff options
context:
space:
mode:
authorYorick van Pelt <yorick@yorickvanpelt.nl>2018-05-15 15:46:41 +0200
committerYorick van Pelt <yorick@yorickvanpelt.nl>2018-05-15 15:47:35 +0200
commitb586e1051bcc2b68f3ed3fc725cbd43912ec8489 (patch)
tree88989dee12513637ea8eb1d00d4d0b6b15d7823c /dell
parentb47ca3e37766646b54a371c67c93d54e3e01cb06 (diff)
downloadnixlib-b586e1051bcc2b68f3ed3fc725cbd43912ec8489.tar
nixlib-b586e1051bcc2b68f3ed3fc725cbd43912ec8489.tar.gz
nixlib-b586e1051bcc2b68f3ed3fc725cbd43912ec8489.tar.bz2
nixlib-b586e1051bcc2b68f3ed3fc725cbd43912ec8489.tar.lz
nixlib-b586e1051bcc2b68f3ed3fc725cbd43912ec8489.tar.xz
nixlib-b586e1051bcc2b68f3ed3fc725cbd43912ec8489.tar.zst
nixlib-b586e1051bcc2b68f3ed3fc725cbd43912ec8489.zip
add XPS 13 (9360)
Diffstat (limited to 'dell')
-rw-r--r--dell/xps/13-9360/default.nix42
-rw-r--r--dell/xps/13-9360/firmware_qca6174.nix22
2 files changed, 64 insertions, 0 deletions
diff --git a/dell/xps/13-9360/default.nix b/dell/xps/13-9360/default.nix
new file mode 100644
index 000000000000..b580a13d799f
--- /dev/null
+++ b/dell/xps/13-9360/default.nix
@@ -0,0 +1,42 @@
+{ lib, pkgs, ... }:
+let
+  firmware_qca6174 = pkgs.callPackage ./firmware_qca6174.nix {};
+in
+{
+  imports = [
+    ../../../common/cpu/intel
+    ../../../common/pc/laptop
+  ];
+  boot.kernelModules = ["kvm-intel"]; # should this be in common/cpu/intel?
+  boot = {
+    loader = {
+      systemd-boot.enable = lib.mkDefault true;
+      efi.canTouchEfiVariables = lib.mkDefault true;
+    };
+
+    kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
+    initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
+    # touchpad goes over i2c
+    blacklistedKernelModules = [ "psmouse" ];
+
+    kernelParams = [ "i915.enable_fbc=1" "i915.enable_psr=2" ];
+  };
+  
+  # intel huc, guc. qca6174 (old?)
+  hardware.enableRedistributableFirmware = true;
+
+  # 4k screen, use bigger console font
+  i18n.consoleFont = "latarcyrheb-sun32";
+
+  # touchpad
+  services.xserver.libinput.enable = lib.mkDefault true;
+
+  networking.wireless.enable = lib.mkDefault true;
+  hardware.bluetooth.enable = lib.mkDefault true;
+  
+  services.thermald.enable = lib.mkDefault true;
+
+  # optional: without it, firmware crashes happened
+  hardware.firmware = lib.mkBefore [ firmware_qca6174 ];
+
+}
diff --git a/dell/xps/13-9360/firmware_qca6174.nix b/dell/xps/13-9360/firmware_qca6174.nix
new file mode 100644
index 000000000000..c551223a2cba
--- /dev/null
+++ b/dell/xps/13-9360/firmware_qca6174.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl  }:
+
+stdenv.mkDerivation rec {
+  target = "QCA6174";
+  branch = "4.4.1.c1";
+  version = "${branch}-00042";
+  name = "${target}-firmware-${version}";
+  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; {
+    license = with licenses; unfreeRedistributable;
+    homepage = "https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174/hw3.0";
+    description = "Updated firmware for the qca6174 wireless chip";
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ yorickvp ];
+  };
+}