feat(spotify): add spicetify-nix

Currenly not used (no support for `nix-darw`)
This commit is contained in:
reo101 2023-11-17 16:07:23 +02:00
parent 19ac5f4f5b
commit ca1e0b0c1b
Signed by: reo101
GPG key ID: 675AA7EF13964ACB
2 changed files with 80 additions and 0 deletions

View file

@ -73,6 +73,10 @@
url = "github:nix-community/NUR"; url = "github:nix-community/NUR";
}; };
spicetify-nix = {
url = "github:the-argus/spicetify-nix";
};
hardware = { hardware = {
url = "github:nixos/nixos-hardware"; url = "github:nixos/nixos-hardware";
}; };
@ -115,6 +119,7 @@
, agenix , agenix
, ragenix , ragenix
, nur , nur
, spicetify-nix
, hardware , hardware
, nix-colors , nix-colors
, neovim-nightly-overlay , neovim-nightly-overlay

View file

@ -0,0 +1,75 @@
{ inputs, outputs, ... }:
{ lib, pkgs, config, ... }:
let
cfg = config.reo101.spotify;
inherit (lib)
mkEnableOption mkOption types
mkIf optionals optionalString
mkMerge;
in
{
imports =
[
inputs.spicetify-nix.homeManagerModules.default
];
options =
{
reo101.spotify = {
enable = mkEnableOption "reo101 spotify setup";
};
};
config =
mkIf cfg.enable {
home.packages = with pkgs; [
spotify
];
programs.spicetify =
let
spicePkgs = inputs.spicetify-nix.packages.${pkgs.system}.default;
in
{
enable = true;
spotifyPackage = pkgs.spotify;
colorScheme = "text";
enabledExtensions = with spicePkgs.extensions; [
adblock
autoVolume
copyToClipboard
fullAlbumDate
fullAppDisplay
genre
goToSong
groupSession
hidePodcasts
history
keyboardShortcut
lastfm
listPlaylistsWithSong
loopyLoop
phraseToPlaylist
playNext
playlistIcons
playlistIntersection
popupLyrics
savePlaylists
showQueueDuration
shuffle # shuffle+
skipStats
songStats
trashbin
volumePercentage
];
};
};
meta = {
maintainers = with lib.maintainers; [ reo101 ];
};
}