docs icon indicating copy to clipboard operation
docs copied to clipboard

Mention spicetify-nix flake in linux documentation / installation instructions

Open the-argus opened this issue 2 years ago • 0 comments

📝 Provide a description of the new feature

Add the following instructions to https://spicetify.app/docs/advanced-usage/installation/ below the "AUR" and "Homebrew or Linuxbrew" sections:

Home Manager

If your linux installation uses Systemd (Fedora, Ubuntu, and Manjaro all use Systemd) then you can install the nix package manager and home-manager in order to manage spicetify. First, to install nix for all users on your system, run the following command and follow the interactive prompts:

sh <(curl -L https://nixos.org/nix/install) --daemon

More information on nix installation can be found at https://nixos.org/download.html Then, restart your terminal/shell and run the following command to enter a shell with home-manager and git installed. We'll be running the rest of these commands from inside this new shell. Type exit to leave it, if you need.

nix-shell -p home-manager git

Next, run the following commands to make a new home manager configuration for spicetify in your current directory.

mkdir ~/home-manager-config && cd ~/home-manager-config
nix flake init --template github:the-argus/spicetify-nix --extra-experimental-features nix-command --extra-experimental-features flakes
sed "0,/unknown_username/{s/unknown_username/$(whoami)/}" -i flake.nix
sed "0,/unknown_hostname/{s/unknown_hostname/$(hostname)/}" -i flake.nix
git init --initial-branch=main
git add .
home-manager switch --flake . --extra-experimental-features nix-command --extra-experimental-features flakes

The spotify that's in your path (or the new spotify that appeared in your app launchers) should now be a spiced version of spotify, complete with dribbblish and some custom apps and extensions. Run spotify & disown to launch it, or edit the spicetify.nix file to customize it. If you have any problems, also check out the README.md file.

➕ Additional Information

Benefits!

My biggest problem with spicetify is how finicky it is with in-place updates. The initial installation works, but everything breaks at any spicetify or spotify update. My nix flake (located here btw) fixes this problem because packages built in nix have no state. That is, they're built and installed fresh every time they update. Additionally, the package automates the tedious process which is currently necessary on linux of setting up the latest CSS map. Overall, I think the experience of using nix is way better than the spicetify cli.

possible issues

What I've written is definitely targeted at newish linux users, and may fail to get points across to intermediate users who may already have nix installed or are on NixOS but don't quite understand what the commands are meant to do. That's a small enough audience that I don't mind, though. They can figure it out, I think.

the-argus avatar Dec 06 '22 23:12 the-argus