diff --git a/nix/home/programs/mangadex-downloader/default.nix b/nix/home/programs/mangadex-downloader/default.nix new file mode 100644 index 0000000..6b14982 --- /dev/null +++ b/nix/home/programs/mangadex-downloader/default.nix @@ -0,0 +1,58 @@ +{ pkgs, ... }: + +let + + buildPythonPackage = pkgs.python311Packages.buildPythonPackage; + fetchPypi = pkgs.python311Packages.fetchPypi; + requests_doh = buildPythonPackage rec { + pname = "requests_doh"; + version = "1.0.0"; + format = "setuptools"; + src = fetchPypi { + inherit pname version; + sha256 = "sha256-bOi8liRQMKGY7yDSEAtNyzsSCgWljfcD+L4SGnn48vs="; + }; + + doCheck = false; + + propagatedBuildInputs = with pkgs.python311Packages; [ + requests + dnspython + ] ++ requests.optional-dependencies.socks ++ dnspython.optional-dependencies.doh; + }; + + mangadex-downloader = buildPythonPackage + rec { + pname = "mangadex_downloader"; + version = "3.1.4"; + format = "setuptools"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-653lHYQPFZ3I9+bqMRxGcSyJv1MEqPvYbbX0j/SATyo="; + }; + + doCheck = false; + + propagatedBuildInputs = with pkgs.python311Packages; [ + pysocks + requests_doh + requests + beautifulsoup4 + chardet + packaging + requests + tqdm + pyjwt + pillow + pathvalidate + ]++ requests.optional-dependencies.socks; + }; +in +{ + environment.systemPackages = [ + (pkgs.python311.withPackages (p: [ + mangadex-downloader + ])) + ]; +} diff --git a/nix/system/framework/configuration.nix b/nix/system/framework/configuration.nix index a602dab..0bccf23 100644 --- a/nix/system/framework/configuration.nix +++ b/nix/system/framework/configuration.nix @@ -15,6 +15,7 @@ # Include the results of the hardware scan. ./hardware-configuration.nix ../common/users.nix + (import ../../home/programs/mangadex-downloader) ]; # enable nix-flakes