feat(spotifyd): get credentials from librespot-auth
All checks were successful
Discord / discord commits (push) Has been skipped

This commit is contained in:
matt1432 2024-09-18 19:27:16 -04:00
parent 2d97a15541
commit 292b1ef0fa
6 changed files with 2337 additions and 1 deletions

View file

@ -61,7 +61,7 @@
device_name = config.networking.hostName; device_name = config.networking.hostName;
device_type = "speaker"; device_type = "speaker";
zeroconf_port = 33797; zeroconf_port = 33798;
cache_path = cacheDir; cache_path = cacheDir;
username_cmd = "${lib.getExe pkgs.jq} -r .username ${cacheDir}/credentials.json"; username_cmd = "${lib.getExe pkgs.jq} -r .username ${cacheDir}/credentials.json";

Binary file not shown.

View file

@ -3,4 +3,10 @@ final: prev: {
withCUDA = true; withCUDA = true;
withCuDNN = true; withCuDNN = true;
}; };
# FIXME: remove this if https://github.com/NixOS/nixpkgs/pull/342913 is merged
spotifyd = prev.spotifyd.override {
withMpris = false;
withKeyring = false;
};
} }

View file

@ -14,6 +14,8 @@
inherit (inputs) libratbag-src; inherit (inputs) libratbag-src;
}; };
librespot-auth = pkgs.callPackage ./librespot-auth {};
pam-fprint-grosshack = pkgs.callPackage ./pam-fprint-grosshack { pam-fprint-grosshack = pkgs.callPackage ./pam-fprint-grosshack {
inherit (inputs) pam-fprint-grosshack-src; inherit (inputs) pam-fprint-grosshack-src;
}; };

2285
packages/librespot-auth/Cargo.lock generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,43 @@
{
lib,
fetchFromGitHub,
makeWrapper,
openssl,
pkg-config,
rustPlatform,
...
}:
rustPlatform.buildRustPackage rec {
pname = "librespot-auth";
version = "0.1.1";
src = fetchFromGitHub {
owner = "dspearson";
repo = pname;
rev = "v${version}";
sha256 = "sha256-IbbArRSKpnljhZSgL0b3EjVzKWN7bk6t0Bv7TkYr8FI=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"librespot-core-0.5.0-dev" = "sha256-7HrA1hWEy5lliwgJ9amJy+Kd8lB50b3q2niaFWWwcYE=";
};
};
nativeBuildInputs = [
pkg-config
makeWrapper
];
buildInputs = [
openssl
];
meta = with lib; {
description = "A simple program for populating a credentials.json via Spotify's zeroconf authentication.";
mainProgram = pname;
homepage = "https://github.com/dspearson/librespot-auth";
license = with licenses; [isc];
};
}