Note: On Windows, only use pwsh
as shell! (not cmd
, not powershell
)
Either pick the latest installer for your platform from the releases or run the install.ps1 script
- First and foremost install the build dependencies: Git and Go
- Clone this repo:
git clone github.com/Delusoire/bespoke-cli && cd cli
- Run
go build
, this will create a newspicetify
executable in the working directory - This executable assumes a portable setup if the following structure is respected:
the name (and location) of the first folder doesn't matter
<folder>/ ├─ bin/ │ ├─ spicetify[.exe] ├─ config/
- [optional] Add the
<path/to/folder>/bin
path to your PATH environment variable for ease of access.- On Windows, run the following in pwsh:
$user = [EnvironmentVariableTarget]::User $path = [Environment]::GetEnvironmentVariable('PATH', $user) $path = "$path;$env:LOCALAPPDATA\Spicetify\bin" [Environment]::SetEnvironmentVariable('PATH', $path, $user)
- On a default macOS installation, run the following:
echo "$HOME/Library/Application Support/Spicetify/bin" >> /etc/paths
- On other platforms, you can perform a simple search on how to set the PATH environment variable
- On Windows, run the following in pwsh:
- Run
<path/to/folder>/bin/spicetify init
to initialize the Spicetify setup, It should create the following entries:or if ran in a portable structure:$XDG_CONFIG_HOME/ ├─ (S|s)picetify/ │ ├─ modules/ │ │ ├─ vault.json │ ├─ config.yaml
This only needs to be done once. If the command fails, try running it in an elevated shell (as Administrator)<folder>/ ├─ bin/ │ ├─ spicetify[.exe] ├─ config/ │ ├─ modules/ │ │ ├─ vault.json │ ├─ config.yaml
// TODO: register uri scheme and daemon/task.
- Run
spicetify sync
to download and install the latest hooks - Run
spicetify apply
to patch the Spotify desktop client, this needs only be done when using spicetify for the first time or when the Spotify client updates (and reverts all the patches).
You can always revert spicetify apply
by running spicetify fix
.
Moved to: https://github.com/Delusoire/bespoke-modules
If your Spotify installation is somewhat unusual, you must manually specify the
paths to the Spotify data and Spotify config folders. You can do that by
creating a config.yaml
file and adding a
spotify-data-path: path/to/spotify/data/
(and optionally a
spotify-config-path: path/to/spotify/config/
for more advanced dev workflows)
Furthermore, if the Spotify folder is Frozen (like the Microsoft Store version
of Spotify), you must tell spicetify to use mirror mode.
For the Microsoft Store version of Spotify, this would be enough:
$configPath = "$env:LOCALAPPDATA\Spicetify\config.yaml"
$spotifyPackage = Get-AppxPackage | Where-Object -Property Name -Eq "SpotifyAB.SpotifyMusic"
"mirror: true" >> $configPath
"spotify-data-path: $($spotifyPackage.InstallLocation)" >> $configPath
"spotify-exec-path: $env:LOCALAPPDATA\Microsoft\WindowsApps\Spotify.exe" >> $configPath
"spotify-config-path: $env:LOCALAPPDATA\Packages\$($spotifyPackage.PackageFamilyName)\LocalState\Spotify\" >> $configPath
GPLv3. See COPYING.
spicetify daemon [action]
spicetify pkg action
spicetify update on|off
// TODO