reo101
2941536b80
Also stop passing `outputs` around, prefer `inputs.self` Also put all `auto_` in `readOnly` `internal` options - `autoModules`, `autoConfigurations` and `autoPackages` Do not export packages as overlay (causes an infinite recursion) - this is documented on the two places it has effect on -- in `./overlays/default.nix` and `./modules/flake/configurations.nix` -- in `autoConfigurations` we manually extend `pkgs` with the flake packages Allow packages to say what `systems` they are compatible with - See `./pkgs/swww/systems.nix` - disabled for all systems - See `./pkgs/pngpaste/systems.nix` - enabled only for `darwin` targets
75 lines
1.5 KiB
Nix
75 lines
1.5 KiB
Nix
{ inputs, ... }:
|
|
{ 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 ];
|
|
};
|
|
}
|