package soularr
This commit is contained in:
parent
e6c1be95ee
commit
e113bfa1c7
4 changed files with 95 additions and 1 deletions
12
flake.nix
12
flake.nix
|
|
@ -58,7 +58,7 @@
|
||||||
helix,
|
helix,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
rec {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
fedfer-main-laptop-nixos = nixpkgs.lib.nixosSystem {
|
fedfer-main-laptop-nixos = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
|
@ -88,11 +88,21 @@
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
arion.nixosModules.arion
|
arion.nixosModules.arion
|
||||||
|
{
|
||||||
|
nixpkgs.overlays = [ ((import ./overlays/soularr.nix) packages.x86_64-linux.soularr) ];
|
||||||
|
}
|
||||||
./hosts/main-homelab/configuration.nix
|
./hosts/main-homelab/configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
packages.x86_64-linux = rec {
|
||||||
|
slskd-api = (nixpkgs.legacyPackages.x86_64-linux.callPackage ./packages/slskd-api.nix { });
|
||||||
|
soularr = (
|
||||||
|
nixpkgs.legacyPackages.x86_64-linux.callPackage ./packages/soularr.nix { inherit slskd-api; }
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
formatter.x86_64-linux =
|
formatter.x86_64-linux =
|
||||||
(treefmt-nix.lib.evalModule nixpkgs.legacyPackages."x86_64-linux" ./treefmt.nix)
|
(treefmt-nix.lib.evalModule nixpkgs.legacyPackages."x86_64-linux" ./treefmt.nix)
|
||||||
.config.build.wrapper;
|
.config.build.wrapper;
|
||||||
|
|
|
||||||
4
overlays/soularr.nix
Normal file
4
overlays/soularr.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{ soularr, ... }:
|
||||||
|
(final: prev: {
|
||||||
|
soularr = soularr;
|
||||||
|
})
|
||||||
32
packages/slskd-api.nix
Normal file
32
packages/slskd-api.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
python3Packages,
|
||||||
|
fetchFromGitHub,
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3Packages.buildPythonPackage rec {
|
||||||
|
pname = "slskd-api";
|
||||||
|
version = "0.1.5";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "bigoulours";
|
||||||
|
repo = "slskd-python-api";
|
||||||
|
tag = "v${version}";
|
||||||
|
hash = "sha256-Kyzbd8y92VFzjIp9xVbhkK9rHA/6KCCJh7kNS/MtixI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = with python3Packages; [ setuptools-git-versioning ];
|
||||||
|
|
||||||
|
dependencies = with python3Packages; [ requests ];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "slskd_api" ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "API Wrapper to interact with slskd";
|
||||||
|
homepage = "https://slskd-api.readthedocs.io/";
|
||||||
|
changelog = "https://github.com/bigoulours/slskd-python-api/releases/tag/${src.tag}";
|
||||||
|
license = lib.licenses.agpl3Only;
|
||||||
|
maintainers = with lib.maintainers; [ getchoo ];
|
||||||
|
};
|
||||||
|
}
|
||||||
48
packages/soularr.nix
Normal file
48
packages/soularr.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
fetchFromGitHub,
|
||||||
|
installShellFiles,
|
||||||
|
python3Packages,
|
||||||
|
slskd-api,
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3Packages.buildPythonApplication {
|
||||||
|
pname = "soularr";
|
||||||
|
version = "0-unstable-2025-02-05";
|
||||||
|
pyproject = false;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "mrusse";
|
||||||
|
repo = "soularr";
|
||||||
|
rev = "dc23f6d11fb2148c35168028b6b2fdfd0c502957";
|
||||||
|
hash = "sha256-znEubXeQmEmE8swmgDSliTh/v/k3t55jzchWCAd9bGc=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
|
dependencies = with python3Packages; [
|
||||||
|
music-tag
|
||||||
|
pyarr
|
||||||
|
slskd-api
|
||||||
|
];
|
||||||
|
|
||||||
|
dontConfigure = true;
|
||||||
|
dontBuild = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mv soularr{.py,}
|
||||||
|
installBin soularr
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Python script that connects Lidarr with Soulseek";
|
||||||
|
homepage = "https://soularr.net/";
|
||||||
|
license = lib.licenses.gpl3Only;
|
||||||
|
maintainers = with lib.maintainers; [ getchoo ];
|
||||||
|
mainProgram = "soularr";
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue