@fredlackey/devutils 0.0.18 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/README.md +214 -141
  2. package/package.json +8 -83
  3. package/src/api/loader.js +229 -0
  4. package/src/api/registry.json +62 -0
  5. package/src/cli.js +293 -60
  6. package/src/commands/ai/index.js +16 -0
  7. package/src/commands/ai/launch.js +112 -0
  8. package/src/commands/ai/list.js +54 -0
  9. package/src/commands/ai/resume.js +70 -0
  10. package/src/commands/ai/sessions.js +121 -0
  11. package/src/commands/ai/set.js +131 -0
  12. package/src/commands/ai/show.js +74 -0
  13. package/src/commands/ai/tools.js +46 -0
  14. package/src/commands/alias/add.js +93 -0
  15. package/src/commands/alias/helpers.js +107 -0
  16. package/src/commands/alias/index.js +14 -0
  17. package/src/commands/alias/list.js +55 -0
  18. package/src/commands/alias/remove.js +62 -0
  19. package/src/commands/alias/sync.js +109 -0
  20. package/src/commands/api/disable.js +73 -0
  21. package/src/commands/api/enable.js +148 -0
  22. package/src/commands/api/index.js +15 -0
  23. package/src/commands/api/list.js +66 -0
  24. package/src/commands/api/update.js +87 -0
  25. package/src/commands/auth/index.js +15 -0
  26. package/src/commands/auth/list.js +49 -0
  27. package/src/commands/auth/login.js +384 -0
  28. package/src/commands/auth/logout.js +111 -0
  29. package/src/commands/auth/refresh.js +184 -0
  30. package/src/commands/auth/services.js +169 -0
  31. package/src/commands/auth/status.js +104 -0
  32. package/src/commands/config/export.js +224 -0
  33. package/src/commands/config/get.js +52 -0
  34. package/src/commands/config/import.js +308 -0
  35. package/src/commands/config/index.js +17 -0
  36. package/src/commands/config/init.js +143 -0
  37. package/src/commands/config/reset.js +57 -0
  38. package/src/commands/config/set.js +93 -0
  39. package/src/commands/config/show.js +35 -0
  40. package/src/commands/help.js +338 -0
  41. package/src/commands/identity/add.js +133 -0
  42. package/src/commands/identity/index.js +17 -0
  43. package/src/commands/identity/link.js +76 -0
  44. package/src/commands/identity/list.js +48 -0
  45. package/src/commands/identity/remove.js +72 -0
  46. package/src/commands/identity/show.js +65 -0
  47. package/src/commands/identity/sync.js +172 -0
  48. package/src/commands/identity/unlink.js +57 -0
  49. package/src/commands/ignore/add.js +165 -0
  50. package/src/commands/ignore/index.js +14 -0
  51. package/src/commands/ignore/list.js +89 -0
  52. package/src/commands/ignore/markers.js +43 -0
  53. package/src/commands/ignore/remove.js +164 -0
  54. package/src/commands/ignore/show.js +169 -0
  55. package/src/commands/machine/detect.js +122 -0
  56. package/src/commands/machine/index.js +14 -0
  57. package/src/commands/machine/list.js +74 -0
  58. package/src/commands/machine/set.js +106 -0
  59. package/src/commands/machine/show.js +35 -0
  60. package/src/commands/schema.js +152 -0
  61. package/src/commands/search/collections.js +134 -0
  62. package/src/commands/search/get.js +71 -0
  63. package/src/commands/search/index-cmd.js +54 -0
  64. package/src/commands/search/index.js +21 -0
  65. package/src/commands/search/keyword.js +60 -0
  66. package/src/commands/search/qmd.js +70 -0
  67. package/src/commands/search/query.js +64 -0
  68. package/src/commands/search/semantic.js +62 -0
  69. package/src/commands/search/status.js +46 -0
  70. package/src/commands/status.js +224 -171
  71. package/src/commands/tools/check.js +79 -0
  72. package/src/commands/tools/index.js +14 -0
  73. package/src/commands/tools/install.js +110 -0
  74. package/src/commands/tools/list.js +91 -0
  75. package/src/commands/tools/search.js +60 -0
  76. package/src/commands/update.js +83 -112
  77. package/src/commands/util/add.js +151 -0
  78. package/src/commands/util/index.js +15 -0
  79. package/src/commands/util/list.js +97 -0
  80. package/src/commands/util/remove.js +76 -0
  81. package/src/commands/util/run.js +79 -0
  82. package/src/commands/util/show.js +67 -0
  83. package/src/commands/version.js +21 -88
  84. package/src/installers/_template.js +104 -0
  85. package/src/installers/git.js +150 -0
  86. package/src/installers/homebrew.js +190 -0
  87. package/src/installers/node.js +223 -0
  88. package/src/installers/registry.json +29 -0
  89. package/src/lib/config.js +125 -0
  90. package/src/lib/detect.js +74 -0
  91. package/src/lib/errors.js +114 -0
  92. package/src/lib/github.js +315 -0
  93. package/src/lib/installer.js +225 -0
  94. package/src/lib/output.js +239 -0
  95. package/src/lib/platform.js +112 -0
  96. package/src/lib/platforms/amazon-linux.js +41 -0
  97. package/src/lib/platforms/gitbash.js +46 -0
  98. package/src/lib/platforms/macos.js +45 -0
  99. package/src/lib/platforms/raspbian.js +41 -0
  100. package/src/lib/platforms/ubuntu.js +39 -0
  101. package/src/lib/platforms/windows.js +45 -0
  102. package/src/lib/prompt.js +161 -0
  103. package/src/lib/schema.js +211 -0
  104. package/src/lib/shell.js +75 -0
  105. package/src/patterns/gitignore/claude-code.txt +25 -0
  106. package/src/patterns/gitignore/docker.txt +15 -0
  107. package/src/patterns/gitignore/go.txt +24 -0
  108. package/src/patterns/gitignore/java.txt +38 -0
  109. package/src/patterns/gitignore/jetbrains.txt +26 -0
  110. package/src/patterns/gitignore/linux.txt +18 -0
  111. package/src/patterns/gitignore/macos.txt +27 -0
  112. package/src/patterns/gitignore/node.txt +51 -0
  113. package/src/patterns/gitignore/python.txt +55 -0
  114. package/src/patterns/gitignore/rust.txt +14 -0
  115. package/src/patterns/gitignore/terraform.txt +30 -0
  116. package/src/patterns/gitignore/vscode.txt +15 -0
  117. package/src/patterns/gitignore/windows.txt +25 -0
  118. package/src/utils/clone/index.js +165 -0
  119. package/src/utils/git-push/index.js +230 -0
  120. package/src/utils/git-status/index.js +116 -0
  121. package/src/utils/git-status/unix.sh +75 -0
  122. package/src/utils/registry.json +41 -0
  123. package/bin/dev.js +0 -16
  124. package/files/README.md +0 -0
  125. package/files/claude/.claude/commands/setup-context.md +0 -3
  126. package/files/monorepos/_archive/README.md +0 -36
  127. package/files/monorepos/_legacy/README.md +0 -36
  128. package/files/monorepos/ai-docs/README.md +0 -33
  129. package/files/monorepos/apps/README.md +0 -24
  130. package/files/monorepos/docs/README.md +0 -40
  131. package/files/monorepos/packages/README.md +0 -25
  132. package/files/monorepos/research/README.md +0 -29
  133. package/files/monorepos/scripts/README.md +0 -24
  134. package/src/commands/README.md +0 -41
  135. package/src/commands/configure.js +0 -199
  136. package/src/commands/identity.js +0 -1630
  137. package/src/commands/ignore.js +0 -247
  138. package/src/commands/install.js +0 -526
  139. package/src/commands/setup.js +0 -246
  140. package/src/completion.js +0 -284
  141. package/src/constants.js +0 -45
  142. package/src/ignore/claude-code.txt +0 -10
  143. package/src/ignore/docker.txt +0 -18
  144. package/src/ignore/linux.txt +0 -23
  145. package/src/ignore/macos.txt +0 -36
  146. package/src/ignore/node.txt +0 -55
  147. package/src/ignore/terraform.txt +0 -37
  148. package/src/ignore/vscode.txt +0 -18
  149. package/src/ignore/windows.txt +0 -35
  150. package/src/index.js +0 -0
  151. package/src/installs/README.md +0 -399
  152. package/src/installs/adobe-creative-cloud.js +0 -546
  153. package/src/installs/adobe-creative-cloud.md +0 -605
  154. package/src/installs/appcleaner.js +0 -321
  155. package/src/installs/appcleaner.md +0 -699
  156. package/src/installs/apt-transport-https.js +0 -390
  157. package/src/installs/apt-transport-https.md +0 -678
  158. package/src/installs/atomicparsley.js +0 -642
  159. package/src/installs/atomicparsley.md +0 -795
  160. package/src/installs/aws-cli.js +0 -797
  161. package/src/installs/aws-cli.md +0 -727
  162. package/src/installs/balena-etcher.js +0 -710
  163. package/src/installs/balena-etcher.md +0 -761
  164. package/src/installs/bambu-studio.js +0 -1143
  165. package/src/installs/bambu-studio.md +0 -780
  166. package/src/installs/bash-completion.js +0 -575
  167. package/src/installs/bash-completion.md +0 -833
  168. package/src/installs/bash.js +0 -417
  169. package/src/installs/bash.md +0 -993
  170. package/src/installs/beyond-compare.js +0 -603
  171. package/src/installs/beyond-compare.md +0 -813
  172. package/src/installs/brave-browser.js +0 -968
  173. package/src/installs/brave-browser.md +0 -650
  174. package/src/installs/build-essential.js +0 -529
  175. package/src/installs/build-essential.md +0 -977
  176. package/src/installs/ca-certificates.js +0 -618
  177. package/src/installs/ca-certificates.md +0 -937
  178. package/src/installs/caffeine.js +0 -508
  179. package/src/installs/caffeine.md +0 -839
  180. package/src/installs/camtasia.js +0 -596
  181. package/src/installs/camtasia.md +0 -762
  182. package/src/installs/chatgpt.js +0 -476
  183. package/src/installs/chatgpt.md +0 -814
  184. package/src/installs/chocolatey.js +0 -456
  185. package/src/installs/chocolatey.md +0 -661
  186. package/src/installs/chrome-canary.js +0 -419
  187. package/src/installs/chrome-canary.md +0 -641
  188. package/src/installs/chromium.js +0 -667
  189. package/src/installs/chromium.md +0 -838
  190. package/src/installs/claude-code.js +0 -576
  191. package/src/installs/claude-code.md +0 -1173
  192. package/src/installs/cloudflare-warp.js +0 -900
  193. package/src/installs/cloudflare-warp.md +0 -1047
  194. package/src/installs/comet-browser.js +0 -588
  195. package/src/installs/comet-browser.md +0 -731
  196. package/src/installs/curl.js +0 -379
  197. package/src/installs/curl.md +0 -714
  198. package/src/installs/cursor.js +0 -579
  199. package/src/installs/cursor.md +0 -970
  200. package/src/installs/dbeaver.js +0 -924
  201. package/src/installs/dbeaver.md +0 -939
  202. package/src/installs/dbschema.js +0 -692
  203. package/src/installs/dbschema.md +0 -925
  204. package/src/installs/dependencies.md +0 -453
  205. package/src/installs/development-tools.js +0 -600
  206. package/src/installs/development-tools.md +0 -977
  207. package/src/installs/docker.js +0 -1029
  208. package/src/installs/docker.md +0 -1109
  209. package/src/installs/drawio.js +0 -1019
  210. package/src/installs/drawio.md +0 -795
  211. package/src/installs/elmedia-player.js +0 -347
  212. package/src/installs/elmedia-player.md +0 -556
  213. package/src/installs/ffmpeg.js +0 -889
  214. package/src/installs/ffmpeg.md +0 -852
  215. package/src/installs/file.js +0 -464
  216. package/src/installs/file.md +0 -987
  217. package/src/installs/gemini-cli.js +0 -811
  218. package/src/installs/gemini-cli.md +0 -1153
  219. package/src/installs/git.js +0 -400
  220. package/src/installs/git.md +0 -907
  221. package/src/installs/gitego.js +0 -949
  222. package/src/installs/gitego.md +0 -1172
  223. package/src/installs/go.js +0 -931
  224. package/src/installs/go.md +0 -958
  225. package/src/installs/google-antigravity.js +0 -913
  226. package/src/installs/google-antigravity.md +0 -1075
  227. package/src/installs/google-chrome.js +0 -833
  228. package/src/installs/google-chrome.md +0 -862
  229. package/src/installs/gpg.js +0 -480
  230. package/src/installs/gpg.md +0 -1056
  231. package/src/installs/homebrew.js +0 -1028
  232. package/src/installs/homebrew.md +0 -988
  233. package/src/installs/imageoptim.js +0 -968
  234. package/src/installs/imageoptim.md +0 -1119
  235. package/src/installs/installers.json +0 -4032
  236. package/src/installs/installers.json.tmp +0 -3953
  237. package/src/installs/jq.js +0 -400
  238. package/src/installs/jq.md +0 -809
  239. package/src/installs/keyboard-maestro.js +0 -719
  240. package/src/installs/keyboard-maestro.md +0 -825
  241. package/src/installs/kiro.js +0 -864
  242. package/src/installs/kiro.md +0 -1015
  243. package/src/installs/latex.js +0 -789
  244. package/src/installs/latex.md +0 -1095
  245. package/src/installs/lftp.js +0 -356
  246. package/src/installs/lftp.md +0 -907
  247. package/src/installs/lsb-release.js +0 -346
  248. package/src/installs/lsb-release.md +0 -814
  249. package/src/installs/messenger.js +0 -847
  250. package/src/installs/messenger.md +0 -900
  251. package/src/installs/microsoft-office.js +0 -568
  252. package/src/installs/microsoft-office.md +0 -760
  253. package/src/installs/microsoft-teams.js +0 -801
  254. package/src/installs/microsoft-teams.md +0 -886
  255. package/src/installs/moom.js +0 -326
  256. package/src/installs/moom.md +0 -570
  257. package/src/installs/node.js +0 -904
  258. package/src/installs/node.md +0 -1153
  259. package/src/installs/nordpass.js +0 -716
  260. package/src/installs/nordpass.md +0 -921
  261. package/src/installs/nordvpn.js +0 -892
  262. package/src/installs/nordvpn.md +0 -1052
  263. package/src/installs/nvm.js +0 -995
  264. package/src/installs/nvm.md +0 -1057
  265. package/src/installs/ohmyzsh.js +0 -529
  266. package/src/installs/ohmyzsh.md +0 -1094
  267. package/src/installs/openssh.js +0 -804
  268. package/src/installs/openssh.md +0 -1056
  269. package/src/installs/pandoc.js +0 -662
  270. package/src/installs/pandoc.md +0 -1036
  271. package/src/installs/parallels-desktop.js +0 -431
  272. package/src/installs/parallels-desktop.md +0 -446
  273. package/src/installs/pinentry.js +0 -510
  274. package/src/installs/pinentry.md +0 -1142
  275. package/src/installs/pngyu.js +0 -869
  276. package/src/installs/pngyu.md +0 -896
  277. package/src/installs/postman.js +0 -799
  278. package/src/installs/postman.md +0 -940
  279. package/src/installs/procps.js +0 -425
  280. package/src/installs/procps.md +0 -851
  281. package/src/installs/safari-tech-preview.js +0 -374
  282. package/src/installs/safari-tech-preview.md +0 -533
  283. package/src/installs/sfnt2woff.js +0 -658
  284. package/src/installs/sfnt2woff.md +0 -795
  285. package/src/installs/shellcheck.js +0 -481
  286. package/src/installs/shellcheck.md +0 -1005
  287. package/src/installs/slack.js +0 -741
  288. package/src/installs/slack.md +0 -865
  289. package/src/installs/snagit.js +0 -585
  290. package/src/installs/snagit.md +0 -844
  291. package/src/installs/software-properties-common.js +0 -372
  292. package/src/installs/software-properties-common.md +0 -805
  293. package/src/installs/spotify.js +0 -877
  294. package/src/installs/spotify.md +0 -901
  295. package/src/installs/studio-3t.js +0 -823
  296. package/src/installs/studio-3t.md +0 -918
  297. package/src/installs/sublime-text.js +0 -804
  298. package/src/installs/sublime-text.md +0 -914
  299. package/src/installs/superwhisper.js +0 -706
  300. package/src/installs/superwhisper.md +0 -630
  301. package/src/installs/tailscale.js +0 -745
  302. package/src/installs/tailscale.md +0 -1100
  303. package/src/installs/tar.js +0 -389
  304. package/src/installs/tar.md +0 -946
  305. package/src/installs/termius.js +0 -798
  306. package/src/installs/termius.md +0 -844
  307. package/src/installs/terraform.js +0 -779
  308. package/src/installs/terraform.md +0 -899
  309. package/src/installs/tfenv.js +0 -778
  310. package/src/installs/tfenv.md +0 -1091
  311. package/src/installs/tidal.js +0 -771
  312. package/src/installs/tidal.md +0 -864
  313. package/src/installs/tmux.js +0 -346
  314. package/src/installs/tmux.md +0 -1030
  315. package/src/installs/tree.js +0 -411
  316. package/src/installs/tree.md +0 -833
  317. package/src/installs/unzip.js +0 -460
  318. package/src/installs/unzip.md +0 -879
  319. package/src/installs/vim.js +0 -421
  320. package/src/installs/vim.md +0 -1040
  321. package/src/installs/vlc.js +0 -821
  322. package/src/installs/vlc.md +0 -927
  323. package/src/installs/vscode.js +0 -843
  324. package/src/installs/vscode.md +0 -1002
  325. package/src/installs/wget.js +0 -420
  326. package/src/installs/wget.md +0 -791
  327. package/src/installs/whatsapp.js +0 -729
  328. package/src/installs/whatsapp.md +0 -854
  329. package/src/installs/winpty.js +0 -352
  330. package/src/installs/winpty.md +0 -620
  331. package/src/installs/woff2.js +0 -553
  332. package/src/installs/woff2.md +0 -977
  333. package/src/installs/wsl.js +0 -572
  334. package/src/installs/wsl.md +0 -699
  335. package/src/installs/xcode-clt.js +0 -520
  336. package/src/installs/xcode-clt.md +0 -351
  337. package/src/installs/xcode.js +0 -560
  338. package/src/installs/xcode.md +0 -573
  339. package/src/installs/yarn.js +0 -824
  340. package/src/installs/yarn.md +0 -1074
  341. package/src/installs/yq.js +0 -654
  342. package/src/installs/yq.md +0 -944
  343. package/src/installs/yt-dlp.js +0 -701
  344. package/src/installs/yt-dlp.md +0 -946
  345. package/src/installs/yum-utils.js +0 -297
  346. package/src/installs/yum-utils.md +0 -648
  347. package/src/installs/zoom.js +0 -759
  348. package/src/installs/zoom.md +0 -884
  349. package/src/installs/zsh.js +0 -455
  350. package/src/installs/zsh.md +0 -1008
  351. package/src/scripts/README.md +0 -617
  352. package/src/scripts/STATUS.md +0 -208
  353. package/src/scripts/afk.js +0 -411
  354. package/src/scripts/backup-all.js +0 -746
  355. package/src/scripts/backup-source.js +0 -727
  356. package/src/scripts/brewd.js +0 -389
  357. package/src/scripts/brewi.js +0 -520
  358. package/src/scripts/brewr.js +0 -527
  359. package/src/scripts/brews.js +0 -477
  360. package/src/scripts/brewu.js +0 -504
  361. package/src/scripts/c.js +0 -201
  362. package/src/scripts/ccurl.js +0 -341
  363. package/src/scripts/certbot-crontab-init.js +0 -504
  364. package/src/scripts/certbot-init.js +0 -657
  365. package/src/scripts/ch.js +0 -355
  366. package/src/scripts/claude-danger.js +0 -268
  367. package/src/scripts/clean-dev.js +0 -435
  368. package/src/scripts/clear-dns-cache.js +0 -541
  369. package/src/scripts/clone.js +0 -435
  370. package/src/scripts/code-all.js +0 -437
  371. package/src/scripts/count-files.js +0 -211
  372. package/src/scripts/count-folders.js +0 -211
  373. package/src/scripts/count.js +0 -264
  374. package/src/scripts/d.js +0 -219
  375. package/src/scripts/datauri.js +0 -389
  376. package/src/scripts/delete-files.js +0 -380
  377. package/src/scripts/docker-clean.js +0 -426
  378. package/src/scripts/dp.js +0 -442
  379. package/src/scripts/e.js +0 -390
  380. package/src/scripts/empty-trash.js +0 -513
  381. package/src/scripts/evm.js +0 -444
  382. package/src/scripts/fetch-github-repos.js +0 -456
  383. package/src/scripts/get-channel.js +0 -345
  384. package/src/scripts/get-course.js +0 -399
  385. package/src/scripts/get-dependencies.js +0 -306
  386. package/src/scripts/get-folder.js +0 -799
  387. package/src/scripts/get-tunes.js +0 -426
  388. package/src/scripts/get-video.js +0 -367
  389. package/src/scripts/git-backup.js +0 -577
  390. package/src/scripts/git-clone.js +0 -493
  391. package/src/scripts/git-pup.js +0 -319
  392. package/src/scripts/git-push.js +0 -396
  393. package/src/scripts/h.js +0 -622
  394. package/src/scripts/hide-desktop-icons.js +0 -499
  395. package/src/scripts/hide-hidden-files.js +0 -538
  396. package/src/scripts/install-dependencies-from.js +0 -456
  397. package/src/scripts/ips.js +0 -663
  398. package/src/scripts/iso.js +0 -370
  399. package/src/scripts/killni.js +0 -577
  400. package/src/scripts/ll.js +0 -467
  401. package/src/scripts/local-ip.js +0 -325
  402. package/src/scripts/m.js +0 -524
  403. package/src/scripts/map.js +0 -309
  404. package/src/scripts/mkd.js +0 -351
  405. package/src/scripts/ncu-update-all.js +0 -457
  406. package/src/scripts/nginx-init.js +0 -718
  407. package/src/scripts/npmi.js +0 -382
  408. package/src/scripts/o.js +0 -511
  409. package/src/scripts/org-by-date.js +0 -338
  410. package/src/scripts/p.js +0 -224
  411. package/src/scripts/packages.js +0 -330
  412. package/src/scripts/path.js +0 -225
  413. package/src/scripts/ports.js +0 -597
  414. package/src/scripts/q.js +0 -305
  415. package/src/scripts/refresh-files.js +0 -394
  416. package/src/scripts/remove-smaller-files.js +0 -516
  417. package/src/scripts/rename-files-with-date.js +0 -533
  418. package/src/scripts/resize-image.js +0 -539
  419. package/src/scripts/rm-safe.js +0 -669
  420. package/src/scripts/s.js +0 -540
  421. package/src/scripts/set-git-public.js +0 -365
  422. package/src/scripts/show-desktop-icons.js +0 -475
  423. package/src/scripts/show-hidden-files.js +0 -472
  424. package/src/scripts/tpa.js +0 -280
  425. package/src/scripts/tpo.js +0 -280
  426. package/src/scripts/u.js +0 -505
  427. package/src/scripts/vpush.js +0 -437
  428. package/src/scripts/y.js +0 -283
  429. package/src/utils/README.md +0 -95
  430. package/src/utils/common/apps.js +0 -143
  431. package/src/utils/common/display.js +0 -157
  432. package/src/utils/common/network.js +0 -185
  433. package/src/utils/common/os.js +0 -294
  434. package/src/utils/common/package-manager.js +0 -301
  435. package/src/utils/common/privileges.js +0 -138
  436. package/src/utils/common/shell.js +0 -261
  437. package/src/utils/macos/apps.js +0 -228
  438. package/src/utils/macos/brew.js +0 -315
  439. package/src/utils/ubuntu/apt.js +0 -307
  440. package/src/utils/ubuntu/desktop.js +0 -292
  441. package/src/utils/ubuntu/snap.js +0 -344
  442. package/src/utils/ubuntu/systemd.js +0 -286
  443. package/src/utils/windows/choco.js +0 -465
  444. package/src/utils/windows/env.js +0 -246
  445. package/src/utils/windows/registry.js +0 -269
  446. package/src/utils/windows/shell.js +0 -240
  447. package/src/utils/windows/winget.js +0 -489
