dlibrary/flake.nix

55 lines
1.5 KiB
Nix

{
description = "DLSite download organizer";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.11";
outputs = { self, nixpkgs, nixpkgs-stable }: let
pkgs = import nixpkgs {
system = "x86_64-linux";
config.allowUnfree = true;
};
pkgs-stable = import nixpkgs-stable { system = "x86_64-linux"; };
project = builtins.fromTOML (builtins.readFile ./pyproject.toml);
in {
packages.x86_64-linux = with pkgs.python3Packages; rec {
dlsite-async = buildPythonPackage rec {
pname = "dlsite_async";
version = "0.10.1";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-K7xbHtz2SF8Rs+2Rm0Llw5jWnqlTLP5vSuAM3mXEAeY=";
};
pyproject = true;
nativeBuildInputs = [ (assert pkgs.pdm.version == "2.26.6"; pkgs-stable.pdm) ];
propagatedBuildInputs = [
lxml
aiohttp
beautifulsoup4
cryptography
pdm-backend
];
};
dlibrary = buildPythonApplication {
pname = "dlibrary";
inherit (project.project) version;
pyproject = true;
propagatedBuildInputs = [
pymupdf
pillow
requests
dlsite-async
jinja2
importlib-resources
setuptools
libsixel
(rarfile.override { useUnrar = true; })
pyuca
];
src = ./.;
};
default = dlibrary;
};
};
}