Adding proper Spicetify support to Nix

A little while ago, Spicetify was added to unstable

However, this is just step one in a proper way to use it. It want to edit the spotify installation, to theme it and add plugins to it.

A while back, I created this repo. GitHub - pietdevries94/spicetify-nix: DEPRICATED: A nix package for using spicetify

It overrides Spotify and adds some Spicetify steps to it to spice it up. My plan was to clean this up and make a PR in nixpkgs.

My question is, with my limited nix experience: what is the proper way to expose spicetify? A seperate package or as part of the spotify package with a wrapper of some sort.

If someone can give me a bit of advice, so I don’t put in effort in the wrong solution, that would be great :wink:

4 Likes

Hi, have you tried flakes? IMHO, with them the only profit that a package will have from being in nixpkgs is that you can find it in search. Flakes GREATLY improve the UX of installing a package from some other then nixpkgs repo, and I think nix is going into more distributed direction, instead of having a monorepo, you can easily install from some other source.

So I propose you do so: add flakes, and then, maybe, try to add your package to NUR.
I hope I will have some time in the future to write your package a flake, I have some experience with this, or you can try it yourself, feel free to ask me questions! (my telegram: @senchopens)

I think with spicetify it will be best to 1) make the flake expose a package 2) make the flake expose a NixOS module, so you can configure themes etc. from NixOS, I wrote a module on my own so I can help you with this too (it’s called base16.nix, it’s about theming, so maybe we can try to add direct spicetify base16-theming directly into it, it’ll be awesome).

For an example of how to expose a package and a module from a flake you can refer to my flake GitHub - SenchoPens/base16.nix: Theme applications with your favourite base16 colorschemes in Nix