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="; - }; - }