1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-11-08 19:46:05 +01:00

rescrobbled: add module

This commit is contained in:
awwpotato 2025-08-05 21:24:21 -07:00 committed by Austin Horstman
parent f6cc29aab0
commit ad5d2b4aa7
5 changed files with 131 additions and 0 deletions

View file

@ -0,0 +1,46 @@
{ pkgs, ... }:
{
services.rescrobbled = {
enable = true;
settings = {
lastfm-key = "Last.fm API key";
lastfm-secret = "Last.fm API secret";
min-play-time = 0;
player-whitelist = [ "Player MPRIS identity or bus name" ];
filter-script = "path/to/script";
use-track-start-timestamp = false;
listenbrainz = [
{
url = "Custom API URL";
token = "User token";
}
];
};
};
nmt.script = ''
assertFileExists home-files/.config/rescrobbled/config.toml
assertFileContent home-files/.config/rescrobbled/config.toml \
${pkgs.writeText "settings-expected" ''
filter-script = "path/to/script"
lastfm-key = "Last.fm API key"
lastfm-secret = "Last.fm API secret"
min-play-time = 0
player-whitelist = ["Player MPRIS identity or bus name"]
use-track-start-timestamp = false
[[listenbrainz]]
token = "User token"
url = "Custom API URL"
''}
service=home-files/.config/systemd/user/rescrobbled.service
assertFileExists $service
assertFileRegex $service 'Description=An MPRIS scrobbler'
assertFileRegex $service 'Wants=network-online.target'
assertFileRegex $service 'After=network-online.target'
assertFileRegex $service 'WantedBy=default.target'
'';
}

View file

@ -0,0 +1,4 @@
{ lib, pkgs, ... }:
lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {
rescrobbled-basic-config = ./basic-config.nix;
}