aboutsummaryrefslogtreecommitdiff
path: root/modules/users/media/spicetify
diff options
context:
space:
mode:
authorLeander Scherer <leander@schererleander.de>2026-01-08 02:48:11 +0100
committerLeander Scherer <leander@schererleander.de>2026-01-08 19:08:12 +0100
commit6174f3650cf42aaf008012e828d5a1f8e2ce037f (patch)
tree9bbbd99680cd5adb56596a14734d4896bc6af733 /modules/users/media/spicetify
parentc582c4d0675aada46fa196b7af1941ed753d055f (diff)
refactor(modules): separate nixos/home-manager modules, use standard option conventions
Diffstat (limited to 'modules/users/media/spicetify')
-rw-r--r--modules/users/media/spicetify/default.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/modules/users/media/spicetify/default.nix b/modules/users/media/spicetify/default.nix
new file mode 100644
index 0000000..239f80f
--- /dev/null
+++ b/modules/users/media/spicetify/default.nix
@@ -0,0 +1,45 @@
+{
+ config,
+ lib,
+ pkgs,
+ inputs,
+ ...
+}:
+
+let
+ spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.system};
+ cfg = config.nx.media.spicetify;
+ inherit (lib) mkOption types mkIf;
+in
+{
+ imports = [ inputs.spicetify-nix.homeManagerModules.spicetify ];
+
+ options.nx.media.spicetify = {
+ enable = mkOption {
+ description = "Command-line tool to customize the official Spotify client";
+ type = types.bool;
+ default = false;
+ };
+ };
+
+ config = mkIf cfg.enable {
+ nixpkgs.config.allowUnfree = true;
+ programs.spicetify = {
+ enable = true;
+ enabledSnippets = with spicePkgs.snippets; [
+ pointer
+ sonicDancing
+ modernScrollbar
+ nyanCatProgressBar
+ declutterNowPlayingBar
+ ];
+
+ enabledExtensions = with spicePkgs.extensions; [
+ keyboardShortcut
+ ];
+
+ theme = spicePkgs.themes.sleek;
+ colorScheme = "Coral";
+ };
+ };
+}