From fe8e4494754445fdb0f0be0a342a0bb8e584f20b Mon Sep 17 00:00:00 2001
From: coolneng <akasroua@gmail.com>
Date: Fri, 17 Jun 2022 13:45:53 +0200
Subject: [PATCH] Move device-specific config to a separate module

---
 configuration.nix | 26 +-------------------------
 device.nix        | 31 +++++++++++++++++++++++++++++++
 2 files changed, 32 insertions(+), 25 deletions(-)
 create mode 100644 device.nix

diff --git a/configuration.nix b/configuration.nix
index 1fa2253..47ab56d 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -123,31 +123,6 @@ in {
     identityPaths = [ "/etc/ssh/id_ed25519" ];
   };
 
-  # Enable internal microphone when headphones are plugged in and add workaround for frequent WiFi disconnects
-  hardware.firmware = [
-    (writeTextDir "/lib/firmware/hda-jack-retask.fw" ''
-      [codec]
-      0x10ec0293 0x17aa2233 0
-
-      [pincfg]
-      0x12 0x90a60130
-      0x13 0x40000000
-      0x14 0x90170110
-      0x15 0x03211040
-      0x16 0x21211010
-      0x18 0x411111f0
-      0x19 0x21a11010
-      0x1a 0x40f000f0
-      0x1b 0x411111f0
-      0x1d 0x40738105
-      0x1e 0x411111f0
-    '')
-  ];
-  boot.extraModprobeConfig = ''
-    options snd-hda-intel patch=hda-jack-retask.fw
-    options mac80211 beacon_loss_count=500
-  '';
-
   # Use same version of nixpkgs for nix-shell
   nix.nixPath = let path = toString ./.;
   in [ "nixpkgs=${inputs.nixpkgs}" "nixos-config=${path}/configuration.nix" ];
@@ -192,6 +167,7 @@ in {
     ./modules/periodic.nix
     ./modules/power.nix
     ./modules/monitoring.nix
+    ./modules/device.nix
     ./overlays/nix-direnv.nix
     ./overlays/openconnect-sso.nix
     ./overlays/cyrus-sasl-oauth2.nix
diff --git a/device.nix b/device.nix
new file mode 100644
index 0000000..5f500d9
--- /dev/null
+++ b/device.nix
@@ -0,0 +1,31 @@
+{ config, lib, pkgs, ... }:
+
+with pkgs;
+
+{
+  # HACK Enable internal microphone when headphones are plugged in and add workaround for frequent WiFi disconnects
+  hardware.firmware = [
+    (writeTextDir "/lib/firmware/hda-jack-retask.fw" ''
+      [codec]
+      0x10ec0293 0x17aa2233 0
+
+      [pincfg]
+      0x12 0x90a60130
+      0x13 0x40000000
+      0x14 0x90170110
+      0x15 0x03211040
+      0x16 0x21211010
+      0x18 0x411111f0
+      0x19 0x21a11010
+      0x1a 0x40f000f0
+      0x1b 0x411111f0
+      0x1d 0x40738105
+      0x1e 0x411111f0
+    '')
+  ];
+  boot.extraModprobeConfig = ''
+    options snd-hda-intel patch=hda-jack-retask.fw
+    options mac80211 beacon_loss_count=500
+  '';
+
+}