1
Fork 0
satellite/home/features/desktop/spotify.nix

61 lines
1.7 KiB
Nix
Raw Normal View History

2023-08-28 17:18:26 +02:00
{ inputs, pkgs, config, lib, ... }:
let
spicePkgs = inputs.spicetify-nix.packages.${pkgs.system}.default;
2023-08-28 17:18:26 +02:00
themeMap = lib.fix (self: {
2023-12-10 12:55:54 +01:00
"Catppuccin Mocha" = spicePkgs.themes.catppuccin;
"Catppuccin Latte" = spicePkgs.themes.catppuccin;
"Catppuccin Frappe" = spicePkgs.themes.catppuccin;
"Catppuccin Macchiato" = spicePkgs.themes.catppuccin;
default.light = self."Catppuccin Latte";
default.dark = self."Catppuccin Macchiato";
});
colorschemeMap = lib.fix (self: {
"Catppuccin Mocha" = "mocha";
"Catppuccin Latte" = "latte";
"Catppuccin Frappe" = "frappe";
"Catppuccin Macchiato" = "macchiato";
2023-08-28 17:18:26 +02:00
default.light = self."Catppuccin Latte";
default.dark = self."Catppuccin Macchiato";
});
in
{
programs.spicetify = {
enable = true;
theme = config.satellite.theming.get themeMap;
2023-12-10 12:55:54 +01:00
colorScheme = config.satellite.theming.get colorschemeMap;
enabledExtensions = with spicePkgs.extensions; [
fullAppDisplayMod
shuffle # Working shuffle
keyboardShortcut
skipStats # Track my skips
listPlaylistsWithSong # Adds button to show playlists which contain a song
playlistIntersection # Shows stuff that's in two different playlists
fullAlbumDate
bookmark
trashbin
groupSession
wikify # Shows an artist's wikipedia entry
songStats
showQueueDuration
genre
adblock
savePlaylists # Adds a button to duplicate playlists
];
};
# {{{ Persistence
satellite.persistence.at.state.apps.spotify.directories = [
"${config.xdg.configHome}/spotify"
];
satellite.persistence.at.cache.apps.spotify.directories = [
"${config.xdg.cacheHome}/spotify"
];
# }}}
}