diff --git a/flake.lock b/flake.lock index 5e595cb..2a9c469 100644 --- a/flake.lock +++ b/flake.lock @@ -347,6 +347,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1768564909, + "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1768380750, "narHash": "sha256-V5drPOmaGA7bszxKxyViYEZyT2h6RYa/Ll+3aJL4Grs=", @@ -414,6 +430,7 @@ "nixpkgs": "nixpkgs", "pumo-system-info": "pumo-system-info", "sops-nix": "sops-nix", + "spicetify": "spicetify", "srvos": "srvos", "zen-browser": "zen-browser" } @@ -459,9 +476,28 @@ "type": "github" } }, + "spicetify": { + "inputs": { + "nixpkgs": "nixpkgs_2", + "systems": "systems_2" + }, + "locked": { + "lastModified": 1768656845, + "narHash": "sha256-xNlXMyn7yc3Z/NOsz4NchO7gWFwsoCvtJ26pys4s2/M=", + "owner": "Gerg-L", + "repo": "spicetify-nix", + "rev": "8bd7e49d5ac62756bee6e4b02221fb96bfc3c99a", + "type": "github" + }, + "original": { + "owner": "Gerg-L", + "repo": "spicetify-nix", + "type": "github" + } + }, "srvos": { "inputs": { - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1768523683, @@ -492,6 +528,21 @@ "type": "github" } }, + "systems_2": { + "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": [ diff --git a/flake.nix b/flake.nix index a8aa69f..133473c 100644 --- a/flake.nix +++ b/flake.nix @@ -34,6 +34,8 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + spicetify.url = "github:Gerg-L/spicetify-nix"; + srvos.url = "github:nix-community/srvos"; zen-browser = { @@ -91,6 +93,7 @@ pkgs = nixpkgs.legacyPackages.x86_64-linux; defaultUserModules = [ inputs.sops-nix.homeManagerModules.sops + inputs.spicetify.homeManagerModules.default ]; withUserModules = modules: nixpkgs.lib.lists.flatten (defaultUserModules ++ [modules]); in { diff --git a/users/modules/desktop/default.nix b/users/modules/desktop/default.nix index 6942e5f..7c0671c 100644 --- a/users/modules/desktop/default.nix +++ b/users/modules/desktop/default.nix @@ -15,6 +15,7 @@ in { ./obs.nix ./qt.nix ./rofi + ./spotify.nix ./swaync.nix ./waybar.nix ./wlr-which-key.nix @@ -30,6 +31,8 @@ in { obs.enable = mkDefault cfg.fullDesktop; qt.enable = mkDefault cfg.fullDesktop; rofi.enable = mkDefault cfg.fullDesktop; + spotify.enable = mkDefault cfg.fullDesktop; + spotify.spicetify.enable = mkDefault cfg.fullDesktop; wlr-which-key.enable = mkDefault cfg.fullDesktop; }; } diff --git a/users/modules/desktop/spotify.nix b/users/modules/desktop/spotify.nix new file mode 100644 index 0000000..f00b1de --- /dev/null +++ b/users/modules/desktop/spotify.nix @@ -0,0 +1,25 @@ +{ + pkgs, + config, + lib, + inputs, + ... +}: +with lib; let + cfg = config.home.desktop.spotify; + system = pkgs.stdenv.hostPlatform.system; + spicePkgs = inputs.spicetify.legacyPackages.${system}; +in { + options.home.desktop.spotify = { + enable = mkEnableOption "Enable Spotify"; + spicetify.enable = mkEnableOption "Enable Spicetify"; + }; + config.programs = mkIf cfg.enable { + spotify-player.enable = cfg.enable; + spicetify = mkIf cfg.spicetify.enable { + inherit (cfg.spicetify) enable; + theme = spicePkgs.themes.sleek; + colorScheme = "Nord"; + }; + }; +} diff --git a/users/phundrak/packages.nix b/users/phundrak/packages.nix index 8a54c0a..13ef99b 100644 --- a/users/phundrak/packages.nix +++ b/users/phundrak/packages.nix @@ -30,7 +30,6 @@ in { plexamp plex-desktop spicetify-cli - spotify pavucontrol # Volume control # Social