Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: cleanup installation page & improved cli page #103

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 0 additions & 34 deletions docs/advanced-usage/command-line-interface.md

This file was deleted.

90 changes: 90 additions & 0 deletions docs/advanced-usage/command-line.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
title: Command Line
description: 👾 Using Spicetify from the command line (CLI).
---

## Post Installation
:::tip

If you are coming off a fresh install of Spotify we recommend you open Spotify for atleast 60 seconds and login to generate the files that Spicetify depend on for application.

:::

Run with no command once to generate config file:

```bash
spicetify
```
Make sure config file is created successfully and there is no error.

Install addons and update your config file then run:

```bash
spicetify backup apply
```
:::note

If you use Linux or macOS, before applying Spicetify, you need to gain write permission on Spotify files, by running the commands:

```bash
sudo chmod a+wr /opt/spotify
sudo chmod a+wr /opt/spotify/Apps -R
```
*Your Spotify location may differ*

:::


From now, after changing colors in `color.ini` or CSS in `user.css`, you just need to run:

```bash
spicetify update
```

to update your theme.

In Spotify, hit <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>R</kbd> / <kbd>Command</kbd> <kbd>Shift</kbd> <kbd>R</kbd> to reload and receive visual update of your theme.

For other commands and additional flags information, please run:

```bash
spicetify --help
```

## Commands

### Chainable

- `backup`: Start backup and preprocessing app files.
- `apply`: Apply customization.
- `update`: By default, updates theme's CSS, JS, colors, and assets. Use with flag "-e" to update extensions.
- `restore`: Restore Spotify to its original state.
- `clear`: Clear current backup files.
- `enable-devtools`: Enable Spotify's developer tools.
- `restart`: Restart Spotify client.
- `watch`: Enter watch mode. To update on change, use with any combination of the following flags:
- "-e" (for extensions)
- "-a" (for custom apps)
- "-s" (for the active theme; color.ini, user.css, theme.js, and assets)
- "-l" (for extensions, custom apps, and active theme)

### Standalone

- `upgrade` Upgrade spicetify to the latest version.
- `path`: Prints path of Spotify's executable, userdata, and more.
- `path all`: all paths.
- `path`: executable path.
- `path userdata`: userdata path.
- Toggle focus with flags:
- "-e" (for extensions), options: root, extension name, blank for all.
- "-a" (for custom apps), options: root, app-name, blank for all.
- "-s" (for the active theme), options: root, folder, color, css, js, assets, blank for all.
- "-c" (for config.ini), options: N/A.

- `color`: Prints hex for color.inis.
- Print all color fields and values: `spicetify color`
- Change theme's one or multiple color values: `spicetify color <field> <value> [<field> <value> ...]`
- `<value>` can be in hex or decimal (rrr,ggg,bbb) format.
- Example usage:
- Change `main` to `ff0000`: `spicetify color main ff0000`
- Change `sidebar` to `00ff00` and `button` to `0000ff`: `spicetify color sidebar 00ff00 button 0000ff`
111 changes: 47 additions & 64 deletions docs/advanced-usage/installation.md
Original file line number Diff line number Diff line change
@@ -1,109 +1,93 @@
---
title: Installation
description: ⚡ An advanced view on how to install Spicetify.
description: ⚡ A simple guide to installing Spicetify on any platform.
---

