@fredlackey/devutils 0.0.1 → 0.0.3

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 (259) hide show
  1. package/README.md +5 -5
  2. package/package.json +1 -1
  3. package/src/commands/install.js +374 -36
  4. package/src/installs/adobe-creative-cloud.js +527 -25
  5. package/src/installs/adobe-creative-cloud.md +605 -0
  6. package/src/installs/appcleaner.js +303 -26
  7. package/src/installs/appcleaner.md +699 -0
  8. package/src/installs/apt-transport-https.js +390 -0
  9. package/src/installs/apt-transport-https.md +678 -0
  10. package/src/installs/atomicparsley.js +624 -26
  11. package/src/installs/atomicparsley.md +795 -0
  12. package/src/installs/aws-cli.js +779 -26
  13. package/src/installs/aws-cli.md +727 -0
  14. package/src/installs/balena-etcher.js +688 -26
  15. package/src/installs/balena-etcher.md +761 -0
  16. package/src/installs/bambu-studio.js +912 -26
  17. package/src/installs/bambu-studio.md +780 -0
  18. package/src/installs/bash-completion.js +554 -23
  19. package/src/installs/bash-completion.md +833 -0
  20. package/src/installs/bash.js +399 -26
  21. package/src/installs/bash.md +993 -0
  22. package/src/installs/beyond-compare.js +585 -26
  23. package/src/installs/beyond-compare.md +813 -0
  24. package/src/installs/build-essential.js +511 -26
  25. package/src/installs/build-essential.md +977 -0
  26. package/src/installs/ca-certificates.js +618 -0
  27. package/src/installs/ca-certificates.md +937 -0
  28. package/src/installs/caffeine.js +490 -26
  29. package/src/installs/caffeine.md +839 -0
  30. package/src/installs/camtasia.js +577 -25
  31. package/src/installs/camtasia.md +762 -0
  32. package/src/installs/chatgpt.js +458 -26
  33. package/src/installs/chatgpt.md +814 -0
  34. package/src/installs/chocolatey.js +447 -0
  35. package/src/installs/chocolatey.md +661 -0
  36. package/src/installs/chrome-canary.js +472 -26
  37. package/src/installs/chrome-canary.md +641 -0
  38. package/src/installs/chromium.js +645 -26
  39. package/src/installs/chromium.md +838 -0
  40. package/src/installs/claude-code.js +558 -26
  41. package/src/installs/claude-code.md +1173 -0
  42. package/src/installs/curl.js +361 -26
  43. package/src/installs/curl.md +714 -0
  44. package/src/installs/cursor.js +561 -26
  45. package/src/installs/cursor.md +970 -0
  46. package/src/installs/dbschema.js +674 -26
  47. package/src/installs/dbschema.md +925 -0
  48. package/src/installs/dependencies.md +435 -0
  49. package/src/installs/development-tools.js +600 -0
  50. package/src/installs/development-tools.md +977 -0
  51. package/src/installs/docker.js +1010 -25
  52. package/src/installs/docker.md +1109 -0
  53. package/src/installs/drawio.js +1001 -26
  54. package/src/installs/drawio.md +795 -0
  55. package/src/installs/elmedia-player.js +328 -25
  56. package/src/installs/elmedia-player.md +556 -0
  57. package/src/installs/ffmpeg.js +870 -25
  58. package/src/installs/ffmpeg.md +852 -0
  59. package/src/installs/file.js +464 -0
  60. package/src/installs/file.md +987 -0
  61. package/src/installs/gemini-cli.js +793 -26
  62. package/src/installs/gemini-cli.md +1153 -0
  63. package/src/installs/git.js +382 -26
  64. package/src/installs/git.md +907 -0
  65. package/src/installs/gitego.js +931 -26
  66. package/src/installs/gitego.md +1172 -0
  67. package/src/installs/go.js +913 -26
  68. package/src/installs/go.md +958 -0
  69. package/src/installs/google-chrome.js +801 -25
  70. package/src/installs/google-chrome.md +862 -0
  71. package/src/installs/gpg.js +412 -73
  72. package/src/installs/gpg.md +1056 -0
  73. package/src/installs/homebrew.js +1015 -26
  74. package/src/installs/homebrew.md +988 -0
  75. package/src/installs/imageoptim.js +950 -26
  76. package/src/installs/imageoptim.md +1119 -0
  77. package/src/installs/installers.json +2297 -0
  78. package/src/installs/jq.js +382 -26
  79. package/src/installs/jq.md +809 -0
  80. package/src/installs/keyboard-maestro.js +701 -26
  81. package/src/installs/keyboard-maestro.md +825 -0
  82. package/src/installs/latex.js +771 -26
  83. package/src/installs/latex.md +1095 -0
  84. package/src/installs/lftp.js +338 -26
  85. package/src/installs/lftp.md +907 -0
  86. package/src/installs/lsb-release.js +346 -0
  87. package/src/installs/lsb-release.md +814 -0
  88. package/src/installs/messenger.js +829 -26
  89. package/src/installs/messenger.md +900 -0
  90. package/src/installs/microsoft-office.js +550 -26
  91. package/src/installs/microsoft-office.md +760 -0
  92. package/src/installs/microsoft-teams.js +782 -25
  93. package/src/installs/microsoft-teams.md +886 -0
  94. package/src/installs/node.js +886 -26
  95. package/src/installs/node.md +1153 -0
  96. package/src/installs/nordpass.js +698 -26
  97. package/src/installs/nordpass.md +921 -0
  98. package/src/installs/nvm.js +977 -26
  99. package/src/installs/nvm.md +1057 -0
  100. package/src/installs/openssh.js +734 -64
  101. package/src/installs/openssh.md +1056 -0
  102. package/src/installs/pandoc.js +644 -26
  103. package/src/installs/pandoc.md +1036 -0
  104. package/src/installs/pinentry.js +492 -26
  105. package/src/installs/pinentry.md +1142 -0
  106. package/src/installs/pngyu.js +851 -26
  107. package/src/installs/pngyu.md +896 -0
  108. package/src/installs/postman.js +781 -26
  109. package/src/installs/postman.md +940 -0
  110. package/src/installs/procps.js +425 -0
  111. package/src/installs/procps.md +851 -0
  112. package/src/installs/safari-tech-preview.js +355 -25
  113. package/src/installs/safari-tech-preview.md +533 -0
  114. package/src/installs/sfnt2woff.js +640 -26
  115. package/src/installs/sfnt2woff.md +795 -0
  116. package/src/installs/shellcheck.js +463 -26
  117. package/src/installs/shellcheck.md +1005 -0
  118. package/src/installs/slack.js +722 -25
  119. package/src/installs/slack.md +865 -0
  120. package/src/installs/snagit.js +566 -25
  121. package/src/installs/snagit.md +844 -0
  122. package/src/installs/software-properties-common.js +372 -0
  123. package/src/installs/software-properties-common.md +805 -0
  124. package/src/installs/spotify.js +858 -25
  125. package/src/installs/spotify.md +901 -0
  126. package/src/installs/studio-3t.js +803 -26
  127. package/src/installs/studio-3t.md +918 -0
  128. package/src/installs/sublime-text.js +780 -25
  129. package/src/installs/sublime-text.md +914 -0
  130. package/src/installs/superwhisper.js +687 -25
  131. package/src/installs/superwhisper.md +630 -0
  132. package/src/installs/tailscale.js +727 -26
  133. package/src/installs/tailscale.md +1100 -0
  134. package/src/installs/tar.js +389 -0
  135. package/src/installs/tar.md +946 -0
  136. package/src/installs/termius.js +780 -26
  137. package/src/installs/termius.md +844 -0
  138. package/src/installs/terraform.js +761 -26
  139. package/src/installs/terraform.md +899 -0
  140. package/src/installs/tidal.js +752 -25
  141. package/src/installs/tidal.md +864 -0
  142. package/src/installs/tmux.js +328 -26
  143. package/src/installs/tmux.md +1030 -0
  144. package/src/installs/tree.js +393 -26
  145. package/src/installs/tree.md +833 -0
  146. package/src/installs/unzip.js +460 -0
  147. package/src/installs/unzip.md +879 -0
  148. package/src/installs/vim.js +403 -26
  149. package/src/installs/vim.md +1040 -0
  150. package/src/installs/vlc.js +803 -26
  151. package/src/installs/vlc.md +927 -0
  152. package/src/installs/vscode.js +825 -26
  153. package/src/installs/vscode.md +1002 -0
  154. package/src/installs/wget.js +415 -0
  155. package/src/installs/wget.md +791 -0
  156. package/src/installs/whatsapp.js +710 -25
  157. package/src/installs/whatsapp.md +854 -0
  158. package/src/installs/winpty.js +352 -0
  159. package/src/installs/winpty.md +620 -0
  160. package/src/installs/woff2.js +535 -26
  161. package/src/installs/woff2.md +977 -0
  162. package/src/installs/wsl.js +572 -0
  163. package/src/installs/wsl.md +699 -0
  164. package/src/installs/xcode-clt.js +520 -0
  165. package/src/installs/xcode-clt.md +351 -0
  166. package/src/installs/xcode.js +542 -26
  167. package/src/installs/xcode.md +573 -0
  168. package/src/installs/yarn.js +806 -26
  169. package/src/installs/yarn.md +1074 -0
  170. package/src/installs/yq.js +636 -26
  171. package/src/installs/yq.md +944 -0
  172. package/src/installs/yt-dlp.js +683 -26
  173. package/src/installs/yt-dlp.md +946 -0
  174. package/src/installs/yum-utils.js +297 -0
  175. package/src/installs/yum-utils.md +648 -0
  176. package/src/installs/zoom.js +740 -25
  177. package/src/installs/zoom.md +884 -0
  178. package/src/scripts/README.md +567 -45
  179. package/src/scripts/STATUS.md +208 -0
  180. package/src/scripts/afk.js +395 -7
  181. package/src/scripts/backup-all.js +731 -9
  182. package/src/scripts/backup-source.js +711 -8
  183. package/src/scripts/brewd.js +373 -7
  184. package/src/scripts/brewi.js +505 -9
  185. package/src/scripts/brewr.js +512 -9
  186. package/src/scripts/brews.js +462 -9
  187. package/src/scripts/brewu.js +488 -7
  188. package/src/scripts/c.js +185 -7
  189. package/src/scripts/ccurl.js +325 -8
  190. package/src/scripts/certbot-crontab-init.js +488 -8
  191. package/src/scripts/certbot-init.js +641 -9
  192. package/src/scripts/ch.js +339 -7
  193. package/src/scripts/claude-danger.js +253 -8
  194. package/src/scripts/clean-dev.js +419 -8
  195. package/src/scripts/clear-dns-cache.js +525 -7
  196. package/src/scripts/clone.js +417 -7
  197. package/src/scripts/code-all.js +420 -7
  198. package/src/scripts/count-files.js +195 -8
  199. package/src/scripts/count-folders.js +195 -8
  200. package/src/scripts/count.js +248 -8
  201. package/src/scripts/d.js +203 -7
  202. package/src/scripts/datauri.js +373 -8
  203. package/src/scripts/delete-files.js +363 -7
  204. package/src/scripts/docker-clean.js +410 -8
  205. package/src/scripts/dp.js +426 -7
  206. package/src/scripts/e.js +375 -9
  207. package/src/scripts/empty-trash.js +497 -7
  208. package/src/scripts/evm.js +428 -9
  209. package/src/scripts/fetch-github-repos.js +441 -10
  210. package/src/scripts/get-channel.js +329 -8
  211. package/src/scripts/get-course.js +384 -11
  212. package/src/scripts/get-dependencies.js +290 -9
  213. package/src/scripts/get-folder.js +783 -10
  214. package/src/scripts/get-tunes.js +411 -10
  215. package/src/scripts/get-video.js +352 -9
  216. package/src/scripts/git-backup.js +561 -9
  217. package/src/scripts/git-clone.js +477 -9
  218. package/src/scripts/git-pup.js +303 -7
  219. package/src/scripts/git-push.js +380 -8
  220. package/src/scripts/h.js +607 -9
  221. package/src/scripts/hide-desktop-icons.js +483 -7
  222. package/src/scripts/hide-hidden-files.js +522 -7
  223. package/src/scripts/install-dependencies-from.js +440 -9
  224. package/src/scripts/ips.js +647 -10
  225. package/src/scripts/iso.js +354 -8
  226. package/src/scripts/killni.js +561 -7
  227. package/src/scripts/ll.js +451 -8
  228. package/src/scripts/local-ip.js +310 -8
  229. package/src/scripts/m.js +508 -8
  230. package/src/scripts/map.js +293 -8
  231. package/src/scripts/mkd.js +287 -7
  232. package/src/scripts/ncu-update-all.js +441 -8
  233. package/src/scripts/nginx-init.js +702 -12
  234. package/src/scripts/npmi.js +366 -7
  235. package/src/scripts/o.js +495 -8
  236. package/src/scripts/org-by-date.js +321 -7
  237. package/src/scripts/p.js +208 -7
  238. package/src/scripts/packages.js +313 -8
  239. package/src/scripts/path.js +209 -7
  240. package/src/scripts/ports.js +582 -8
  241. package/src/scripts/q.js +290 -8
  242. package/src/scripts/refresh-files.js +378 -10
  243. package/src/scripts/remove-smaller-files.js +500 -8
  244. package/src/scripts/rename-files-with-date.js +517 -9
  245. package/src/scripts/resize-image.js +523 -9
  246. package/src/scripts/rm-safe.js +653 -8
  247. package/src/scripts/s.js +525 -9
  248. package/src/scripts/set-git-public.js +349 -7
  249. package/src/scripts/show-desktop-icons.js +459 -7
  250. package/src/scripts/show-hidden-files.js +456 -7
  251. package/src/scripts/tpa.js +265 -8
  252. package/src/scripts/tpo.js +264 -7
  253. package/src/scripts/u.js +489 -7
  254. package/src/scripts/vpush.js +422 -8
  255. package/src/scripts/y.js +267 -7
  256. package/src/utils/common/os.js +94 -2
  257. package/src/utils/ubuntu/apt.js +13 -7
  258. package/src/utils/windows/choco.js +82 -26
  259. package/src/utils/windows/winget.js +89 -27
