Add adl module and packages

This commit is contained in:
Henrik Lissner 2021-02-09 22:00:17 -05:00
parent f4a0da4d87
commit ddf772a4d8
6 changed files with 142 additions and 0 deletions

View file

@ -47,6 +47,7 @@
vim.enable = true;
};
shell = {
adl.enable = true;
bitwarden.enable = true;
direnv.enable = true;
git.enable = true;

View file

@ -41,6 +41,7 @@
};
dev = {};
shell = {
adl.enable = true;
bitwarden.enable = true;
direnv.enable = true;
git.enable = true;

27
modules/shell/adl.nix Normal file
View file

@ -0,0 +1,27 @@
# modules/shell/adl.nix
#
# To maintain my filty weeb habits, I need tools. Tools that make it easy to
# watch animu and track 'em on anilist. Laziness > my weebery.
{ options, config, lib, pkgs, ... }:
with lib;
with lib.my;
let cfg = config.modules.shell.adl;
in {
options.modules.shell.adl = {
enable = mkBoolOpt false;
};
config = mkIf cfg.enable {
user.packages = with pkgs; [
# Dependencies
my.trackma
my.anime-downloader
mpv
# The star of the show
my.adl
];
};
}

31
packages/adl.nix Normal file
View file

@ -0,0 +1,31 @@
{ lib, stdenv, fetchzip, my, ... }:
stdenv.mkDerivation {
name = "adl";
src = fetchzip {
url = "https://github.com/RaitaroH/adl/archive/master.zip";
sha256 = "HtKSPD3g0y68A37N4HhOIorW4sPyOr4ei9wABFh4GYc=";
};
buildInputs = with my; [
trackma
anime-downloader
];
phases = "installPhase";
installPhase = ''
mkdir -p $out/bin
cp $src/adl $out/bin/adl
cp ${my.trackma}/bin/trackma $out/bin/trackma
cp ${my.anime-downloader}/bin/anime $out/bin/anime
'';
meta = {
homepage = "https://github.com/RaitaroH/adl";
description = "popcorn anime-downloader + trackma wrapper";
license = lib.licenses.gpl3;
platforms = [ "x86_64-linux" ];
maintainers = [];
};
}

View file

@ -0,0 +1,58 @@
{ lib, python3, nodejs, aria2, coloredlogs }:
with python3.pkgs;
let
pySmartDL = buildPythonPackage rec {
pname = "pySmartDL";
version = "1.3.4";
src = fetchPypi {
inherit pname version;
sha256 = "NSddFpTzR00zvcqTsn02CCZf/UL1rrKOVvOLkGwMNfQ=";
};
doCheck = false;
};
cfscrape = buildPythonPackage rec {
pname = "cfscrape";
version = "2.0.5";
src = fetchPypi {
inherit pname version;
sha256 = "2VwWsGdxJ9+uPqUp82AdFHTK5+MlJ44dnYmipz7yH6k=";
};
buildInputs = [ requests ];
doCheck = false;
};
in buildPythonApplication rec {
pname = "anime-downloader";
version = "5.0.7";
src = fetchPypi {
inherit pname version;
sha256 = "BP4Wf2efU1RUk6I+82rFcvEdxDSKonTOIZjm3B0x7Eg=";
};
propagatedBuildInputs = [
aria2
nodejs
beautifulsoup4
cfscrape
click
coloredlogs
fuzzywuzzy
pySmartDL
pycryptodome
requests
requests-cache
setuptools
tabulate
];
doCheck = false;
meta = {
homepage = "https://github.com/anime-dl/anime-downloader";
description = "A simple but powerful anime downloader and streamer.";
license = lib.licenses.unlicense;
platforms = [ "x86_64-linux" ];
maintainers = [];
};
}

24
packages/trackma.nix Normal file
View file

@ -0,0 +1,24 @@
{ lib, python3 }:
with python3.pkgs;
buildPythonApplication rec {
pname = "Trackma";
version = "0.8.4";
src = fetchPypi {
inherit pname version;
sha256 = "9UHhxpbDcjW42JlefDHkTor1TdKmCQ1a1u0JS0Rt79k=";
};
# No tests included
doCheck = false;
pythonImportsCheck = [ "trackma" ];
meta = with lib; {
homepage = "https://github.com/z411/trackma";
description = "Open multi-site list manager for Unix-like systems. (ex-wMAL)";
license = licenses.gpl3;
platforms = [ "x86_64-linux" ];
maintainers = [];
};
}