@@ -1,901 +0,0 @@
1
- # Installing Spotify
2
-
3
- ## Dependencies
4
-
5
- ### macOS (Homebrew)
6
- - **Required:**
7
- - `brew` (Homebrew package manager) - Install via `dev install homebrew` or visit https://brew.sh
8
- - **Optional:** None
9
- - **Auto-installed:** None
10
-
11
- ### Ubuntu/Debian (APT/Snap)
12
- - **Required:**
13
- - `snapd` (Snap package manager) - Install via `sudo apt-get update && sudo apt-get install -y snapd && sudo systemctl enable --now snapd.socket`
14
- - **Optional:** None
15
- - **Auto-installed:** None
16
-
17
- ### Raspberry Pi OS (APT/Snap)
18
- - **Required:**
19
- - `curl` - Install via `sudo apt-get update && sudo apt-get install -y curl`
20
- - APT package manager (pre-installed on Raspberry Pi OS)
21
- - Spotify Premium account (required for Raspotify/Spotify Connect functionality)
22
- - **Optional:** None
23
- - **Auto-installed:**
24
- - Raspotify service and all its dependencies (installed by https://dtcooper.github.io/raspotify/install.sh)
25
-
26
- ### Amazon Linux/RHEL (DNF/YUM)
27
- - **Required:**
28
- - `dnf` or `yum` package manager (pre-installed on Amazon Linux/RHEL)
29
- - EPEL repository - Install via `sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm` (AL2023/RHEL9) or `sudo amazon-linux-extras install -y epel` (AL2)
30
- - `snapd` - Install via `sudo dnf install -y snapd` or `sudo yum install -y snapd`
31
- - Graphical desktop environment (GNOME, KDE, etc.) for GUI functionality
32
- - **Optional:** None
33
- - **Auto-installed:**
34
- - Classic snap support symlink (`/snap` -> `/var/lib/snapd/snap`)
35
-
36
- ### Windows (Chocolatey/winget)
37
- - **Required:**
38
- - `choco` (Chocolatey package manager) - Install via PowerShell (Administrator): `Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))`
39
- - Administrator privileges (required for installation)
40
- - **Optional:** None
41
- - **Auto-installed:** None
42
-
43
- ### Git Bash (Manual/Portable)
44
- - **Required:**
45
- - `choco` (Chocolatey on Windows host) - Install via PowerShell (Administrator): `Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))`
46
- - PowerShell access (for invoking Windows package manager)
47
- - Administrator privileges (required for installation on Windows host)
48
- - **Optional:** None
49
- - **Auto-installed:** None (Spotify is installed on Windows host and accessed from Git Bash)
50
-
51
- ## Overview
52
-
53
- Spotify is a digital music streaming service that provides access to millions of songs, podcasts, and videos from creators worldwide. The desktop application offers features including offline listening (with Premium), high-quality audio streaming, curated playlists, and seamless syncing across devices. Spotify is widely used for personal entertainment, background music during development, and podcast consumption.
54
-
55
- **Important Platform Note**: Spotify for Linux is described by Spotify as "a labor of love from our engineers that wanted to listen to Spotify on their Linux development machines. They work on it in their spare time and it is currently not a platform that we actively support." The experience may differ from Windows and Mac clients.
56
-
57
- ## Prerequisites
58
-
59
- Before installing Spotify on any platform, ensure:
60
-
61
- 1. **Internet connectivity** - Required to download Spotify and stream music
62
- 2. **Spotify account** - Required to sign in (create a free account at spotify.com or upgrade to Premium for additional features)
63
- 3. **Audio output** - Speakers or headphones connected to your system
64
- 4. **64-bit operating system** - Required for native desktop applications on most platforms
65
-
66
- ## Platform-Specific Installation
67
-
68
- ### macOS (Homebrew)
69
-
70
- #### Prerequisites
71
-
72
- - macOS 12 (Monterey) or later
73
- - Homebrew package manager installed
74
- - At least 500 MB free disk space
75
- - Apple Silicon (M1/M2/M3/M4) or Intel processor
76
-
77
- If Homebrew is not installed, install it first:
78
-
79
- ```bash
80
- NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
81
- ```
82
-
83
- #### Installation Steps
84
-
85
- Run the following command to install Spotify:
86
-
87
- ```bash
88
- brew install --quiet --cask spotify
89
- ```
90
-
91
- The `--quiet` flag suppresses non-essential output for automation-friendly installation. The `--cask` flag specifies the graphical application version.
92
-
93
- After installation, launch Spotify from the Applications folder or via command line:
94
-
95
- ```bash
96
- open -a Spotify
97
- ```
98
-
99
- **Note**: On first launch, Spotify will prompt you to sign in with your account credentials.
100
-
101
- #### Verification
102
-
103
- Confirm the installation succeeded by checking if the application exists:
104
-
105
- ```bash
106
- ls /Applications/ | grep -i spotify
107
- ```
108
-
109
- Expected output:
110
-
111
- ```
112
- Spotify.app
113
- ```
114
-
115
- Verify Spotify can launch:
116
-
117
- ```bash
118
- open -a Spotify
119
- ```
120
-
121
- #### Troubleshooting
122
-
123
- **Problem**: `Error: Cask 'spotify' requires macOS >= 12`
124
-
125
- **Solution**: Your macOS version is too old. Spotify requires macOS 12 (Monterey) or later. Upgrade your operating system before installing.
126
-
127
- **Problem**: "Spotify is damaged and can't be opened" error
128
-
129
- **Solution**: Clear the quarantine attribute:
130
-
131
- ```bash
132
- xattr -cr "/Applications/Spotify.app"
133
- ```
134
-
135
- **Problem**: Cask already installed
136
-
137
- **Solution**: If you need to reinstall, first uninstall then reinstall:
138
-
139
- ```bash
140
- brew uninstall --cask spotify
141
- brew install --quiet --cask spotify
142
- ```
143
-
144
- **Problem**: Spotify fails to start after macOS upgrade
145
-
146
- **Solution**: Reinstall Spotify:
147
-
148
- ```bash
149
- brew uninstall --cask spotify
150
- brew install --quiet --cask spotify
151
- ```
152
-
153
- ---
154
-
155
- ### Ubuntu/Debian (Snap)
156
-
157
- #### Prerequisites
158
-
159
- - Ubuntu 16.04 LTS or later, or Debian 10 (Buster) or later (64-bit x86_64)
160
- - sudo privileges
161
- - Snap package manager (pre-installed on Ubuntu 16.04+)
162
- - At least 250 MB free disk space
163
-
164
- Snap is pre-installed on Ubuntu 16.04 and later. If snap is not installed (common on Debian):
165
-
166
- ```bash
167
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
168
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y snapd
169
- sudo systemctl enable --now snapd.socket
170
- sudo ln -sf /var/lib/snapd/snap /snap
171
- ```
172
-
173
- After installing snapd on Debian, log out and log back in (or reboot) for the snap command to become available in your PATH.
174
-
175
- #### Installation Steps
176
-
177
- Run the following command to install Spotify via Snap:
178
-
179
- ```bash
180
- sudo snap install spotify
181
- ```
182
-
183
- The Snap package is the officially supported distribution method by Spotify for Linux.
184
-
185
- After installation, launch Spotify:
186
-
187
- ```bash
188
- spotify &
189
- ```
190
-
191
- The ampersand (`&`) runs Spotify in the background, freeing your terminal.
192
-
193
- #### Verification
194
-
195
- Confirm the installation succeeded:
196
-
197
- ```bash
198
- snap list spotify
199
- ```
200
-
201
- Expected output (version may vary):
202
-
203
- ```
204
- Name Version Rev Tracking Publisher Notes
205
- spotify 1.2.74.477... 168 latest/stable spotify -
206
- ```
207
-
208
- Verify Spotify launches correctly:
209
-
210
- ```bash
211
- spotify &
212
- ```
213
-
214
- The Spotify window should appear within a few seconds.
215
-
216
- #### Troubleshooting
217
-
218
- **Problem**: `error: snap "spotify" is not available on stable for this architecture`
219
-
220
- **Solution**: This error occurs on 32-bit systems or ARM architecture. Spotify's Snap package requires 64-bit x86_64 (amd64) architecture. Check your architecture:
221
-
222
- ```bash
223
- uname -m
224
- ```
225
-
226
- If output is anything other than `x86_64`, you cannot install the native Spotify client. Use the web player at https://open.spotify.com instead.
227
-
228
- **Problem**: "cannot communicate with server: Post ... dial unix /run/snapd.socket"
229
-
230
- **Solution**: The snap daemon is not running. Start it:
231
-
232
- ```bash
233
- sudo systemctl start snapd
234
- sudo systemctl enable snapd
235
- ```
236
-
237
- **Problem**: Spotify fails to launch with GPU/rendering errors
238
-
239
- **Solution**: Disable GPU acceleration by launching with:
240
-
241
- ```bash
242
- spotify --disable-gpu &
243
- ```
244
-
245
- **Problem**: Notifications not appearing
246
-
247
- **Solution**: Ensure notification permissions are granted in your desktop environment settings. On GNOME, check Settings > Notifications > Spotify.
248
-
249
- **Problem**: Audio playback issues
250
-
251
- **Solution**: Ensure PulseAudio or PipeWire is running:
252
-
253
- ```bash
254
- pulseaudio --check || pulseaudio --start
255
- ```
256
-
257
- ---
258
-
259
- ### Raspberry Pi OS (ARM)
260
-
261
- #### Platform Limitation
262
-
263
- **Spotify does not provide native ARM packages.** The official Spotify desktop application and Snap package are only available for x86_64 (amd64) architecture. Raspberry Pi devices use ARM processors, which are not supported by the official client.
264
-
265
- #### Prerequisites
266
-
267
- - Raspberry Pi OS (64-bit or 32-bit)
268
- - Raspberry Pi 3 or later (Raspberry Pi 4 or 5 recommended)
269
- - sudo privileges
270
- - Spotify Premium account (required for Raspotify/Spotify Connect)
271
-
272
- #### Installation Steps
273
-
274
- **Use Raspotify for Spotify Connect**
275
-
276
- Raspotify is an open-source Spotify Connect client that turns your Raspberry Pi into a Spotify speaker. You control playback from your phone, tablet, or computer, and audio plays through the Raspberry Pi.
277
-
278
- **Note**: Raspotify requires a Spotify Premium account.
279
-
280
- ```bash
281
- # Install curl if not present
282
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
283
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y curl
284
-
285
- # Install Raspotify
286
- curl -sL https://dtcooper.github.io/raspotify/install.sh | sh
287
- ```
288
-
289
- After installation, Raspotify runs as a service and starts automatically on boot.
290
-
291
- **Configure Raspotify (Optional)**
292
-
293
- Edit the configuration file to customize device name and other settings:
294
-
295
- ```bash
296
- sudo nano /etc/raspotify/conf
297
- ```
298
-
299
- Key configuration options:
300
-
301
- ```bash
302
- # Device name that appears in Spotify Connect
303
- LIBRESPOT_NAME="Raspberry Pi"
304
-
305
- # Audio backend (use 'alsa' for direct ALSA output)
306
- LIBRESPOT_BACKEND="alsa"
307
-
308
- # Audio device (use 'aplay -l' to list devices)
309
- LIBRESPOT_DEVICE="default"
310
-
311
- # Bitrate: 96, 160, or 320 (Premium only)
312
- LIBRESPOT_BITRATE="320"
313
- ```
314
-
315
- Restart the service after making changes:
316
-
317
- ```bash
318
- sudo systemctl restart raspotify
319
- ```
320
-
321
- #### Verification
322
-
323
- Confirm Raspotify is running:
324
-
325
- ```bash
326
- sudo systemctl status raspotify
327
- ```
328
-
329
- Expected output should show "active (running)".
330
-
331
- Test Spotify Connect:
332
-
333
- 1. Open Spotify on your phone, tablet, or computer
334
- 2. Start playing music
335
- 3. Tap the "Connect to a device" icon (speaker icon)
336
- 4. Select your Raspberry Pi from the device list
337
- 5. Audio should play through the Raspberry Pi speakers
338
-
339
- #### Troubleshooting
340
-
341
- **Problem**: Raspotify service fails to start
342
-
343
- **Solution**: Check the service logs:
344
-
345
- ```bash
346
- sudo journalctl -u raspotify -n 50
347
- ```
348
-
349
- Common issues include audio device misconfiguration. List available audio devices:
350
-
351
- ```bash
352
- aplay -l
353
- ```
354
-
355
- **Problem**: Device does not appear in Spotify Connect
356
-
357
- **Solution**: Ensure your Raspberry Pi and control device are on the same network. Restart the service:
358
-
359
- ```bash
360
- sudo systemctl restart raspotify
361
- ```
362
-
363
- **Problem**: Audio quality is poor or distorted
364
-
365
- **Solution**: Reduce the bitrate in `/etc/raspotify/conf`:
366
-
367
- ```bash
368
- LIBRESPOT_BITRATE="160"
369
- ```
370
-
371
- Then restart the service.
372
-
373
- **Problem**: "Cannot connect to Spotify" errors
374
-
375
- **Solution**: Raspotify requires a Premium account. Verify your subscription at https://www.spotify.com/account.
376
-
377
- ---
378
-
379
- ### Amazon Linux/RHEL (Snap)
380
-
381
- #### Prerequisites
382
-
383
- - Amazon Linux 2023, Amazon Linux 2, RHEL 8/9, or Fedora (64-bit x86_64)
384
- - sudo privileges
385
- - Graphical desktop environment (required for Spotify GUI)
386
- - EPEL repository enabled (for RHEL/Amazon Linux)
387
- - At least 250 MB free disk space
388
-
389
- **Important**: Amazon Linux EC2 instances typically run headless (no GUI). If you are running a headless server, use the Spotify web player at https://open.spotify.com instead.
390
-
391
- #### Installation Steps
392
-
393
- **Step 1: Enable EPEL and install snapd**
394
-
395
- For Amazon Linux 2023:
396
-
397
- ```bash
398
- sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
399
- sudo dnf install -y snapd
400
- ```
401
-
402
- For Amazon Linux 2:
403
-
404
- ```bash
405
- sudo amazon-linux-extras install -y epel
406
- sudo yum install -y snapd
407
- ```
408
-
409
- For RHEL 8/9:
410
-
411
- ```bash
412
- sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm
413
- sudo dnf install -y snapd
414
- ```
415
-
416
- **Step 2: Enable and start snapd**
417
-
418
- ```bash
419
- sudo systemctl enable --now snapd.socket
420
- sudo ln -sf /var/lib/snapd/snap /snap
421
- ```
422
-
423
- **Important**: Log out and log back in (or reboot) after this step for the snap command to become available in your PATH.
424
-
425
- **Step 3: Install Spotify**
426
-
427
- ```bash
428
- sudo snap install spotify
429
- ```
430
-
431
- After installation, launch Spotify:
432
-
433
- ```bash
434
- spotify &
435
- ```
436
-
437
- #### Verification
438
-
439
- Confirm the installation succeeded:
440
-
441
- ```bash
442
- snap list spotify
443
- ```
444
-
445
- Expected output (version may vary):
446
-
447
- ```
448
- Name Version Rev Tracking Publisher Notes
449
- spotify 1.2.74.477... 168 latest/stable spotify -
450
- ```
451
-
452
- Verify Spotify can launch (requires graphical environment):
453
-
454
- ```bash
455
- spotify &
456
- ```
457
-
458
- #### Troubleshooting
459
-
460
- **Problem**: `error: snap "spotify" is not available on stable for this architecture`
461
-
462
- **Solution**: Spotify requires x86_64 architecture. Check your architecture:
463
-
464
- ```bash
465
- uname -m
466
- ```
467
-
468
- If not `x86_64`, use the web player at https://open.spotify.com.
469
-
470
- **Problem**: Snapd fails to install
471
-
472
- **Solution**: Ensure EPEL repository is enabled:
473
-
474
- ```bash
475
- # RHEL 8/9
476
- sudo dnf repolist | grep epel
477
-
478
- # If not listed, install EPEL
479
- sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm
480
- ```
481
-
482
- **Problem**: Spotify fails to launch with display errors
483
-
484
- **Solution**: Spotify requires a graphical environment. For headless servers:
485
- - Use X11 forwarding with SSH: `ssh -X user@server` then run `spotify`
486
- - Use VNC or RDP to connect to a desktop session
487
- - Use the Spotify web player at https://open.spotify.com
488
-
489
- **Problem**: Audio playback issues
490
-
491
- **Solution**: Ensure PulseAudio is installed and running:
492
-
493
- ```bash
494
- sudo dnf install -y pulseaudio pulseaudio-utils
495
- pulseaudio --start
496
- ```
497
-
498
- ---
499
-
500
- ### Windows (Chocolatey)
501
-
502
- #### Prerequisites
503
-
504
- - Windows 10 version 1903 or later, or Windows 11 (64-bit)
505
- - At least 500 MB free disk space
506
- - Administrator PowerShell or Command Prompt
507
- - Chocolatey package manager installed
508
-
509
- If Chocolatey is not installed, install it first by running this command in an Administrator PowerShell:
510
-
511
- ```powershell
512
- Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
513
- ```
514
-
515
- #### Installation Steps
516
-
517
- Run the following command in an Administrator PowerShell or Command Prompt:
518
-
519
- ```powershell
520
- choco install spotify -y
521
- ```
522
-
523
- The `-y` flag automatically confirms all prompts, enabling fully non-interactive installation.
524
-
525
- After installation, Spotify can be launched from the Start Menu or via command line:
526
-
527
- ```powershell
528
- Start-Process spotify:
529
- ```
530
-
531
- **Note**: On first launch, Spotify will prompt you to sign in with your account credentials.
532
-
533
- #### Verification
534
-
535
- Open a new Command Prompt or PowerShell window, then verify Spotify is installed:
536
-
537
- ```powershell
538
- choco list spotify
539
- ```
540
-
541
- Expected output (version may vary):
542
-
543
- ```
544
- spotify 1.2.79.427
545
- 1 packages installed.
546
- ```
547
-
548
- Launch Spotify to verify it opens correctly:
549
-
550
- ```powershell
551
- Start-Process spotify:
552
- ```
553
-
554
- The application should launch and display the sign-in screen.
555
-
556
- #### Troubleshooting
557
-
558
- **Problem**: `choco: command not found` or `'choco' is not recognized`
559
-
560
- **Solution**: Chocolatey is not installed or not in PATH. Install Chocolatey first (see Prerequisites), then open a new terminal window.
561
-
562
- **Problem**: Installation fails with permission errors
563
-
564
- **Solution**: Run PowerShell as Administrator. Right-click PowerShell in the Start Menu and select "Run as administrator".
565
-
566
- **Problem**: Spotify fails to launch after installation
567
-
568
- **Solution**: Restart your computer to ensure all components are properly registered, then try launching again.
569
-
570
- **Problem**: Need to update Spotify
571
-
572
- **Solution**: Run the upgrade command:
573
-
574
- ```powershell
575
- choco upgrade spotify -y
576
- ```
577
-
578
- **Problem**: Installation completes but Spotify does not appear
579
-
580
- **Solution**: Spotify installs to the user profile directory. Check:
581
-
582
- ```powershell
583
- Get-ChildItem "$env:APPDATA\Spotify" -ErrorAction SilentlyContinue
584
- ```
585
-
586
- If the directory exists, launch Spotify from the Start Menu.
587
-
588
- ---
589
-
590
- ### WSL (Ubuntu)
591
-
592
- #### Platform Approach
593
-
594
- **Spotify is installed on the Windows host, not within WSL.** While WSL 2 with WSLg (GUI support) can technically run Linux GUI applications, the recommended approach is to install Spotify on Windows and access it from WSL.
595
-
596
- #### Prerequisites
597
-
598
- - Windows 10 version 2004 or higher, or Windows 11
599
- - WSL 2 enabled with Ubuntu distribution installed
600
- - Administrator access on Windows for Spotify installation
601
-
602
- #### Installation Steps
603
-
604
- **Step 1: Install Spotify on Windows**
605
-
606
- From a Windows Administrator PowerShell:
607
-
608
- ```powershell
609
- choco install spotify -y
610
- ```
611
-
612
- **Step 2: Access Spotify from WSL**
613
-
614
- From within your WSL terminal, you can launch Windows Spotify:
615
-
616
- ```bash
617
- # Launch Spotify using Windows protocol handler
618
- cmd.exe /c start spotify:
619
- ```
620
-
621
- This command uses Windows interoperability to launch the Spotify application installed on the Windows host.
622
-
623
- **Alternative: Access Spotify via browser from WSL**
624
-
625
- If you prefer browser-based access:
626
-
627
- ```bash
628
- # Open Spotify web player in default Windows browser
629
- cmd.exe /c start https://open.spotify.com
630
- ```
631
-
632
- #### Verification
633
-
634
- From WSL, verify you can launch Windows Spotify:
635
-
636
- ```bash
637
- cmd.exe /c start spotify:
638
- ```
639
-
640
- Spotify should open in a new window on the Windows desktop.
641
-
642
- #### Troubleshooting
643
-
644
- **Problem**: Cannot launch Windows Spotify from WSL
645
-
646
- **Solution**: Ensure Spotify is installed on Windows first. Run `choco list spotify` in a Windows PowerShell to verify installation.
647
-
648
- **Problem**: "start: command not found"
649
-
650
- **Solution**: Use the full Windows command syntax:
651
-
652
- ```bash
653
- cmd.exe /c start spotify:
654
- ```
655
-
656
- **Problem**: Need to use Spotify commands in WSL scripts
657
-
658
- **Solution**: Create a helper alias in your `~/.bashrc`:
659
-
660
- ```bash
661
- echo 'alias spotify="cmd.exe /c start spotify:"' >> ~/.bashrc
662
- source ~/.bashrc
663
- ```
664
-
665
- Then simply run `spotify` from your WSL terminal.
666
-
667
- ---
668
-
669
- ### Git Bash (Windows Installation)
670
-
671
- #### Prerequisites
672
-
673
- - Windows 10 or Windows 11 (64-bit)
674
- - Git Bash installed (comes with Git for Windows)
675
- - Administrator access for Spotify installation
676
-
677
- #### Installation Steps
678
-
679
- Git Bash runs on Windows, so Spotify is installed on the Windows host and accessible from Git Bash.
680
-
681
- **Step 1: Install Spotify on Windows**
682
-
683
- From an Administrator Command Prompt or PowerShell (not Git Bash):
684
-
685
- ```powershell
686
- choco install spotify -y
687
- ```
688
-
689
- **Step 2: Access Spotify from Git Bash**
690
-
691
- After installation, Spotify can be launched from Git Bash:
692
-
693
- ```bash
694
- start spotify:
695
- ```
696
-
697
- Or use the explicit command form:
698
-
699
- ```bash
700
- cmd //c "start spotify:"
701
- ```
702
-
703
- #### Verification
704
-
705
- From Git Bash, verify Spotify can be launched:
706
-
707
- ```bash
708
- start spotify:
709
- ```
710
-
711
- Spotify should open in a new window.
712
-
713
- #### Troubleshooting
714
-
715
- **Problem**: `start: command not found`
716
-
717
- **Solution**: Use the Windows-style command:
718
-
719
- ```bash
720
- cmd //c "start spotify:"
721
- ```
722
-
723
- **Problem**: Spotify does not launch
724
-
725
- **Solution**: Ensure Spotify is installed on Windows. Open a Windows Command Prompt and verify:
726
-
727
- ```cmd
728
- choco list spotify
729
- ```
730
-
731
- If not installed, install it from an Administrator PowerShell first.
732
-
733
- **Problem**: Need to use Spotify in scripts
734
-
735
- **Solution**: For scripting, use the Windows command wrapper:
736
-
737
- ```bash
738
- #!/bin/bash
739
- # Launch Spotify silently
740
- cmd //c "start /min spotify:" 2>/dev/null
741
- ```
742
-
743
- ---
744
-
745
- ## Post-Installation Configuration
746
-
747
- After installing Spotify on any platform, complete these configuration steps.
748
-
749
- ### Signing In
750
-
751
- 1. Launch Spotify
752
- 2. Click "Log in" and enter your credentials, or sign in with Facebook, Apple, or Google
753
- 3. Complete any two-factor authentication if enabled on your account
754
-
755
- ### Configuring Audio Quality
756
-
757
- Adjust streaming quality based on your internet connection and preferences:
758
-
759
- 1. Click your profile picture or username
760
- 2. Go to **Settings**
761
- 3. Under **Audio Quality**, select:
762
- - **Automatic** - Adjusts based on connection
763
- - **Low** (24 kbit/s) - Minimal data usage
764
- - **Normal** (96 kbit/s) - Standard quality
765
- - **High** (160 kbit/s) - Better quality
766
- - **Very High** (320 kbit/s) - Premium only, best quality
767
-
768
- ### Enabling Offline Mode (Premium)
769
-
770
- Download music for offline listening:
771
-
772
- 1. Navigate to a playlist, album, or podcast
773
- 2. Toggle the **Download** switch
774
- 3. Downloaded content is available without internet connection
775
-
776
- ### Configuring Startup Behavior
777
-
778
- To control whether Spotify starts automatically:
779
-
780
- **Windows:**
781
- 1. Open Spotify Settings
782
- 2. Scroll to **Startup and Window Behavior**
783
- 3. Set "Open Spotify automatically after you log into the computer" to No
784
-
785
- **macOS:**
786
- 1. Open Spotify Preferences
787
- 2. Scroll to **Startup and Window Behavior**
788
- 3. Set "Open Spotify automatically after you log into the computer" to No
789
-
790
- **Linux:**
791
- ```bash
792
- # Disable autostart
793
- rm ~/.config/autostart/spotify.desktop 2>/dev/null || true
794
- ```
795
-
796
- ### Keyboard Shortcuts
797
-
798
- Essential shortcuts for productivity:
799
-
800
- | Action | Windows/Linux | macOS |
801
- |--------|---------------|-------|
802
- | Play/Pause | `Space` | `Space` |
803
- | Next Track | `Ctrl+Right` | `Cmd+Right` |
804
- | Previous Track | `Ctrl+Left` | `Cmd+Left` |
805
- | Volume Up | `Ctrl+Up` | `Cmd+Up` |
806
- | Volume Down | `Ctrl+Down` | `Cmd+Down` |
807
- | Search | `Ctrl+L` | `Cmd+L` |
808
- | Toggle Shuffle | `Ctrl+S` | `Cmd+S` |
809
-
810
- ---
811
-
812
- ## Common Issues
813
-
814
- ### Issue: "Unable to Connect" or Network Errors
815
-
816
- **Symptoms**: Spotify shows connection errors or fails to load content
817
-
818
- **Solutions**:
819
- - Check internet connectivity
820
- - Verify firewall allows Spotify traffic (ports 443, 4070)
821
- - If behind a corporate proxy, configure proxy settings in Spotify Settings > Advanced > Proxy
822
- - Try signing out and signing back in
823
- - Clear cache: Settings > Storage > Clear cache
824
-
825
- ### Issue: High Memory or CPU Usage
826
-
827
- **Symptoms**: Spotify consumes excessive system resources
828
-
829
- **Solutions**:
830
- - Disable hardware acceleration: Settings > Compatibility > Hardware Acceleration (off)
831
- - Clear cache to free disk space
832
- - Restart Spotify periodically during long sessions
833
- - Ensure Spotify is updated to the latest version
834
-
835
- ### Issue: Audio Playback Problems
836
-
837
- **Symptoms**: No sound, stuttering, or distorted audio
838
-
839
- **Solutions**:
840
-
841
- **All Platforms:**
842
- - Check system volume and ensure Spotify is not muted
843
- - Verify correct audio output device is selected in Spotify Settings > Audio
844
- - Restart Spotify
845
-
846
- **Linux:**
847
- - Ensure PulseAudio or PipeWire is running
848
- - Check audio device permissions
849
-
850
- **Windows:**
851
- - Run Windows Audio Troubleshooter
852
- - Update audio drivers
853
-
854
- ### Issue: Songs Skip or Won't Play
855
-
856
- **Symptoms**: Songs skip after a few seconds or show as unavailable
857
-
858
- **Solutions**:
859
- - Check if the song is available in your region
860
- - Verify your subscription status (some content requires Premium)
861
- - Clear cache and restart Spotify
862
- - Check for Spotify service outages at https://downdetector.com/status/spotify/
863
-
864
- ### Issue: Spotify Connect Not Working
865
-
866
- **Symptoms**: Cannot see or connect to other devices
867
-
868
- **Solutions**:
869
- - Ensure all devices are on the same Wi-Fi network
870
- - Sign out and sign back in on all devices
871
- - Restart the Spotify app on all devices
872
- - Check that "Device Broadcast Status" is enabled in Settings
873
-
874
- ---
875
-
876
- ## Summary Table
877
-
878
- | Platform | Native Support | Installation Method | Notes |
879
- |----------|---------------|---------------------|-------|
880
- | macOS | Yes | `brew install --quiet --cask spotify` | Requires macOS 12+ |
881
- | Windows | Yes | `choco install spotify -y` | Primary supported platform |
882
- | Ubuntu/Debian | Yes | `sudo snap install spotify` | x86_64 only, not officially supported |
883
- | Raspberry Pi | No | Raspotify (Spotify Connect) | Requires Premium account |
884
- | Amazon Linux/RHEL | Yes | Snap via EPEL | x86_64 only, requires desktop |
885
- | WSL | N/A | Install on Windows host | Uses Windows installation |
886
- | Git Bash | N/A | Uses Windows installation | Inherits Windows Spotify |
887
-
888
- ---
889
-
890
- ## References
891
-
892
- - [Spotify Official Website](https://www.spotify.com/)
893
- - [Spotify Downloads](https://www.spotify.com/download/)
894
- - [Spotify for Linux](https://www.spotify.com/us/download/linux/)
895
- - [Spotify Homebrew Cask](https://formulae.brew.sh/cask/spotify)
896
- - [Spotify Chocolatey Package](https://community.chocolatey.org/packages/spotify)
897
- - [Spotify Snap Package](https://snapcraft.io/spotify)
898
- - [Spotify Web Player](https://open.spotify.com)
899
- - [Raspotify - Spotify Connect for Raspberry Pi](https://github.com/dtcooper/raspotify)
900
- - [Spotify Community - Linux Support](https://community.spotify.com/t5/Desktop-Linux/bd-p/desktop_linux)
901
- - [Installing Spotify on Fedora](https://docs.fedoraproject.org/en-US/quick-docs/installing-spotify/)