diff --git a/darwin/koishi/configuration.nix b/darwin/koishi/configuration.nix
new file mode 100644
index 0000000..5d31bff
--- /dev/null
+++ b/darwin/koishi/configuration.nix
@@ -0,0 +1,27 @@
+{ pkgs, ... }: {
+ nixpkgs = {
+    config = {
+      allowUnfree = true;
+    };
+  };
+
+  services.nix-daemon.enable = true;
+  nix.settings.experimental-features = "nix-command flakes";
+
+  users.users.lu = {
+    name = "lu";
+    home = "/Users/lu";
+    shell = pkgs.fish;
+  };
+
+  programs.fish = {
+    enable = true;
+    vendor = {
+      completions.enable = true;
+      config.enable = true;
+      functions.enable = true;
+    };
+  };
+
+  system.stateVersion = 5;
+}
diff --git a/flake.lock b/flake.lock
index 6813b5c..2b40bc4 100644
--- a/flake.lock
+++ b/flake.lock
@@ -114,6 +114,26 @@
         "type": "github"
       }
     },
+    "darwin": {
+      "inputs": {
+        "nixpkgs": [
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1726188813,
+        "narHash": "sha256-Vop/VRi6uCiScg/Ic+YlwsdIrLabWUJc57dNczp0eBc=",
+        "owner": "lnl7",
+        "repo": "nix-darwin",
+        "rev": "21fe31f26473c180390cfa81e3ea81aca0204c80",
+        "type": "github"
+      },
+      "original": {
+        "owner": "lnl7",
+        "repo": "nix-darwin",
+        "type": "github"
+      }
+    },
     "flake-compat": {
       "flake": false,
       "locked": {
@@ -296,6 +316,7 @@
     },
     "root": {
       "inputs": {
+        "darwin": "darwin",
         "home-manager": "home-manager",
         "nix-index-database": "nix-index-database",
         "nixos-hardware": "nixos-hardware",
diff --git a/flake.nix b/flake.nix
index ec8760a..5a570ec 100644
--- a/flake.nix
+++ b/flake.nix
@@ -18,6 +18,10 @@
     stylix.url = "github:danth/stylix";
     stylix.inputs.nixpkgs.follows = "nixpkgs";
 
+    # nix-darwin
+    darwin.url = "github:lnl7/nix-darwin";
+    darwin.inputs.nixpkgs.follows = "nixpkgs";
+
     # nix-hardware
     nixos-hardware.url = "github:NixOS/nixos-hardware/master";
   };
@@ -27,6 +31,7 @@
     , nixpkgs
     , home-manager
     , nixos-hardware
+    , darwin
     , ...
     }@inputs:
     let
@@ -89,5 +94,15 @@
           ];
         };
       };
+
+      darwinConfigurations = {
+        koishi = darwin.lib.darwinSystem {
+          system = "aarch64-darwin";
+          modules = [
+            ./darwin/koishi/configuration.nix
+            home-manager.darwinModules.home-manager
+          ];
+        };
+      };
     };
 }