:::tip
Please read our CLI [**usage**](./command-line.md#post-installation) guide after installing!
:::

## Windows

### Powershell (pre-built binary) - Recommended
### Powershell - Recommended

```powershell
iwr -useb https://raw.githubusercontent.com/spicetify/spicetify-cli/master/install.ps1 | iex
```

### Chocolatey

Follow this guide: https://chocolatey.org/packages/spicetify-cli
```
choco install spicetify-cli
```

### Winget

```powershell
winget install Spicetify.Spicetify
```

### Scoop


```powershell
scoop install spicetify-cli
```

#### Spotify installed from Scoop
:::note

- To find the location of your Spotify installation, run `scoop prefix spotify`.
If your Spotify has also been installed through Scoop, find the location of your Spotify installation by running:

```console
$ scoop prefix spotify
C:\Users\<username>\scoop\apps\spotify\current
```

After you have located it, set `spotify_path` to that directory in Spicetify's config file:
After you have located it, set your `spotify_path` to that directory in Spicetify's config file:

![scoop-spotify-path](https://user-images.githubusercontent.com/56180050/158084602-99428adf-93bb-4983-968f-14e1f4f5b253.png)
<details>
<summary>Example Image</summary>
<img src="https://user-images.githubusercontent.com/56180050/158084602-99428adf-93bb-4983-968f-14e1f4f5b253.png"></img>
</details>
:::

### Winget

```powershell
winget install Spicetify.Spicetify
```
## Linux and macOS

:::caution

## Linux and MacOS
You **cannot** use Spotify installed via Snap, please re-install it using the [**debian package**](https://www.spotify.com/us/download/linux/).

### Shell (pre-built binary) - Recommended
Flatpak Spotify users need to do some [**additional setup**](#flatpak-spotify).
:::

### Shell - Recommended

```bash
curl -fsSL https://raw.githubusercontent.com/spicetify/spicetify-cli/master/install.sh | sh
```

### Homebrew or LinuxBrew
### Homebrew/LinuxBrew

```bash
brew install spicetify/homebrew-tap/spicetify-cli
```

On macOS, you will need to set`spotify_path` to `/Applications/Spotify.app/Contents/Resources` in the `~/.config/spicetify/config-xpui.ini` config file.

### AUR

```bash
yay -S spicetify-cli
```

### Note for Linux users
:::tip

#### Spotify installed from AUR
If you also have Spotify installed from the AUR, we recommend you install [**spotify-edge**](https://aur.archlinux.org/packages/spotify-edge) instead.

Before applying Spicetify, you need to gain write permission on Spotify files, by running command:
This version of Spotify is more up-to-date as it repackages the Snap releases into a usable format.

```bash
sudo chmod a+wr /opt/spotify
sudo chmod a+wr /opt/spotify/Apps -R
```

**Note:** Your Spotify client location might be different.

#### Spotify installed via `spotify-launcher` package (Arch Linux)

If Spotify is installed through the `spotify-launcher` package, then Spotify won't install to `/opt/spotify` and is instead in this folder: `~/.local/share/spotify-launcher/install/usr/share/spotify/`
:::

This directory will need to be added to the `spotify-path` section of the config (and you won't need to change any permissions like the AUR method).

#### Spotify installed from Snap

Apps installed from Snap **cannot be modified** so you need to follow these steps to get Spicetify working:

1. Uninstall Spotify in Snap or run command `snap remove spotify`
2. Install Spotify using `apt`:

```sh
curl -sS https://download.spotify.com/debian/pubkey_7A3A762FAFD4A51F.gpg | sudo apt-key add -
echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list
sudo apt-get update && sudo apt-get install spotify-client
```

4. After Spotify is installed successfully, you need to gain read write permissions on Spotify files, by running commands:

```bash
sudo chmod a+wr /usr/share/spotify
sudo chmod a+wr /usr/share/spotify/Apps -R
```

**Note:** Your Spotify client location might be different.

#### Spotify installed from Flatpak
## Flatpak Spotify

- You need to find where Flatpak stores your Spotify client. In Manjaro, it is stored in:

Expand Down Expand Up @@ -141,27 +125,26 @@ sudo chmod a+wr /var/lib/flatpak/app/com.spotify.Client/x86_64/stable/active/fil
sudo chmod a+wr -R /var/lib/flatpak/app/com.spotify.Client/x86_64/stable/active/files/extra/share/spotify/Apps
```

## Legacy Installations

If, for some reason, you are not using the most up to date Spotify client, you may need to install a specific version of Spicetify.
This is not recommended as our prime focus will always be the latest Spotify version.
## Legacy Installation

As such, you will need to run either of the below commands with the desired version.
If you wish to use old Spotify client v1.1.56 or older, you have to install spicetify v1.2.1.
If you choose to use a legacy Spotify installation (v1.1.56 or lower) you will be required to install our legacy branch of Spicetify (v1.2.1 or lower).

**Windows**: In powershell
### Windows

#### Powershell
```powershell
$v="1.2.1"; Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/spicetify/spicetify-cli/master/install.ps1" | Invoke-Expression
```

**Linux/MacOS:** In bash
### Linux and MacOS

#### Shell
```bash
curl -fsSL https://raw.githubusercontent.com/spicetify/spicetify-cli/master/install.sh -o /tmp/install.sh
sh /tmp/install.sh 1.2.1
```

spicetify v1 code is available in branch [`legacy`](https://github.com/spicetify/spicetify-cli/tree/legacy) if you want to build from source.
### Misc
Spicetify V1 code is available in our [`legacy`](https://github.com/spicetify/spicetify-cli/tree/legacy) branch if you want to build from source.

If you want legacy themes, you can find them [here](https://github.com/spicetify/spicetify-themes/tree/legacy).
Legacy themes can be located [here](https://github.com/spicetify/spicetify-themes/tree/legacy).
2 changes: 1 addition & 1 deletion sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ const sidebars = {
items: [
'advanced-usage/installation',
'advanced-usage/uninstallation',
'advanced-usage/command-line-interface',
'advanced-usage/command-line',
'advanced-usage/themes',
'advanced-usage/extensions',
'advanced-usage/custom-apps',
Expand Down