{ inputs, self, ... }: { flake.nixosModules.graphics = { lib, ... }: { options.features.applications.gui.spotify = { enable = lib.mkEnableOption "spotify"; spicetify.enable = lib.mkEnableOption "spicetify"; }; }; flake.homeModules.graphics = { pkgs, config, lib, osConfig, ... }: { imports = [ inputs.spicetify.homeManagerModules.default ]; config = { home.packages = lib.mkIf (with osConfig.features.applications.gui.spotify; enable && !spicetify.enable) (with pkgs; [ spotify ]); programs.spicetify = let spicePkgs = inputs.spicetify.legacyPackages.${pkgs.stdenv.hostPlatform.system}; in lib.mkIf (with osConfig.features.applications.gui.spotify; enable && spicetify.enable) { enable = true; enabledExtensions = with spicePkgs.extensions; [ hidePodcasts ]; enabledSnippets = with spicePkgs.snippets; [ spinningCdCoverArt oneko hideMiniPlayerButton hideFullScreenButton declutterNowPlayingBar modernScrollbar ]; enabledCustomApps = with spicePkgs.apps; [ # marketplace ]; }; }; }; }