93 lines
1.9 KiB
Nix
93 lines
1.9 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
self,
|
|
...
|
|
}: {
|
|
services.home-assistant = {
|
|
customComponents = builtins.attrValues {
|
|
inherit
|
|
(self.scopedPackages.${pkgs.system}.hass-components)
|
|
spotifyplus
|
|
;
|
|
};
|
|
|
|
extraComponents = [
|
|
"spotify"
|
|
];
|
|
|
|
customSentences."assist_spotify" = import ./sentences.nix;
|
|
|
|
configFiles.
|
|
".storage/SpotifyWebApiPython_librespot_credentials.json"
|
|
.source = config.sops.secrets.spotifyd.path;
|
|
|
|
config.intent_script = {
|
|
PlayAlbum = {
|
|
async_action = false;
|
|
action = [
|
|
{
|
|
service = "netdaemon.spotify_play_album";
|
|
data = {
|
|
artist = "{{ artist }}";
|
|
album = "{{ album }}";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
|
|
PlayArtist = {
|
|
async_action = false;
|
|
action = [
|
|
{
|
|
service = "netdaemon.spotify_play_artist";
|
|
data.artist = "{{ artist }}";
|
|
}
|
|
];
|
|
};
|
|
|
|
PlayPlaylist = {
|
|
async_action = false;
|
|
action = [
|
|
{
|
|
service = "netdaemon.spotify_play_playlist";
|
|
data.playlist = "{{ playlist }}";
|
|
}
|
|
];
|
|
};
|
|
|
|
PlaySong = {
|
|
async_action = false;
|
|
action = [
|
|
{
|
|
service = "netdaemon.spotify_play_song";
|
|
data = {
|
|
artist = "{{ artist }}";
|
|
song = "{{ song }}";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
|
|
Pause = {
|
|
async_action = false;
|
|
action = [
|
|
{
|
|
service = "netdaemon.spotify_pause_unpause";
|
|
data.pause = true;
|
|
}
|
|
];
|
|
};
|
|
|
|
Unpause = {
|
|
async_action = false;
|
|
action = [
|
|
{
|
|
service = "netdaemon.spotify_pause_unpause";
|
|
data.pause = false;
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|