greylag: Add framework tweaks and firmware support

Change-Id: I5932f5b413b9b599c6556a3e01878d8daed3f320
Reviewed-on: https://git.clicks.codes/c/Chimera/NixFiles/+/436
Tested-by: Skyler Grey <minion@clicks.codes>
Reviewed-by: Skyler Grey <minion@clicks.codes>
diff --git a/flake.lock b/flake.lock
index 8375b55..78668a3 100644
--- a/flake.lock
+++ b/flake.lock
@@ -219,6 +219,22 @@
         "type": "github"
       }
     },
+    "nixos-hardware": {
+      "locked": {
+        "lastModified": 1708594753,
+        "narHash": "sha256-c/gH7iXS/IYH9NrFOT+aJqTq+iEBkvAkpWuUHGU3+f0=",
+        "owner": "nixos",
+        "repo": "nixos-hardware",
+        "rev": "3f7d0bca003eac1a1a7f4659bbab9c8f8c2a0958",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nixos",
+        "ref": "master",
+        "repo": "nixos-hardware",
+        "type": "github"
+      }
+    },
     "nixpkgs": {
       "locked": {
         "lastModified": 1706191920,
@@ -305,6 +321,7 @@
         "home-manager": "home-manager",
         "hyprland": "hyprland",
         "nix-index-database": "nix-index-database",
+        "nixos-hardware": "nixos-hardware",
         "nixpkgs": "nixpkgs_2",
         "nur": "nur",
         "snowfall-lib": "snowfall-lib",
diff --git a/flake.nix b/flake.nix
index 553e22b..c9de99c 100644
--- a/flake.nix
+++ b/flake.nix
@@ -24,6 +24,8 @@
       inputs.nixpkgs.follows = "nixpkgs";
     };
 
+    nixos-hardware.url = "github:nixos/nixos-hardware/master";
+
     nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
 
     nur.url = "github:nix-community/nur";
@@ -62,6 +64,10 @@
         inputs.sops-nix.nixosModules.sops
       ];
 
+      systems.hosts.greylag.modules = [
+        inputs.nixos-hardware.nixosModules.framework-13th-gen-intel
+      ];
+
       snowfall = {
         namespace = "chimera";
 
diff --git a/systems/x86_64-linux/greylag/default.nix b/systems/x86_64-linux/greylag/default.nix
index f1194ad..e46d778 100644
--- a/systems/x86_64-linux/greylag/default.nix
+++ b/systems/x86_64-linux/greylag/default.nix
@@ -5,6 +5,7 @@
     ./boot/initrd
     ./console
     ./cpu
+    ./firmware
     ./networking
     ./time
     ./users
diff --git a/systems/x86_64-linux/greylag/firmware/default.nix b/systems/x86_64-linux/greylag/firmware/default.nix
new file mode 100644
index 0000000..40ae097
--- /dev/null
+++ b/systems/x86_64-linux/greylag/firmware/default.nix
@@ -0,0 +1,5 @@
+{ config, lib, pkgs, ... }:
+
+{
+  services.fwupd.enable = true;
+}