diff --git a/configurations/nos/modules/comics/kapowarr/module.nix b/configurations/nos/modules/comics/kapowarr/module.nix
index 40eb5b20..a0cc189a 100644
--- a/configurations/nos/modules/comics/kapowarr/module.nix
+++ b/configurations/nos/modules/comics/kapowarr/module.nix
@@ -1,6 +1,7 @@
 {
   config,
   lib,
+  kapowarr,
   pkgs,
   ...
 }: let
@@ -19,7 +20,7 @@
 in {
   options.services.kapowarr = {
     enable = mkEnableOption "kapowarr";
-    package = mkPackageOption pkgs.selfPackages "kapowarr" {};
+    package = mkPackageOption pkgs "kapowarr" {};
 
     user = mkOption {
       type = types.str;
@@ -62,6 +63,10 @@ in {
   };
 
   config = mkIf cfg.enable {
+    nixpkgs.overlays = [
+      kapowarr.overlays.default
+    ];
+
     systemd.services.kapowarr = {
       description = "Kapowarr";
       after = ["network.target"];
diff --git a/flake.lock b/flake.lock
index f236ffd4..2b19d0a2 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,22 +1,5 @@
 {
   "nodes": {
-    "Kapowarr-src": {
-      "flake": false,
-      "locked": {
-        "lastModified": 1745186869,
-        "narHash": "sha256-zqxKKADZLwwQziWHHNhniG6Z+JgKWvEW2c04Obya8bA=",
-        "owner": "matt1432",
-        "repo": "Kapowarr",
-        "rev": "951d2f34ecd91176a4225e56b9f1d4359cff4bad",
-        "type": "github"
-      },
-      "original": {
-        "owner": "matt1432",
-        "ref": "build-system",
-        "repo": "Kapowarr",
-        "type": "github"
-      }
-    },
     "ags": {
       "inputs": {
         "astal": [
@@ -850,6 +833,30 @@
         "type": "github"
       }
     },
+    "kapowarr": {
+      "inputs": {
+        "nixpkgs": [
+          "nixpkgs"
+        ],
+        "systems": [
+          "systems"
+        ]
+      },
+      "locked": {
+        "lastModified": 1745871889,
+        "narHash": "sha256-lqwEbN0dIEMJVYGEZhDl/ZP9p2ClZJStdLg6yWM1q/E=",
+        "owner": "matt1432",
+        "repo": "Kapowarr",
+        "rev": "2a54e959f2cbe4f3f0c3ba79ced17dc510c914e9",
+        "type": "github"
+      },
+      "original": {
+        "owner": "matt1432",
+        "ref": "build-system",
+        "repo": "Kapowarr",
+        "type": "github"
+      }
+    },
     "kompass": {
       "inputs": {
         "astal": [
@@ -1605,7 +1612,6 @@
     },
     "root": {
       "inputs": {
-        "Kapowarr-src": "Kapowarr-src",
         "ags": "ags",
         "astal": "astal",
         "bat-theme-src": "bat-theme-src",
@@ -1631,6 +1637,7 @@
         "hyprland-plugins": "hyprland-plugins",
         "hyprpaper": "hyprpaper",
         "jovian": "jovian",
+        "kapowarr": "kapowarr",
         "kompass": "kompass",
         "lib-aggregate": "lib-aggregate",
         "libratbag-src": "libratbag-src",
diff --git a/flake.nix b/flake.nix
index 35f3ccca..9cc8a1d5 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,13 +1,6 @@
 # Do not modify! This file is generated.
 {
   inputs = {
-    Kapowarr-src = {
-      flake = false;
-      owner = "matt1432";
-      ref = "build-system";
-      repo = "Kapowarr";
-      type = "github";
-    };
     ags = {
       inputs = {
         astal.follows = "astal";
@@ -190,6 +183,16 @@
       repo = "Jovian-NixOS";
       type = "github";
     };
+    kapowarr = {
+      inputs = {
+        nixpkgs.follows = "nixpkgs";
+        systems.follows = "systems";
+      };
+      owner = "matt1432";
+      ref = "build-system";
+      repo = "Kapowarr";
+      type = "github";
+    };
     kompass = {
       inputs = {
         astal.follows = "astal";
diff --git a/inputs/default.nix b/inputs/default.nix
index df3c0d91..3a899260 100644
--- a/inputs/default.nix
+++ b/inputs/default.nix
@@ -156,6 +156,14 @@ let
       owner = "mateoradman";
       repo = "bazarr-bulk";
     };
+
+    kapowarr = mkInput {
+      owner = "matt1432";
+      repo = "Kapowarr";
+      ref = "build-system";
+      # type = "path";
+      # path = "/home/matt/git/Kapowarr";
+    };
   };
 
   desktopInputs = {
@@ -329,14 +337,6 @@ let
     }
 
     # Overlays & packages
-    {
-      name = "Kapowarr-src";
-      owner = "matt1432";
-      repo = "Kapowarr";
-      ref = "build-system";
-      # type = "path";
-      # path = "/home/matt/git/Kapowarr";
-    }
     {
       type = "gitlab";
       owner = "rogs";
diff --git a/packages/README.md b/packages/README.md
index 58df94db..6ea93d66 100644
--- a/packages/README.md
+++ b/packages/README.md
@@ -12,7 +12,6 @@ This directory contains every derivations for packages exposed by this flake.
 | `homepage` | Highly customisable dashboard with Docker and service API integrations. | https://gethomepage.dev |
 | `jdownloader-cli` | Command line interface to JDownloader based on jdownloader-go library. | https://github.com/rkosegi/jdownloader-cli |
 | `jmusicbot` | Discord music bot that's easy to set up and run yourself | https://github.com/jagrosh/MusicBot |
-| `kapowarr` | Kapowarr is a software to build and manage a comic book library, fitting in the \*arr suite of software. | https://casvt.github.io/Kapowarr |
 | `komf` | Komf is a tool that fetches metadata and thumbnails for your digital comic book library. | https://github.com/Snd-R/komf |
 | `libratbag` | Configuration library for gaming mice | https://github.com/libratbag/libratbag |
 | `librespot-auth` | A simple program for populating a credentials.json via Spotify's zeroconf authentication. | https://github.com/dspearson/librespot-auth |
diff --git a/packages/default.nix b/packages/default.nix
index 30c46572..0f8883c1 100644
--- a/packages/default.nix
+++ b/packages/default.nix
@@ -19,8 +19,6 @@
 
     jmusicbot = final.callPackage ./jmusicbot {};
 
-    kapowarr = import ./kapowarr (final // inputs);
-
     komf = final.callPackage ./komf {};
 
     libratbag = final.callPackage ./libratbag {
diff --git a/packages/kapowarr/bencoding/default.nix b/packages/kapowarr/bencoding/default.nix
deleted file mode 100644
index 31f8f3a3..00000000
--- a/packages/kapowarr/bencoding/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-  # nix build inputs
-  buildPythonPackage,
-  fetchPypi,
-  ...
-}: let
-  pname = "bencoding";
-  version = "0.2.6";
-in
-  buildPythonPackage {
-    inherit pname version;
-
-    src = fetchPypi {
-      inherit pname version;
-      hash = "sha256-Q8zjHUhj4p1rxhFVHU6fJlK+KZXp1eFbRtg4PxgNREA=";
-    };
-  }
diff --git a/packages/kapowarr/default.nix b/packages/kapowarr/default.nix
deleted file mode 100644
index 7a698db9..00000000
--- a/packages/kapowarr/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-  # nix build inputs
-  python3Packages,
-  Kapowarr-src,
-  ...
-}: let
-  pyPkgs = python3Packages.override {
-    overrides = pyFinal: pyPrev: {
-      bencoding = pyFinal.callPackage ./bencoding {};
-      typing-extensions = pyFinal.callPackage ./typing-extensions {};
-    };
-  };
-in
-  pyPkgs.callPackage ./kapowarr {inherit Kapowarr-src;}
diff --git a/packages/kapowarr/kapowarr/default.nix b/packages/kapowarr/kapowarr/default.nix
deleted file mode 100644
index 97bc4f08..00000000
--- a/packages/kapowarr/kapowarr/default.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-{
-  # nix build inputs
-  lib,
-  stdenv,
-  python,
-  makeWrapper,
-  Kapowarr-src,
-  # deps
-  rar,
-  # python deps
-  aiohttp,
-  beautifulsoup4,
-  bencoding, # from overrides
-  cryptography,
-  flask,
-  flask-socketio,
-  requests,
-  typing-extensions, # from overrides
-  waitress,
-  websocket-client,
-  ...
-}: let
-  inherit (lib) getExe;
-  inherit (builtins) fromTOML readFile;
-
-  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
-  stdenv.mkDerivation {
-    inherit pname version;
-
-    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 ./backend/implementations/converters.py \
-          --replace-fail \
-              "exe = folder_path('backend', 'lib', Constants.RAR_EXECUTABLES[platform])" \
-              "exe = '${getExe rar}'"
-    '';
-
-    buildPhase = ''
-      mkdir -p $out/${python.sitePackages}
-      cp -r ./. $out/${python.sitePackages}
-    '';
-
-    installPhase = ''
-      makeWrapper ${pythonExe} $out/bin/kapowarr \
-          --add-flags "$out/${python.sitePackages}/Kapowarr.py"
-    '';
-
-    meta = {
-      inherit (rar.meta) platforms;
-      mainProgram = pname;
-      license = lib.licenses.gpl3Only;
-      homepage = "https://casvt.github.io/Kapowarr";
-      description = ''
-        Kapowarr is a software to build and manage a comic book library,
-        fitting in the *arr suite of software.
-      '';
-    };
-  }
diff --git a/packages/kapowarr/typing-extensions/default.nix b/packages/kapowarr/typing-extensions/default.nix
deleted file mode 100644
index dbd15b3b..00000000
--- a/packages/kapowarr/typing-extensions/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  # nix build inputs
-  buildPythonPackage,
-  fetchPypi,
-  # deps
-  flit-core,
-  ...
-}: let
-  pname = "typing_extensions";
-  version = "4.12.2";
-in
-  buildPythonPackage {
-    inherit pname version;
-    format = "pyproject";
-
-    build-system = [flit-core];
-    dependencies = [flit-core];
-
-    src = fetchPypi {
-      inherit pname version;
-      hash = "sha256-Gn6tVcflWd1N7ohW46iLQSJav+HOjfV7fBORX+Eh/7g=";
-    };
-  }