@@ -0,0 +1,864 @@
1
+ # Installing Tidal
2
+
3
+ ## Overview
4
+
5
+ Tidal is a high-fidelity music streaming service that provides access to over 100 million songs and 650,000+ music videos. Known for its lossless audio quality, Tidal offers HiFi (lossless CD quality at 16-bit/44.1kHz) and HiFi Plus (Master Quality Authenticated/MQA and HiRes FLAC up to 24-bit/192kHz) streaming tiers. The desktop application allows users to stream music, create playlists, and enjoy exclusive content from artists.
6
+
7
+ **Important Platform Note**: Tidal does not provide an official desktop application for Linux. Linux users must use a third-party open-source client called tidal-hifi, which wraps the Tidal web player in an Electron shell with added features like media key support, Discord integration, and MPRIS support.
8
+
9
+ ## Dependencies
10
+
11
+ ### macOS (Homebrew)
12
+ - **Required:**
13
+ - `Homebrew` - Install via `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` or run `dev install homebrew`
14
+ - **Optional:** None
15
+ - **Auto-installed:** None
16
+
17
+ ### Ubuntu (APT/Snap)
18
+ - **Required:**
19
+ - `flatpak` - Automatically installed via `sudo apt-get install -y flatpak` if not present
20
+ - `flathub repository` - Automatically added via `flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo`
21
+ - `x86_64 architecture` - ARM systems are not supported; installer performs architecture check
22
+ - **Optional:** None
23
+ - **Auto-installed:**
24
+ - `flatpak` - Installed automatically if missing using `sudo apt-get install -y flatpak`
25
+
26
+ ### Raspberry Pi OS (APT/Snap)
27
+ - **Required:** Installation not supported on this platform (ARM architecture not compatible with Tidal or tidal-hifi)
28
+ - **Optional:**
29
+ - `Docker` - Install via `curl -fsSL https://get.docker.com | sudo sh` (for Tidal Connect alternative)
30
+ - `docker-compose` - Typically included with modern Docker installations
31
+ - **Auto-installed:** None
32
+ - **Note:** Tidal Connect via Docker is the recommended alternative for ARM-based Raspberry Pi devices
33
+
34
+ ### Amazon Linux (DNF/YUM)
35
+ - **Required:**
36
+ - `dnf` or `yum` package manager - Pre-installed on Amazon Linux systems (dnf for AL2023/RHEL8+, yum for AL2)
37
+ - `flatpak` - Automatically installed via `sudo dnf install -y flatpak` or `sudo yum install -y flatpak` if not present
38
+ - `flathub repository` - Automatically added via `flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo`
39
+ - `x86_64 architecture` - ARM systems are not supported; installer performs architecture check
40
+ - `Graphical desktop environment` - Required for tidal-hifi GUI (headless servers should use web player)
41
+ - **Optional:** None
42
+ - **Auto-installed:**
43
+ - `flatpak` - Installed automatically if missing using `sudo dnf install -y flatpak` or `sudo yum install -y flatpak`
44
+
45
+ ### Windows (Chocolatey/winget)
46
+ - **Required:**
47
+ - `Chocolatey` - 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'))`
48
+ - **Optional:** None
49
+ - **Auto-installed:** None
50
+
51
+ ### Git Bash (Manual/Portable)
52
+ - **Required:**
53
+ - `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'))`
54
+ - `PowerShell` - Pre-installed on Windows 10/11
55
+ - `Windows interoperability` - Inherent to Git Bash environment
56
+ - **Optional:** None
57
+ - **Auto-installed:** None
58
+ - **Note:** Tidal is installed on the Windows host and accessed from Git Bash using Windows interop commands
59
+
60
+ ### WSL (Ubuntu on Windows)
61
+ - **Required:**
62
+ - `Chocolatey` (on Windows host) - Install via PowerShell (Administrator) on Windows
63
+ - `PowerShell` - Pre-installed on Windows 10/11
64
+ - `Windows interoperability` - WSL2 feature for executing Windows commands from Linux
65
+ - `WSL 2` - Windows Subsystem for Linux version 2
66
+ - **Optional:** None
67
+ - **Auto-installed:** None
68
+ - **Note:** Tidal is installed on the Windows host and accessed from WSL using Windows interop (`cmd.exe /c start "tidal:"`)
69
+
70
+ ## Prerequisites
71
+
72
+ Before installing Tidal on any platform, ensure:
73
+
74
+ 1. **Internet connectivity** - Required to download Tidal and stream music
75
+ 2. **Tidal account** - Required to sign in (create an account at tidal.com)
76
+ 3. **Audio output** - Speakers or headphones connected to your system
77
+ 4. **Tidal subscription** - Free tier available, but HiFi and HiFi Plus require paid subscriptions
78
+
79
+ ## Platform-Specific Installation
80
+
81
+ ### macOS (Homebrew)
82
+
83
+ #### Prerequisites
84
+
85
+ - macOS 12 (Monterey) or later
86
+ - Homebrew package manager installed
87
+ - At least 200 MB free disk space
88
+ - Apple Silicon (M1/M2/M3/M4) or Intel processor
89
+
90
+ If Homebrew is not installed, install it first:
91
+
92
+ ```bash
93
+ NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
94
+ ```
95
+
96
+ #### Installation Steps
97
+
98
+ Run the following command to install Tidal:
99
+
100
+ ```bash
101
+ brew install --quiet --cask tidal
102
+ ```
103
+
104
+ The `--quiet` flag suppresses non-essential output for automation-friendly installation. The `--cask` flag specifies the graphical application version.
105
+
106
+ After installation, launch Tidal from the Applications folder or via command line:
107
+
108
+ ```bash
109
+ open -a TIDAL
110
+ ```
111
+
112
+ **Note**: On first launch, Tidal will prompt you to sign in with your account credentials.
113
+
114
+ #### Verification
115
+
116
+ Confirm the installation succeeded by checking if the application exists:
117
+
118
+ ```bash
119
+ ls /Applications/ | grep -i tidal
120
+ ```
121
+
122
+ Expected output:
123
+
124
+ ```
125
+ TIDAL.app
126
+ ```
127
+
128
+ Verify Tidal can launch:
129
+
130
+ ```bash
131
+ open -a TIDAL
132
+ ```
133
+
134
+ #### Troubleshooting
135
+
136
+ **Problem**: `Error: Cask 'tidal' requires macOS >= 12`
137
+
138
+ **Solution**: Your macOS version is too old. Tidal requires macOS 12 (Monterey) or later. Upgrade your operating system before installing.
139
+
140
+ **Problem**: "Tidal is damaged and can't be opened" error
141
+
142
+ **Solution**: Clear the quarantine attribute:
143
+
144
+ ```bash
145
+ xattr -cr "/Applications/TIDAL.app"
146
+ ```
147
+
148
+ **Problem**: Cask already installed
149
+
150
+ **Solution**: If you need to reinstall, first uninstall then reinstall:
151
+
152
+ ```bash
153
+ brew uninstall --cask tidal
154
+ brew install --quiet --cask tidal
155
+ ```
156
+
157
+ **Problem**: Tidal fails to start after macOS upgrade
158
+
159
+ **Solution**: Reinstall Tidal:
160
+
161
+ ```bash
162
+ brew uninstall --cask tidal
163
+ brew install --quiet --cask tidal
164
+ ```
165
+
166
+ ---
167
+
168
+ ### Ubuntu/Debian (Flatpak)
169
+
170
+ #### Platform Note
171
+
172
+ **Tidal does not provide an official desktop application for Linux.** The recommended solution is tidal-hifi, an open-source Electron-based application that wraps the Tidal web player with native desktop features including:
173
+
174
+ - HiFi audio quality support via Widevine
175
+ - Media key integration
176
+ - MPRIS support for desktop audio controls
177
+ - Discord Rich Presence integration
178
+ - ListenBrainz scrobbling
179
+
180
+ #### Prerequisites
181
+
182
+ - Ubuntu 18.04 LTS or later, or Debian 10 (Buster) or later (64-bit x86_64)
183
+ - sudo privileges
184
+ - Flatpak installed
185
+ - At least 500 MB free disk space
186
+
187
+ Install Flatpak if not already installed:
188
+
189
+ ```bash
190
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
191
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y flatpak
192
+ ```
193
+
194
+ Add the Flathub repository:
195
+
196
+ ```bash
197
+ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
198
+ ```
199
+
200
+ **Important**: After installing Flatpak for the first time, log out and log back in (or reboot) for the flatpak command to function correctly.
201
+
202
+ #### Installation Steps
203
+
204
+ Run the following command to install tidal-hifi via Flatpak:
205
+
206
+ ```bash
207
+ flatpak install -y flathub com.mastermindzh.tidal-hifi
208
+ ```
209
+
210
+ The `-y` flag automatically confirms installation prompts for non-interactive operation.
211
+
212
+ After installation, launch tidal-hifi:
213
+
214
+ ```bash
215
+ flatpak run com.mastermindzh.tidal-hifi &
216
+ ```
217
+
218
+ The ampersand (`&`) runs the application in the background, freeing your terminal.
219
+
220
+ #### Verification
221
+
222
+ Confirm the installation succeeded:
223
+
224
+ ```bash
225
+ flatpak list | grep -i tidal
226
+ ```
227
+
228
+ Expected output (version may vary):
229
+
230
+ ```
231
+ TIDAL Hi-Fi com.mastermindzh.tidal-hifi 6.0.0 stable flathub
232
+ ```
233
+
234
+ Verify tidal-hifi launches correctly:
235
+
236
+ ```bash
237
+ flatpak run com.mastermindzh.tidal-hifi &
238
+ ```
239
+
240
+ The tidal-hifi window should appear within a few seconds.
241
+
242
+ #### Troubleshooting
243
+
244
+ **Problem**: `error: Unable to load summary from remote flathub`
245
+
246
+ **Solution**: Add the Flathub repository:
247
+
248
+ ```bash
249
+ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
250
+ ```
251
+
252
+ **Problem**: Audio playback issues or no sound
253
+
254
+ **Solution**: Ensure PulseAudio or PipeWire is running:
255
+
256
+ ```bash
257
+ pulseaudio --check || pulseaudio --start
258
+ ```
259
+
260
+ **Problem**: Discord Rich Presence not working
261
+
262
+ **Solution**: If running Discord as a native (non-Flatpak) application, use Flatseal to grant tidal-hifi access to the Discord socket:
263
+
264
+ ```bash
265
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y flatpak
266
+ flatpak install -y flathub com.github.tchx84.Flatseal
267
+ ```
268
+
269
+ Then use Flatseal to add filesystem access to `~/.config/discord` for tidal-hifi.
270
+
271
+ **Problem**: Media keys not working
272
+
273
+ **Solution**: Ensure MPRIS is enabled in tidal-hifi settings. The Flatpak version should have this configured by default.
274
+
275
+ ---
276
+
277
+ ### Raspberry Pi OS (ARM)
278
+
279
+ #### Platform Limitation
280
+
281
+ **Tidal does not provide native ARM packages, and tidal-hifi is only available for x86_64 architecture.** Raspberry Pi devices use ARM processors, which are not supported by the official Tidal client or tidal-hifi.
282
+
283
+ #### Prerequisites
284
+
285
+ - Raspberry Pi OS (64-bit or 32-bit)
286
+ - Raspberry Pi 3 or later (Raspberry Pi 4 or 5 recommended)
287
+ - sudo privileges
288
+ - Docker and Docker Compose installed
289
+ - Tidal subscription (required for Tidal Connect)
290
+
291
+ #### Installation Steps
292
+
293
+ **Use Tidal Connect via Docker**
294
+
295
+ Tidal Connect allows your Raspberry Pi to function as a Tidal streaming endpoint. You control playback from your phone, tablet, or computer, and audio plays through the Raspberry Pi.
296
+
297
+ **Step 1: Install Docker if not already installed**
298
+
299
+ ```bash
300
+ curl -fsSL https://get.docker.com | sudo sh
301
+ sudo usermod -aG docker $USER
302
+ ```
303
+
304
+ Log out and log back in for group membership to take effect.
305
+
306
+ **Step 2: Create Docker Compose configuration**
307
+
308
+ Create a directory for the Tidal Connect configuration:
309
+
310
+ ```bash
311
+ mkdir -p ~/tidal-connect
312
+ ```
313
+
314
+ Create the Docker Compose file:
315
+
316
+ ```bash
317
+ cat > ~/tidal-connect/docker-compose.yml << 'EOF'
318
+ version: '3'
319
+ services:
320
+ tidal-connect:
321
+ image: giof71/tidal-connect:latest
322
+ container_name: tidal-connect
323
+ restart: unless-stopped
324
+ network_mode: host
325
+ devices:
326
+ - /dev/snd:/dev/snd
327
+ environment:
328
+ - FRIENDLY_NAME=Raspberry Pi Tidal
329
+ volumes:
330
+ - ./config:/config
331
+ EOF
332
+ ```
333
+
334
+ **Step 3: Start Tidal Connect**
335
+
336
+ ```bash
337
+ cd ~/tidal-connect && docker compose up -d
338
+ ```
339
+
340
+ After startup, your Raspberry Pi will appear as a Tidal Connect device in the Tidal app on your phone, tablet, or computer.
341
+
342
+ #### Verification
343
+
344
+ Confirm the Docker container is running:
345
+
346
+ ```bash
347
+ docker ps | grep tidal-connect
348
+ ```
349
+
350
+ Expected output should show the tidal-connect container with status "Up".
351
+
352
+ Test Tidal Connect:
353
+
354
+ 1. Open the Tidal app on your phone, tablet, or computer
355
+ 2. Start playing music
356
+ 3. Tap the "Connect to a device" icon (speaker/device icon)
357
+ 4. Select "Raspberry Pi Tidal" from the device list
358
+ 5. Audio should play through the Raspberry Pi speakers
359
+
360
+ #### Troubleshooting
361
+
362
+ **Problem**: Container fails to start with audio device errors
363
+
364
+ **Solution**: Check available audio devices and update the Docker configuration:
365
+
366
+ ```bash
367
+ aplay -l
368
+ ```
369
+
370
+ If using a specific audio device, add the ALSA device to your docker-compose.yml:
371
+
372
+ ```yaml
373
+ environment:
374
+ - FRIENDLY_NAME=Raspberry Pi Tidal
375
+ - ALSA_DEVICE=hw:0,0
376
+ ```
377
+
378
+ **Problem**: Device does not appear in Tidal Connect
379
+
380
+ **Solution**: Ensure your Raspberry Pi and control device are on the same network. Check container logs:
381
+
382
+ ```bash
383
+ docker logs tidal-connect
384
+ ```
385
+
386
+ **Problem**: Raspberry Pi 5 compatibility issues
387
+
388
+ **Solution**: If you encounter "ELF load command alignment" errors, ensure you are using a compatible container image. Check the tidal-connect repository for Pi 5-specific images or use 32-bit Raspberry Pi OS.
389
+
390
+ **Problem**: Audio quality is poor or distorted
391
+
392
+ **Solution**: Ensure your audio device supports the output format. Try reducing the quality settings in the Tidal app.
393
+
394
+ ---
395
+
396
+ ### Amazon Linux/RHEL (Flatpak)
397
+
398
+ #### Prerequisites
399
+
400
+ - Amazon Linux 2023, Amazon Linux 2, RHEL 8/9, or Fedora (64-bit x86_64)
401
+ - sudo privileges
402
+ - Graphical desktop environment (required for tidal-hifi GUI)
403
+ - At least 500 MB free disk space
404
+
405
+ **Important**: Amazon Linux EC2 instances typically run headless (no GUI). If you are running a headless server, use the Tidal web player at https://listen.tidal.com instead.
406
+
407
+ #### Installation Steps
408
+
409
+ **Step 1: Install Flatpak**
410
+
411
+ For Amazon Linux 2023 or RHEL 9:
412
+
413
+ ```bash
414
+ sudo dnf install -y flatpak
415
+ ```
416
+
417
+ For Amazon Linux 2 or RHEL 8:
418
+
419
+ ```bash
420
+ sudo yum install -y flatpak
421
+ ```
422
+
423
+ **Step 2: Add the Flathub repository**
424
+
425
+ ```bash
426
+ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
427
+ ```
428
+
429
+ **Important**: Log out and log back in (or reboot) after this step for the flatpak command to function correctly.
430
+
431
+ **Step 3: Install tidal-hifi**
432
+
433
+ ```bash
434
+ flatpak install -y flathub com.mastermindzh.tidal-hifi
435
+ ```
436
+
437
+ After installation, launch tidal-hifi:
438
+
439
+ ```bash
440
+ flatpak run com.mastermindzh.tidal-hifi &
441
+ ```
442
+
443
+ #### Verification
444
+
445
+ Confirm the installation succeeded:
446
+
447
+ ```bash
448
+ flatpak list | grep -i tidal
449
+ ```
450
+
451
+ Expected output (version may vary):
452
+
453
+ ```
454
+ TIDAL Hi-Fi com.mastermindzh.tidal-hifi 6.0.0 stable flathub
455
+ ```
456
+
457
+ Verify tidal-hifi can launch (requires graphical environment):
458
+
459
+ ```bash
460
+ flatpak run com.mastermindzh.tidal-hifi &
461
+ ```
462
+
463
+ #### Troubleshooting
464
+
465
+ **Problem**: Flatpak fails to install
466
+
467
+ **Solution**: Ensure the package manager repositories are up to date:
468
+
469
+ ```bash
470
+ # Amazon Linux 2023 / RHEL 9
471
+ sudo dnf makecache
472
+
473
+ # Amazon Linux 2 / RHEL 8
474
+ sudo yum makecache
475
+ ```
476
+
477
+ **Problem**: tidal-hifi fails to launch with display errors
478
+
479
+ **Solution**: tidal-hifi requires a graphical environment. For headless servers:
480
+
481
+ - Use X11 forwarding with SSH: `ssh -X user@server` then run `flatpak run com.mastermindzh.tidal-hifi`
482
+ - Use VNC or RDP to connect to a desktop session
483
+ - Use the Tidal web player at https://listen.tidal.com
484
+
485
+ **Problem**: Audio playback issues
486
+
487
+ **Solution**: Ensure PulseAudio is installed and running:
488
+
489
+ ```bash
490
+ sudo dnf install -y pulseaudio pulseaudio-utils
491
+ pulseaudio --start
492
+ ```
493
+
494
+ ---
495
+
496
+ ### Windows (Chocolatey)
497
+
498
+ #### Prerequisites
499
+
500
+ - Windows 10 version 1903 or later, or Windows 11 (64-bit)
501
+ - At least 250 MB free disk space
502
+ - Administrator PowerShell or Command Prompt
503
+ - Chocolatey package manager installed
504
+
505
+ If Chocolatey is not installed, install it first by running this command in an Administrator PowerShell:
506
+
507
+ ```powershell
508
+ 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'))
509
+ ```
510
+
511
+ #### Installation Steps
512
+
513
+ Run the following command in an Administrator PowerShell or Command Prompt:
514
+
515
+ ```powershell
516
+ choco install tidal -y
517
+ ```
518
+
519
+ The `-y` flag automatically confirms all prompts, enabling fully non-interactive installation.
520
+
521
+ After installation, Tidal can be launched from the Start Menu or via command line:
522
+
523
+ ```powershell
524
+ Start-Process "shell:AppsFolder\$(Get-StartApps -Name 'TIDAL' | Select-Object -First 1 -ExpandProperty AppId)"
525
+ ```
526
+
527
+ **Note**: On first launch, Tidal will prompt you to sign in with your account credentials.
528
+
529
+ #### Verification
530
+
531
+ Open a new Command Prompt or PowerShell window, then verify Tidal is installed:
532
+
533
+ ```powershell
534
+ choco list tidal
535
+ ```
536
+
537
+ Expected output (version may vary):
538
+
539
+ ```
540
+ tidal 2.39.5
541
+ 1 packages installed.
542
+ ```
543
+
544
+ #### Troubleshooting
545
+
546
+ **Problem**: `choco: command not found` or `'choco' is not recognized`
547
+
548
+ **Solution**: Chocolatey is not installed or not in PATH. Install Chocolatey first (see Prerequisites), then open a new terminal window.
549
+
550
+ **Problem**: Installation fails with permission errors
551
+
552
+ **Solution**: Run PowerShell as Administrator. Right-click PowerShell in the Start Menu and select "Run as administrator".
553
+
554
+ **Problem**: Tidal fails to launch after installation
555
+
556
+ **Solution**: Restart your computer to ensure all components are properly registered, then try launching again.
557
+
558
+ **Problem**: Need to update Tidal
559
+
560
+ **Solution**: Run the upgrade command:
561
+
562
+ ```powershell
563
+ choco upgrade tidal -y
564
+ ```
565
+
566
+ ---
567
+
568
+ ### WSL (Ubuntu)
569
+
570
+ #### Platform Approach
571
+
572
+ **Tidal is installed on the Windows host, not within WSL.** The recommended approach is to install Tidal on Windows and access it from WSL using Windows interoperability.
573
+
574
+ #### Prerequisites
575
+
576
+ - Windows 10 version 2004 or higher, or Windows 11
577
+ - WSL 2 enabled with Ubuntu distribution installed
578
+ - Administrator access on Windows for Tidal installation
579
+
580
+ #### Installation Steps
581
+
582
+ **Step 1: Install Tidal on Windows**
583
+
584
+ From a Windows Administrator PowerShell:
585
+
586
+ ```powershell
587
+ choco install tidal -y
588
+ ```
589
+
590
+ **Step 2: Access Tidal from WSL**
591
+
592
+ From within your WSL terminal, you can launch Windows Tidal:
593
+
594
+ ```bash
595
+ # Launch Tidal using Windows executable
596
+ cmd.exe /c start "" "tidal:"
597
+ ```
598
+
599
+ This command uses Windows interoperability to launch the Tidal application installed on the Windows host.
600
+
601
+ **Alternative: Access Tidal via browser from WSL**
602
+
603
+ If you prefer browser-based access:
604
+
605
+ ```bash
606
+ # Open Tidal web player in default Windows browser
607
+ cmd.exe /c start https://listen.tidal.com
608
+ ```
609
+
610
+ #### Verification
611
+
612
+ From WSL, verify you can launch Windows Tidal:
613
+
614
+ ```bash
615
+ cmd.exe /c start "" "tidal:"
616
+ ```
617
+
618
+ Tidal should open in a new window on the Windows desktop.
619
+
620
+ #### Troubleshooting
621
+
622
+ **Problem**: Cannot launch Windows Tidal from WSL
623
+
624
+ **Solution**: Ensure Tidal is installed on Windows first. Run `choco list tidal` in a Windows PowerShell to verify installation.
625
+
626
+ **Problem**: Protocol handler not recognized
627
+
628
+ **Solution**: Use the web player approach instead:
629
+
630
+ ```bash
631
+ cmd.exe /c start https://listen.tidal.com
632
+ ```
633
+
634
+ **Problem**: Need to use Tidal commands in WSL scripts
635
+
636
+ **Solution**: Create a helper alias in your `~/.bashrc`:
637
+
638
+ ```bash
639
+ echo 'alias tidal="cmd.exe /c start https://listen.tidal.com"' >> ~/.bashrc
640
+ source ~/.bashrc
641
+ ```
642
+
643
+ Then simply run `tidal` from your WSL terminal.
644
+
645
+ ---
646
+
647
+ ### Git Bash (Windows Installation)
648
+
649
+ #### Prerequisites
650
+
651
+ - Windows 10 or Windows 11 (64-bit)
652
+ - Git Bash installed (comes with Git for Windows)
653
+ - Administrator access for Tidal installation
654
+
655
+ #### Installation Steps
656
+
657
+ Git Bash runs on Windows, so Tidal is installed on the Windows host and accessible from Git Bash.
658
+
659
+ **Step 1: Install Tidal on Windows**
660
+
661
+ From an Administrator Command Prompt or PowerShell (not Git Bash):
662
+
663
+ ```powershell
664
+ choco install tidal -y
665
+ ```
666
+
667
+ **Step 2: Access Tidal from Git Bash**
668
+
669
+ After installation, Tidal can be launched from Git Bash:
670
+
671
+ ```bash
672
+ start "" "tidal:"
673
+ ```
674
+
675
+ Or use the web player:
676
+
677
+ ```bash
678
+ start https://listen.tidal.com
679
+ ```
680
+
681
+ #### Verification
682
+
683
+ From Git Bash, verify Tidal can be launched:
684
+
685
+ ```bash
686
+ start https://listen.tidal.com
687
+ ```
688
+
689
+ The Tidal web player should open in your default browser.
690
+
691
+ #### Troubleshooting
692
+
693
+ **Problem**: `start: command not found`
694
+
695
+ **Solution**: Use the Windows-style command:
696
+
697
+ ```bash
698
+ cmd //c "start https://listen.tidal.com"
699
+ ```
700
+
701
+ **Problem**: Tidal does not launch
702
+
703
+ **Solution**: Ensure Tidal is installed on Windows. Open a Windows Command Prompt and verify:
704
+
705
+ ```cmd
706
+ choco list tidal
707
+ ```
708
+
709
+ If not installed, install it from an Administrator PowerShell first.
710
+
711
+ **Problem**: Need to use Tidal in scripts
712
+
713
+ **Solution**: For scripting, use the Windows command wrapper:
714
+
715
+ ```bash
716
+ #!/bin/bash
717
+ # Launch Tidal web player
718
+ cmd //c "start https://listen.tidal.com" 2>/dev/null
719
+ ```
720
+
721
+ ---
722
+
723
+ ## Post-Installation Configuration
724
+
725
+ After installing Tidal on any platform, complete these configuration steps.
726
+
727
+ ### Signing In
728
+
729
+ 1. Launch Tidal
730
+ 2. Click "Log in" and enter your credentials, or sign in with Facebook, Apple, Twitter, or other linked accounts
731
+ 3. Complete any two-factor authentication if enabled on your account
732
+
733
+ ### Configuring Audio Quality
734
+
735
+ Adjust streaming quality based on your subscription and preferences:
736
+
737
+ 1. Click your profile picture or the settings icon
738
+ 2. Go to **Settings** > **Streaming**
739
+ 3. Select audio quality:
740
+ - **Normal** (AAC 96 kbps) - Low data usage
741
+ - **High** (AAC 320 kbps) - Better quality
742
+ - **HiFi** (FLAC 16-bit/44.1kHz) - Lossless CD quality (HiFi subscription required)
743
+ - **Max** (MQA/FLAC up to 24-bit/192kHz) - Master quality (HiFi Plus subscription required)
744
+
745
+ ### Configuring Download Quality (Mobile/Desktop)
746
+
747
+ For offline listening:
748
+
749
+ 1. Go to **Settings** > **Downloads**
750
+ 2. Select download quality matching your storage capacity
751
+ 3. Toggle on **Download using cellular** if desired (mobile)
752
+
753
+ ### Keyboard Shortcuts
754
+
755
+ Essential shortcuts for productivity:
756
+
757
+ | Action | Windows | macOS |
758
+ |--------|---------|-------|
759
+ | Play/Pause | `Space` | `Space` |
760
+ | Next Track | `Ctrl+Right` | `Cmd+Right` |
761
+ | Previous Track | `Ctrl+Left` | `Cmd+Left` |
762
+ | Volume Up | `Ctrl+Up` | `Cmd+Up` |
763
+ | Volume Down | `Ctrl+Down` | `Cmd+Down` |
764
+ | Search | `Ctrl+L` | `Cmd+L` |
765
+
766
+ ---
767
+
768
+ ## Common Issues
769
+
770
+ ### Issue: "Unable to Connect" or Network Errors
771
+
772
+ **Symptoms**: Tidal shows connection errors or fails to load content
773
+
774
+ **Solutions**:
775
+
776
+ - Check internet connectivity
777
+ - Verify firewall allows Tidal traffic (ports 443, 80)
778
+ - If behind a corporate proxy, configure proxy settings in system settings
779
+ - Try signing out and signing back in
780
+ - Clear cache in Settings
781
+
782
+ ### Issue: High Memory or CPU Usage
783
+
784
+ **Symptoms**: Tidal consumes excessive system resources
785
+
786
+ **Solutions**:
787
+
788
+ - Disable hardware acceleration in settings if available
789
+ - Restart Tidal periodically during long sessions
790
+ - Ensure Tidal is updated to the latest version
791
+ - Close other resource-intensive applications
792
+
793
+ ### Issue: Audio Playback Problems
794
+
795
+ **Symptoms**: No sound, stuttering, or distorted audio
796
+
797
+ **Solutions**:
798
+
799
+ **All Platforms:**
800
+
801
+ - Check system volume and ensure Tidal is not muted
802
+ - Verify correct audio output device is selected in Tidal Settings
803
+ - Restart Tidal
804
+
805
+ **Linux (tidal-hifi):**
806
+
807
+ - Ensure PulseAudio or PipeWire is running
808
+ - Check audio device permissions
809
+
810
+ **Windows:**
811
+
812
+ - Run Windows Audio Troubleshooter
813
+ - Update audio drivers
814
+
815
+ ### Issue: HiFi/Max Quality Not Available
816
+
817
+ **Symptoms**: Cannot select HiFi or Max quality options
818
+
819
+ **Solutions**:
820
+
821
+ - Verify your subscription tier at https://tidal.com/account
822
+ - HiFi quality requires HiFi or HiFi Plus subscription
823
+ - Max quality requires HiFi Plus subscription
824
+ - Some content may not be available in all quality levels
825
+ - Web player has limited quality support (no Max on Firefox/Safari)
826
+
827
+ ### Issue: Exclusive Mode / Audio Device Conflicts
828
+
829
+ **Symptoms**: Other applications cannot play audio when Tidal is open
830
+
831
+ **Solutions**:
832
+
833
+ - Disable exclusive mode in Tidal Settings > Playback
834
+ - This allows other applications to share the audio device
835
+
836
+ ---
837
+
838
+ ## Summary Table
839
+
840
+ | Platform | Native Support | Installation Method | Notes |
841
+ |----------|---------------|---------------------|-------|
842
+ | macOS | Yes | `brew install --quiet --cask tidal` | Requires macOS 12+ |
843
+ | Windows | Yes | `choco install tidal -y` | Primary supported platform |
844
+ | Ubuntu/Debian | No | `flatpak install -y flathub com.mastermindzh.tidal-hifi` | Third-party client, x86_64 only |
845
+ | Raspberry Pi | No | Docker (tidal-connect) | Tidal Connect only, no GUI |
846
+ | Amazon Linux/RHEL | No | `flatpak install -y flathub com.mastermindzh.tidal-hifi` | Third-party client, requires desktop |
847
+ | WSL | N/A | Install on Windows host | Uses Windows installation |
848
+ | Git Bash | N/A | Uses Windows installation | Inherits Windows Tidal |
849
+
850
+ ---
851
+
852
+ ## References
853
+
854
+ - [Tidal Official Website](https://tidal.com/)
855
+ - [Tidal Downloads](https://tidal.com/download)
856
+ - [Tidal System Requirements](https://support.tidal.com/hc/en-us/articles/115005872445-System-Requirements)
857
+ - [Tidal Support - Desktop](https://support.tidal.com/hc/en-us/sections/115001618769-Desktop)
858
+ - [Tidal Homebrew Cask](https://formulae.brew.sh/cask/tidal)
859
+ - [Tidal Chocolatey Package](https://community.chocolatey.org/packages/tidal)
860
+ - [Tidal winget Package](https://winget.run/pkg/TIDALMusicAS/TIDAL)
861
+ - [Tidal Web Player](https://listen.tidal.com)
862
+ - [tidal-hifi GitHub Repository](https://github.com/Mastermindzh/tidal-hifi)
863
+ - [tidal-hifi on Flathub](https://flathub.org/apps/com.mastermindzh.tidal-hifi)
864
+ - [Tidal Connect Docker](https://github.com/GioF71/tidal-connect)