Update the Nix flake (GHC 9.6).

Change-Id: I5d987d15439e25e297c23f23e99ded4cc80ea34f
diff --git a/flake.lock b/flake.lock
index ef98637..45a29ba 100644
--- a/flake.lock
+++ b/flake.lock
@@ -3,11 +3,11 @@
     "flake-compat": {
       "flake": false,
       "locked": {
-        "lastModified": 1627913399,
-        "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=",
+        "lastModified": 1696426674,
+        "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
         "owner": "edolstra",
         "repo": "flake-compat",
-        "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2",
+        "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
         "type": "github"
       },
       "original": {
@@ -17,12 +17,15 @@
       }
     },
     "flake-utils": {
+      "inputs": {
+        "systems": "systems"
+      },
       "locked": {
-        "lastModified": 1629481132,
-        "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
+        "lastModified": 1710146030,
+        "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
         "owner": "numtide",
         "repo": "flake-utils",
-        "rev": "997f7efcb746a9c140ce1f13c72263189225f482",
+        "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
         "type": "github"
       },
       "original": {
@@ -33,11 +36,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1629788769,
-        "narHash": "sha256-nKIVCgV9fc0yQL2kRj5vJVhWg8YBq03Mp9XDhrjQlhE=",
+        "lastModified": 1724999960,
+        "narHash": "sha256-LB3jqSGW5u1ZcUcX6vO/qBOq5oXHlmOCxsTXGMEitp4=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "dcc8b48d58ffaab7086f7ee03b3ca0536e5558be",
+        "rev": "b96f849e725333eb2b1c7f1cb84ff102062468ba",
         "type": "github"
       },
       "original": {
@@ -51,6 +54,21 @@
         "flake-utils": "flake-utils",
         "nixpkgs": "nixpkgs"
       }
+    },
+    "systems": {
+      "locked": {
+        "lastModified": 1681028828,
+        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+        "owner": "nix-systems",
+        "repo": "default",
+        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-systems",
+        "repo": "default",
+        "type": "github"
+      }
     }
   },
   "root": "root",
diff --git a/flake.nix b/flake.nix
index 89dad17..1979081 100644
--- a/flake.nix
+++ b/flake.nix
@@ -12,21 +12,13 @@
   };
 
   outputs = inputs@{ self, nixpkgs, flake-utils, ... }:
-    flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" ] (system:
+    flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ] (system:
       let
         overlays = [ ];
 
         pkgs =
           import nixpkgs { inherit system overlays; config.allowBroken = true; };
 
-        co-log-src = pkgs.fetchgit
-          {
-            url = "https://github.com/kowainik/co-log";
-            sha256 = "sha256-XV1xh3aBRY2XwWjGRkd7F2DHf3zTeeFawHJzf05eaWE"; # pkgs.lib.fakeSha256;
-            rev = "72fbe394b437c698d574cd7604ad3f7f807383e0";
-            fetchSubmodules = false;
-          };
-
         project = returnShellEnv:
           pkgs.haskellPackages.developPackage {
             inherit returnShellEnv;
@@ -40,21 +32,6 @@
             overrides = self: super: with pkgs.haskell.lib; {
               # Use callCabal2nix to override Haskell dependencies here
               # cf. https://tek.brick.do/K3VXJd8mEKO7
-
-              co-log-polysemy = pkgs.haskell.lib.dontCheck
-                (self.callCabal2nixWithOptions "co-log-polysemy" co-log-src "--subpath=co-log-polysemy" { });
-
-              doctest = pkgs.haskell.lib.dontCheck
-                (self.callHackage "doctest" "0.16.3" { });
-
-              optics = pkgs.haskell.lib.dontCheck
-                (self.callHackage "optics" "0.4" { });
-              optics-core = pkgs.haskell.lib.dontCheck
-                (self.callHackage "optics-core" "0.4" { });
-              optics-th = pkgs.haskell.lib.dontCheck
-                (self.callHackage "optics-th" "0.4" { });
-              optics-extra = pkgs.haskell.lib.dontCheck
-                (self.callHackage "optics-extra" "0.4" { });
             };
 
             modifier = drv: