diff --git a/configurations/nos/modules/comics/kapowarr/module.nix b/configurations/nos/modules/comics/kapowarr/module.nix
index 9fc2a952..40eb5b20 100644
--- a/configurations/nos/modules/comics/kapowarr/module.nix
+++ b/configurations/nos/modules/comics/kapowarr/module.nix
@@ -11,7 +11,7 @@
     mkIf
     mkOption
     mkPackageOption
-    optionalString
+    # optionalString
     types
     ;
 
@@ -51,13 +51,6 @@ in {
       description = "The directory where Kapowarr stores its data files.";
     };
 
-    downloadDir = mkOption {
-      type = types.path;
-      default = "${cfg.dataDir}/temp_downloads";
-      defaultText = "/var/lib/kapowarr/temp_downloads";
-      description = "The directory where Kapowarr stores its downloaded files.";
-    };
-
     logDir = mkOption {
       type = types.path;
       default = cfg.dataDir;
@@ -74,10 +67,6 @@ in {
       after = ["network.target"];
       wantedBy = ["multi-user.target"];
 
-      environment = {
-        KAPOWARR_LOG_DIR = cfg.logDir;
-      };
-
       serviceConfig = {
         Type = "simple";
         User = cfg.user;
@@ -86,10 +75,9 @@ in {
         ExecStart = toString [
           (getExe cfg.package)
           "-d ${cfg.dataDir}"
-          "-D ${cfg.downloadDir}"
           "-l ${cfg.logDir}"
-          "-p ${toString cfg.port}"
-          (optionalString (cfg.urlBase != null) "-u ${cfg.urlBase}")
+          # "-p ${toString cfg.port}"
+          # (optionalString (cfg.urlBase != null) "-u ${cfg.urlBase}")
         ];
 
         # Hardening from komga service
diff --git a/flake.lock b/flake.lock
index 8cad4342..60d461e6 100644
--- a/flake.lock
+++ b/flake.lock
@@ -3,16 +3,16 @@
     "Kapowarr-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1744033989,
-        "narHash": "sha256-g+ORfY2UhPOk1bBwSTzAZ7zwbY+bgggOas6+9P1gWC4=",
+        "lastModified": 1744746361,
+        "narHash": "sha256-vu0nVGjwQSW5K1WtYeL8ixWQABJG0KgT6erenRK44Zs=",
         "owner": "matt1432",
         "repo": "Kapowarr",
-        "rev": "d797b9d7f3fee4c7ba7e7e9cd33ed78926c981e9",
+        "rev": "d5a170f80b39b8d3477574211bd775291268a129",
         "type": "github"
       },
       "original": {
         "owner": "matt1432",
-        "ref": "build-system-bak",
+        "ref": "build-system",
         "repo": "Kapowarr",
         "type": "github"
       }
diff --git a/flake.nix b/flake.nix
index 24a47d7f..645538b5 100644
--- a/flake.nix
+++ b/flake.nix
@@ -4,7 +4,7 @@
     Kapowarr-src = {
       flake = false;
       owner = "matt1432";
-      ref = "build-system-bak";
+      ref = "build-system";
       repo = "Kapowarr";
       type = "github";
     };
diff --git a/inputs/default.nix b/inputs/default.nix
index 757b5b0e..9db4735d 100644
--- a/inputs/default.nix
+++ b/inputs/default.nix
@@ -327,7 +327,7 @@ let
       name = "Kapowarr-src";
       owner = "matt1432";
       repo = "Kapowarr";
-      ref = "build-system-bak";
+      ref = "build-system";
       # type = "path";
       # path = "/home/matt/git/Kapowarr";
     }
diff --git a/packages/kapowarr/kapowarr/default.nix b/packages/kapowarr/kapowarr/default.nix
index 158eee84..97bc4f08 100644
--- a/packages/kapowarr/kapowarr/default.nix
+++ b/packages/kapowarr/kapowarr/default.nix
@@ -1,7 +1,9 @@
 {
   # nix build inputs
   lib,
-  buildPythonApplication,
+  stdenv,
+  python,
+  makeWrapper,
   Kapowarr-src,
   # deps
   rar,
@@ -13,7 +15,6 @@
   flask,
   flask-socketio,
   requests,
-  setuptools,
   typing-extensions, # from overrides
   waitress,
   websocket-client,
@@ -24,37 +25,56 @@
 
   pyproject = fromTOML (readFile "${Kapowarr-src}/pyproject.toml");
 
+  dependencies = [
+    typing-extensions
+    requests
+    beautifulsoup4
+    flask
+    waitress
+    cryptography
+    bencoding
+    aiohttp
+    flask-socketio
+    websocket-client
+  ];
+
+  pythonExe = getExe (python.withPackages (ps: dependencies));
+
   pname = "kapowarr";
   version = "${pyproject.project.version}+${Kapowarr-src.shortRev or "dirty"}";
 in
-  buildPythonApplication {
+  stdenv.mkDerivation {
     inherit pname version;
-    format = "pyproject";
 
     src = Kapowarr-src;
 
+    nativeBuildInputs = [makeWrapper];
+
     postPatch = ''
+      # Remove shebang
+      sed -i 1d ./Kapowarr.py
+
+      # Disable PWA for now
+      substituteInPlace ./backend/internals/settings.py \
+          --replace-fail "with open(filename, 'w') as f:" "" \
+          --replace-fail "dump(manifest, f, indent=4)" ""
+
       # TODO: makes sure this works
-      substituteInPlace ./src/backend/implementations/converters.py \
+      substituteInPlace ./backend/implementations/converters.py \
           --replace-fail \
               "exe = folder_path('backend', 'lib', Constants.RAR_EXECUTABLES[platform])" \
               "exe = '${getExe rar}'"
     '';
 
-    build-system = [setuptools];
+    buildPhase = ''
+      mkdir -p $out/${python.sitePackages}
+      cp -r ./. $out/${python.sitePackages}
+    '';
 
-    dependencies = [
-      typing-extensions
-      requests
-      beautifulsoup4
-      flask
-      waitress
-      cryptography
-      bencoding
-      aiohttp
-      flask-socketio
-      websocket-client
-    ];
+    installPhase = ''
+      makeWrapper ${pythonExe} $out/bin/kapowarr \
+          --add-flags "$out/${python.sitePackages}/Kapowarr.py"
+    '';
 
     meta = {
       inherit (rar.meta) platforms;