60 lines
1.3 KiB
Nix
Raw Normal View History

{
config,
lib,
pkgs,
2025-07-18 16:19:56 +03:00
inputs,
...
}:
let
2025-07-18 16:19:56 +03:00
inherit (lib) mkEnableOption mkIf;
cfg = config.ataraxia.programs.spotify;
2025-07-18 16:19:56 +03:00
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.hostPlatform.system};
in
{
2025-07-18 16:19:56 +03:00
imports = [ inputs.spicetify-nix.homeManagerModules.default ];
options.ataraxia.programs.spotify = {
enable = mkEnableOption "Enable spotify program";
2025-07-18 16:19:56 +03:00
spicetify = mkEnableOption "Enable spicetify module" // {
default = true;
};
};
config = mkIf cfg.enable {
2025-07-18 16:19:56 +03:00
programs.spicetify = mkIf cfg.spicetify {
enable = true;
experimentalFeatures = true;
enabledExtensions = with spicePkgs.extensions; [
adblockify
hidePodcasts
shuffle
];
theme = spicePkgs.themes.catppuccin;
colorScheme = if config ? catppuccin then config.catppuccin.flavor else "mocha";
windowManagerPatch = true;
};
home.packages = mkIf (!cfg.spicetify) [
pkgs.spotifywm
];
defaultApplications.spotify = {
2025-07-18 16:19:56 +03:00
cmd =
if cfg.spicetify then
"${config.programs.spicetify.spicedSpotify}/bin/spotify"
else
"${pkgs.spotifywm}/bin/spotify";
desktop = "spotify";
};
startupApplications = [
config.defaultApplications.spotify.cmd
];
persist.state.directories = [
".config/spotify"
];
};
}