diff --git a/.github/workflows/build-ebook.yaml b/.github/workflows/build-ebook.yaml
index 3870bec5..611c711b 100644
--- a/.github/workflows/build-ebook.yaml
+++ b/.github/workflows/build-ebook.yaml
@@ -3,7 +3,18 @@ name: Build ebook
 on:
   workflow_dispatch:
   workflow_call:
-  pull_request:
+  push:
+    branches:
+      - "mdbook-epub"
+    paths:
+      - ".github/workflows/build-ebook.yaml"
+      - ".github/workflows/publish-release.yaml"
+      - ".releaserc"
+      - "src/**"
+      - "theme/**"
+      - "book.toml"
+      - "package.json"
+      - "pnpm-lock.yaml"
 
 concurrency:
   group: ebook-${{ github.workflow }}-${{ github.ref }}
diff --git a/flake.lock b/flake.lock
index 6a3d3cd7..8270cbc8 100644
--- a/flake.lock
+++ b/flake.lock
@@ -45,16 +45,16 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1713805509,
-        "narHash": "sha256-YgSEan4CcrjivCNO5ZNzhg7/8ViLkZ4CB/GrGBVSudo=",
-        "owner": "NixOS",
+        "lastModified": 1713863038,
+        "narHash": "sha256-Hce31qyScA6PBO9XbDrnULHB9WDLfx68Udcz7HuZ1wI=",
+        "owner": "Cryolitia",
         "repo": "nixpkgs",
-        "rev": "1e1dc66fe68972a76679644a5577828b6a7e8be4",
+        "rev": "83b4b6129a8bceaa37bcd8fdf4155b333bde27d2",
         "type": "github"
       },
       "original": {
-        "owner": "NixOS",
-        "ref": "nixpkgs-unstable",
+        "owner": "Cryolitia",
+        "ref": "mdbook-epub",
         "repo": "nixpkgs",
         "type": "github"
       }
diff --git a/flake.nix b/flake.nix
index 19f9e265..878a22b3 100644
--- a/flake.nix
+++ b/flake.nix
@@ -16,7 +16,7 @@
       ];
     };
   inputs = {
-    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
+    nixpkgs.url = "github:Cryolitia/nixpkgs/mdbook-epub";
 
     nur-cryolitia = {
       url = "github:Cryolitia/nur-packages";