76 lines
1.5 KiB
Nix
76 lines
1.5 KiB
Nix
|
{ inputs, outputs, ... }:
|
||
|
{ lib, pkgs, config, ... }:
|
||
|
|
||
|
let
|
||
|
cfg = config.reo101.spotify;
|
||
|
|
||
|
inherit (lib)
|
||
|
mkEnableOption mkOption types
|
||
|
mkIf optionals optionalString
|
||
|
mkMerge;
|
||
|
in
|
||
|
{
|
||
|
imports =
|
||
|
[
|
||
|
inputs.spicetify-nix.homeManagerModules.default
|
||
|
];
|
||
|
|
||
|
options =
|
||
|
{
|
||
|
reo101.spotify = {
|
||
|
enable = mkEnableOption "reo101 spotify setup";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
config =
|
||
|
mkIf cfg.enable {
|
||
|
home.packages = with pkgs; [
|
||
|
spotify
|
||
|
];
|
||
|
|
||
|
programs.spicetify =
|
||
|
let
|
||
|
spicePkgs = inputs.spicetify-nix.packages.${pkgs.system}.default;
|
||
|
in
|
||
|
{
|
||
|
enable = true;
|
||
|
spotifyPackage = pkgs.spotify;
|
||
|
|
||
|
colorScheme = "text";
|
||
|
|
||
|
enabledExtensions = with spicePkgs.extensions; [
|
||
|
adblock
|
||
|
autoVolume
|
||
|
copyToClipboard
|
||
|
fullAlbumDate
|
||
|
fullAppDisplay
|
||
|
genre
|
||
|
goToSong
|
||
|
groupSession
|
||
|
hidePodcasts
|
||
|
history
|
||
|
keyboardShortcut
|
||
|
lastfm
|
||
|
listPlaylistsWithSong
|
||
|
loopyLoop
|
||
|
phraseToPlaylist
|
||
|
playNext
|
||
|
playlistIcons
|
||
|
playlistIntersection
|
||
|
popupLyrics
|
||
|
savePlaylists
|
||
|
showQueueDuration
|
||
|
shuffle # shuffle+
|
||
|
skipStats
|
||
|
songStats
|
||
|
trashbin
|
||
|
volumePercentage
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
|
||
|
meta = {
|
||
|
maintainers = with lib.maintainers; [ reo101 ];
|
||
|
};
|
||
|
}
|