diff --git a/README.md b/README.md
index f26059b..f72ce36 100644
--- a/README.md
+++ b/README.md
@@ -53,6 +53,15 @@ $ ./cxxmatrix 'The Matrix' 'Reloaded'
Quit: C-c; Suspend: C-z; Menu: RET, C-m
+**For NixOS**
+
+```bash
+$ git clone https://github.com/akinomyoga/cxxmatrix.git
+$ cd cxxmatrix
+$ nix develop
+$ make
+$ ./cxxmatrix 'The Matrix' 'Reloaded'
+```
**Compile MSYS2 binary (MSYS2 PTY) using MSYS2**
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..88e6258
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,27 @@
+{
+ "nodes": {
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1752596105,
+ "narHash": "sha256-lFNVsu/mHLq3q11MuGkMhUUoSXEdQjCHvpReaGP1S2k=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "dab3a6e781554f965bde3def0aa2fda4eb8f1708",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "nixpkgs": "nixpkgs"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..b2ca18f
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,11 @@
+{
+ inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
+ outputs = { self, nixpkgs }: let
+ pkgs = import nixpkgs { system = "x86_64-linux"; };
+ in {
+ packages.x86_64-linux.default = pkgs.callPackage ./package.nix {};
+ devShells.x86_64-linux.default = pkgs.mkShell {
+ buildInputs = [ pkgs.gawk ];
+ };
+ };
+}