feat: add spotify/spicetify module

This commit is contained in:
Michael Thomas 2025-05-17 15:53:06 -04:00
parent 03ba8a4861
commit dedc9265bf
4 changed files with 140 additions and 47 deletions

View File

@ -0,0 +1,38 @@
{
inputs,
pkgs,
lib,
config,
...
}: let
cfg = config.my.spotify;
in {
imports =
if pkgs.stdenv.isDarwin
then [
inputs.spicetify.darwinModules.spicetify
]
else [
inputs.spicetify.nixosModules.spicetify
];
options.my.spotify = {
enable = lib.mkEnableOption "spotify";
};
config = lib.mkIf cfg.enable (
let
spicePkgs = inputs.spicetify.legacyPackages.${pkgs.stdenv.system};
in {
programs.spicetify = {
enable = true;
enabledExtensions = with spicePkgs.extensions; [
adblockify
keyboardShortcut
];
theme = spicePkgs.themes.text;
colorScheme = "gruvbox";
};
}
);
}

133
flake.lock generated
View File

@ -26,18 +26,21 @@
"ags": {
"inputs": {
"astal": "astal",
"nixpkgs": "nixpkgs"
"nixpkgs": [
"hyprpanel",
"nixpkgs"
]
},
"locked": {
"lastModified": 1744557573,
"narHash": "sha256-XAyj0iDuI51BytJ1PwN53uLpzTDdznPDQFG4RwihlTQ=",
"owner": "Aylur",
"lastModified": 1736090999,
"narHash": "sha256-B5CJuHqfJrzPa7tObK0H9669/EClSHpa/P7B9EuvElU=",
"owner": "aylur",
"repo": "ags",
"rev": "3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6",
"rev": "5527c3c07d92c11e04e7fd99d58429493dba7e3c",
"type": "github"
},
"original": {
"owner": "Aylur",
"owner": "aylur",
"repo": "ags",
"type": "github"
}
@ -45,16 +48,17 @@
"astal": {
"inputs": {
"nixpkgs": [
"hyprpanel",
"ags",
"nixpkgs"
]
},
"locked": {
"lastModified": 1742571008,
"narHash": "sha256-5WgfJAeBpxiKbTR/gJvxrGYfqQRge5aUDcGKmU1YZ1Q=",
"lastModified": 1735172721,
"narHash": "sha256-rtEAwGsHSppnkR3Qg3eRJ6Xh/F84IY9CrBBLzYabalY=",
"owner": "aylur",
"repo": "astal",
"rev": "dc0e5d37abe9424c53dcbd2506a4886ffee6296e",
"rev": "6c84b64efc736e039a8a10774a4a1bf772c37aa2",
"type": "github"
},
"original": {
@ -260,6 +264,27 @@
"type": "github"
}
},
"hyprpanel": {
"inputs": {
"ags": "ags",
"nixpkgs": [
"unstable"
]
},
"locked": {
"lastModified": 1745885816,
"narHash": "sha256-yuIb6/gGcII+2YgtTLcYdga0pcL63B18xQ/oitOhg7k=",
"owner": "jas-singhfsu",
"repo": "hyprpanel",
"rev": "0c82ce9704c8063be8d8f60443071c91943eb68c",
"type": "github"
},
"original": {
"owner": "jas-singhfsu",
"repo": "hyprpanel",
"type": "github"
}
},
"ixx": {
"inputs": {
"flake-utils": [
@ -306,7 +331,7 @@
"nix-vscode-extensions": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_2"
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1746755975,
@ -325,7 +350,7 @@
"nixos-wsl": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": "nixpkgs_3"
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1746453552,
@ -344,17 +369,17 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1743583204,
"narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=",
"owner": "nixos",
"lastModified": 1744868846,
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434",
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
"type": "github"
}
},
@ -374,22 +399,6 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1744868846,
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1742937945,
"narHash": "sha256-lWc+79eZRyvHp/SqMhHTMzZVhpxkRvthsP1Qx6UCq0E=",
@ -405,7 +414,7 @@
"type": "github"
}
},
"nixpkgs_4": {
"nixpkgs_3": {
"locked": {
"lastModified": 1746557022,
"narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=",
@ -420,7 +429,7 @@
"type": "indirect"
}
},
"nixpkgs_5": {
"nixpkgs_4": {
"locked": {
"lastModified": 1746663147,
"narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=",
@ -436,7 +445,7 @@
"type": "github"
}
},
"nixpkgs_6": {
"nixpkgs_5": {
"locked": {
"lastModified": 1744536153,
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
@ -452,7 +461,7 @@
"type": "github"
}
},
"nixpkgs_7": {
"nixpkgs_6": {
"locked": {
"lastModified": 1745377448,
"narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=",
@ -493,7 +502,7 @@
"nur": {
"inputs": {
"flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs_5",
"nixpkgs": "nixpkgs_4",
"treefmt-nix": "treefmt-nix"
},
"locked": {
@ -536,17 +545,18 @@
"root": {
"inputs": {
"agenix": "agenix",
"ags": "ags",
"darwin": "darwin_2",
"flake-parts": "flake-parts",
"home-manager": "home-manager_2",
"hyprpanel": "hyprpanel",
"master": "master",
"nix-vscode-extensions": "nix-vscode-extensions",
"nixos-wsl": "nixos-wsl",
"nixpkgs": "nixpkgs_4",
"nixpkgs": "nixpkgs_3",
"nixvim": "nixvim",
"nur": "nur",
"rust-overlay": "rust-overlay",
"spicetify": "spicetify",
"treefmt-nix": "treefmt-nix_2",
"unstable": "unstable",
"utils": "utils",
@ -555,7 +565,7 @@
},
"rust-overlay": {
"inputs": {
"nixpkgs": "nixpkgs_6"
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1746758179,
@ -571,6 +581,28 @@
"type": "github"
}
},
"spicetify": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_4"
},
"locked": {
"lastModified": 1743595372,
"narHash": "sha256-e3x1mhpPpYgyyin9j/VbrBpOT5PFpEfx2hkxVZuJZhg=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "543f12dd14c62ddee79ab79fbfd8726f312b89ff",
"type": "github"
},
"original": {
"owner": "Gerg-L",
"ref": "24.11",
"repo": "spicetify-nix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
@ -631,6 +663,21 @@
"type": "github"
}
},
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
@ -654,7 +701,7 @@
},
"treefmt-nix_2": {
"inputs": {
"nixpkgs": "nixpkgs_7"
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1746216483,
@ -687,7 +734,7 @@
},
"utils": {
"inputs": {
"systems": "systems_4"
"systems": "systems_5"
},
"locked": {
"lastModified": 1731533236,

View File

@ -26,6 +26,10 @@
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "unstable";
};
spicetify = {
url = "github:Gerg-L/spicetify-nix/24.11";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser = {
url = "github:youwen5/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";

View File

@ -69,10 +69,14 @@
programs.zsh.enable = true;
environment.variables.EDITOR = "nvim";
my.hyprland.enable = true;
my.libreoffice.enable = true;
my.steam.enable = true;
my.utilities.enable = true;
my = {
hyprland.enable = true;
libreoffice.enable = true;
steam.enable = true;
spotify.enable = true;
utilities.enable = true;
zed.enable = true;
};
# Define a user account. Don't forget to set a password with passwd.
users.users.michael = {