@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,865 @@
1
+ # Installing Slack
2
+
3
+ ## Overview
4
+
5
+ Slack is a team communication and collaboration platform that provides messaging, file sharing, and integrations with thousands of productivity tools. It enables teams to communicate through channels, direct messages, and huddles (audio/video calls). Slack is widely used in software development, business operations, and remote work environments.
6
+
7
+ **Important Platform Note**: Slack for Linux is officially in beta. The native desktop application is only available for x86_64 (64-bit) architectures. ARM-based systems (including Raspberry Pi) do not have official native support and require alternative approaches documented below.
8
+
9
+ ## Dependencies
10
+
11
+ ### macOS (Homebrew)
12
+ - **Required:**
13
+ - Homebrew package manager - Install via `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` or `dev install homebrew`
14
+ - **Optional:** None
15
+ - **Auto-installed:** None
16
+
17
+ ### Ubuntu (APT/Snap)
18
+ - **Required:**
19
+ - Snap package manager - Pre-installed on Ubuntu 16.04+. For Debian, install via `sudo apt-get update && sudo apt-get install -y snapd`
20
+ - x86_64 architecture (verified automatically; ARM is not supported)
21
+ - **Optional:** None
22
+ - **Auto-installed:** None
23
+
24
+ ### Raspberry Pi OS (APT/Snap)
25
+ - **Required:**
26
+ - Chromium web browser - Install via `sudo apt-get update && sudo apt-get install -y chromium-browser`
27
+ - Internet connectivity for web application access
28
+ - **Optional:**
29
+ - Slacky unofficial client (experimental) - See documentation for installation from GitHub releases
30
+ - **Auto-installed:** None
31
+ - **Note:** Native Slack desktop application is not available for ARM architecture. Web application at https://app.slack.com is the recommended approach.
32
+
33
+ ### Amazon Linux (DNF/YUM)
34
+ - **Required:**
35
+ - DNF (Amazon Linux 2023, RHEL 8+, Fedora) or YUM (Amazon Linux 2) package manager - Pre-installed on supported distributions
36
+ - `curl` and `ca-certificates` packages - Install via `sudo dnf install -y curl ca-certificates` (for GPG key import)
37
+ - x86_64 architecture (verified automatically; ARM is not supported)
38
+ - **Optional:**
39
+ - Graphical desktop environment (X11 or Wayland) - Required for GUI functionality; headless servers should use web application at https://app.slack.com
40
+ - **Auto-installed:** None
41
+
42
+ ### Windows (Chocolatey/winget)
43
+ - **Required:**
44
+ - 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'))`
45
+ - Administrator privileges for installation
46
+ - **Optional:** None
47
+ - **Auto-installed:** None
48
+
49
+ ### Git Bash (Manual/Portable)
50
+ - **Required:**
51
+ - Chocolatey package manager installed on Windows host - See Windows installation method above
52
+ - PowerShell access on Windows host
53
+ - Administrator privileges on Windows for installation
54
+ - **Optional:** None
55
+ - **Auto-installed:** None
56
+ - **Note:** Slack is installed on the Windows host, not within Git Bash environment. Access via `start slack:` or `cmd //c "start slack:"`
57
+
58
+ ## Prerequisites
59
+
60
+ Before installing Slack on any platform, ensure:
61
+
62
+ 1. **Internet connectivity** - Required to download Slack and use all messaging features
63
+ 2. **Administrative privileges** - Required for system-wide installation on most platforms
64
+ 3. **Slack account** - Required to sign in (create at slack.com or through your organization)
65
+ 4. **64-bit operating system** - Required for native desktop applications (except web browser access)
66
+
67
+ ## Platform-Specific Installation
68
+
69
+ ### macOS (Homebrew)
70
+
71
+ #### Prerequisites
72
+
73
+ - macOS 11 (Big Sur) or later
74
+ - Homebrew package manager installed
75
+ - At least 500 MB free disk space
76
+ - Apple Silicon (M1/M2/M3/M4) or Intel processor
77
+
78
+ If Homebrew is not installed, install it first:
79
+
80
+ ```bash
81
+ NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
82
+ ```
83
+
84
+ #### Installation Steps
85
+
86
+ Run the following command to install Slack:
87
+
88
+ ```bash
89
+ brew install --quiet --cask slack
90
+ ```
91
+
92
+ The `--quiet` flag suppresses non-essential output for automation-friendly installation. The `--cask` flag specifies the graphical application version.
93
+
94
+ After installation, launch Slack from the Applications folder or via command line:
95
+
96
+ ```bash
97
+ open -a Slack
98
+ ```
99
+
100
+ **Note**: On first launch, Slack will prompt you to sign in with your workspace URL or email address.
101
+
102
+ #### Verification
103
+
104
+ Confirm the installation succeeded by checking if the application exists:
105
+
106
+ ```bash
107
+ ls /Applications/ | grep -i slack
108
+ ```
109
+
110
+ Expected output:
111
+
112
+ ```
113
+ Slack.app
114
+ ```
115
+
116
+ Verify Slack can launch:
117
+
118
+ ```bash
119
+ open -a Slack
120
+ ```
121
+
122
+ #### Troubleshooting
123
+
124
+ **Problem**: `Error: Cask 'slack' requires macOS >= 11`
125
+
126
+ **Solution**: Your macOS version is too old. Slack requires macOS 11 (Big Sur) or later. Upgrade your operating system before installing.
127
+
128
+ **Problem**: "Slack is damaged and can't be opened" error
129
+
130
+ **Solution**: Clear the quarantine attribute:
131
+
132
+ ```bash
133
+ xattr -cr "/Applications/Slack.app"
134
+ ```
135
+
136
+ **Problem**: Cask already installed
137
+
138
+ **Solution**: If you need to reinstall, first uninstall then reinstall:
139
+
140
+ ```bash
141
+ brew uninstall --cask slack
142
+ brew install --quiet --cask slack
143
+ ```
144
+
145
+ **Problem**: Slack fails to start after macOS upgrade
146
+
147
+ **Solution**: Reinstall Slack:
148
+
149
+ ```bash
150
+ brew uninstall --cask slack
151
+ brew install --quiet --cask slack
152
+ ```
153
+
154
+ ---
155
+
156
+ ### Ubuntu/Debian (Snap)
157
+
158
+ #### Prerequisites
159
+
160
+ - Ubuntu 16.04 LTS or later, or Debian 10 (Buster) or later (64-bit x86_64)
161
+ - sudo privileges
162
+ - Snap package manager (pre-installed on Ubuntu 16.04+)
163
+ - At least 500 MB free disk space
164
+
165
+ Snap is pre-installed on Ubuntu 16.04 and later. If snap is not installed (common on Debian):
166
+
167
+ ```bash
168
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
169
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y snapd
170
+ sudo systemctl enable --now snapd.socket
171
+ sudo ln -sf /var/lib/snapd/snap /snap
172
+ ```
173
+
174
+ After installing snapd on Debian, log out and log back in (or reboot) for the snap command to become available in your PATH.
175
+
176
+ #### Installation Steps
177
+
178
+ Run the following command to install Slack via Snap:
179
+
180
+ ```bash
181
+ sudo snap install slack --classic
182
+ ```
183
+
184
+ The `--classic` flag grants Slack access to system resources outside the snap sandbox, which is required for features like file access and system tray integration.
185
+
186
+ After installation, launch Slack:
187
+
188
+ ```bash
189
+ slack &
190
+ ```
191
+
192
+ The ampersand (`&`) runs Slack in the background, freeing your terminal.
193
+
194
+ #### Verification
195
+
196
+ Confirm the installation succeeded:
197
+
198
+ ```bash
199
+ snap list slack
200
+ ```
201
+
202
+ Expected output (version may vary):
203
+
204
+ ```
205
+ Name Version Rev Tracking Publisher Notes
206
+ slack 4.46.99 158 latest/stable slack classic
207
+ ```
208
+
209
+ Verify Slack launches correctly:
210
+
211
+ ```bash
212
+ slack &
213
+ ```
214
+
215
+ The Slack window should appear within a few seconds.
216
+
217
+ #### Troubleshooting
218
+
219
+ **Problem**: `error: snap "slack" is not available on stable for this architecture`
220
+
221
+ **Solution**: This error occurs on 32-bit systems or ARM architecture. Slack's Snap package requires 64-bit x86_64 architecture. Check your architecture:
222
+
223
+ ```bash
224
+ uname -m
225
+ ```
226
+
227
+ If output is anything other than `x86_64`, you must use the web application at https://app.slack.com instead.
228
+
229
+ **Problem**: "cannot communicate with server: Post ... dial unix /run/snapd.socket"
230
+
231
+ **Solution**: The snap daemon is not running. Start it:
232
+
233
+ ```bash
234
+ sudo systemctl start snapd
235
+ sudo systemctl enable snapd
236
+ ```
237
+
238
+ **Problem**: Slack fails to launch with GPU/rendering errors
239
+
240
+ **Solution**: Disable GPU acceleration by launching with:
241
+
242
+ ```bash
243
+ slack --disable-gpu &
244
+ ```
245
+
246
+ **Problem**: Notifications not appearing
247
+
248
+ **Solution**: Ensure notification permissions are granted in your desktop environment settings. On GNOME, check Settings > Notifications > Slack.
249
+
250
+ ---
251
+
252
+ ### Raspberry Pi OS (ARM)
253
+
254
+ #### Platform Limitation
255
+
256
+ **Slack does not provide native ARM packages.** The official Slack desktop application and Snap package are only available for x86_64 architecture. Raspberry Pi devices use ARM processors, which are not supported.
257
+
258
+ #### Prerequisites
259
+
260
+ - Raspberry Pi OS (64-bit or 32-bit)
261
+ - Raspberry Pi 3 or later
262
+ - sudo privileges
263
+ - Web browser (Chromium recommended)
264
+
265
+ #### Installation Steps
266
+
267
+ **Use the Slack Web Application**
268
+
269
+ The recommended approach for Raspberry Pi is to use Slack through the web browser:
270
+
271
+ ```bash
272
+ # Ensure Chromium is installed
273
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
274
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y chromium-browser
275
+
276
+ # Launch Slack web application
277
+ chromium-browser --app=https://app.slack.com &
278
+ ```
279
+
280
+ The `--app` flag launches Chromium in application mode, providing a cleaner, app-like experience without browser chrome.
281
+
282
+ **Create a Desktop Shortcut**
283
+
284
+ For easier access, create a desktop shortcut:
285
+
286
+ ```bash
287
+ mkdir -p ~/.local/share/applications
288
+
289
+ cat > ~/.local/share/applications/slack-web.desktop << 'EOF'
290
+ [Desktop Entry]
291
+ Name=Slack
292
+ Comment=Team Communication via Web
293
+ Exec=chromium-browser --app=https://app.slack.com
294
+ Icon=web-browser
295
+ Terminal=false
296
+ Type=Application
297
+ Categories=Network;InstantMessaging;
298
+ EOF
299
+ ```
300
+
301
+ **Alternative: Unofficial Slacky Client (Experimental)**
302
+
303
+ An unofficial ARM64 client called Slacky is available for 64-bit Raspberry Pi OS. Note that this is not officially supported by Slack:
304
+
305
+ ```bash
306
+ # Download the latest release (check GitHub for current version)
307
+ wget -q https://github.com/andirsun/Slacky/releases/latest/download/slacky_arm64.deb -O /tmp/slacky.deb
308
+
309
+ # Install the package
310
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y /tmp/slacky.deb
311
+
312
+ # Clean up
313
+ rm /tmp/slacky.deb
314
+ ```
315
+
316
+ **Note**: The Slacky project is community-maintained and may not have feature parity with official Slack clients.
317
+
318
+ #### Verification
319
+
320
+ For web application approach, verify Chromium can access Slack:
321
+
322
+ ```bash
323
+ chromium-browser --app=https://app.slack.com &
324
+ ```
325
+
326
+ The Slack web application should load and prompt for sign-in.
327
+
328
+ For Slacky (if installed), verify the application is installed:
329
+
330
+ ```bash
331
+ which slacky || dpkg -l | grep slacky
332
+ ```
333
+
334
+ #### Troubleshooting
335
+
336
+ **Problem**: Web application is slow or unresponsive
337
+
338
+ **Solution**: Raspberry Pi has limited resources. For better performance:
339
+ - Use a Raspberry Pi 4 or 5 with at least 4 GB RAM
340
+ - Close other applications while using Slack
341
+ - Disable hardware acceleration in Chromium if experiencing crashes
342
+
343
+ **Problem**: Cannot receive notifications from web application
344
+
345
+ **Solution**: Web notifications require browser permission. When Slack prompts for notification permission, click "Allow". Ensure your desktop environment supports web notifications.
346
+
347
+ **Problem**: Slacky fails to install due to missing dependencies
348
+
349
+ **Solution**: Install required dependencies:
350
+
351
+ ```bash
352
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
353
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libgtk-3-0 libnotify4 libnss3 libxss1 libxtst6 libatspi2.0-0 libsecret-1-0
354
+ ```
355
+
356
+ ---
357
+
358
+ ### Amazon Linux/RHEL (DNF/YUM)
359
+
360
+ #### Prerequisites
361
+
362
+ - Amazon Linux 2023, Amazon Linux 2, RHEL 8/9, or Fedora (64-bit x86_64)
363
+ - sudo privileges
364
+ - Graphical desktop environment (required for Slack GUI)
365
+ - At least 500 MB free disk space
366
+
367
+ **Important**: Amazon Linux EC2 instances typically run headless (no GUI). If you are running a headless server, use the Slack web application at https://app.slack.com or the Slack API for automation.
368
+
369
+ #### Installation Steps
370
+
371
+ **Step 1: Import the GPG key**
372
+
373
+ ```bash
374
+ sudo rpm --import https://packagecloud.io/slacktechnologies/slack/gpgkey
375
+ ```
376
+
377
+ **Step 2: Create the repository configuration**
378
+
379
+ ```bash
380
+ sudo tee /etc/yum.repos.d/slack.repo > /dev/null << 'EOF'
381
+ [slack]
382
+ name=Slack
383
+ baseurl=https://packagecloud.io/slacktechnologies/slack/fedora/21/x86_64
384
+ enabled=1
385
+ gpgcheck=1
386
+ gpgkey=https://packagecloud.io/slacktechnologies/slack/gpgkey
387
+ sslverify=1
388
+ sslcacert=/etc/pki/tls/certs/ca-bundle.crt
389
+ metadata_expire=300
390
+ EOF
391
+ ```
392
+
393
+ **Note**: Despite the `fedora/21` path, this repository contains current packages compatible with all modern Fedora, RHEL, and Amazon Linux versions.
394
+
395
+ **Step 3: Install Slack**
396
+
397
+ For Amazon Linux 2023, RHEL 8/9, and Fedora:
398
+
399
+ ```bash
400
+ sudo dnf install -y slack
401
+ ```
402
+
403
+ For Amazon Linux 2:
404
+
405
+ ```bash
406
+ sudo yum install -y slack
407
+ ```
408
+
409
+ After installation, launch Slack:
410
+
411
+ ```bash
412
+ slack &
413
+ ```
414
+
415
+ #### Verification
416
+
417
+ Confirm the installation succeeded:
418
+
419
+ ```bash
420
+ rpm -qa | grep slack
421
+ ```
422
+
423
+ Expected output (version may vary):
424
+
425
+ ```
426
+ slack-4.47.69-0.1.el8.x86_64
427
+ ```
428
+
429
+ Verify Slack can launch (requires graphical environment):
430
+
431
+ ```bash
432
+ slack &
433
+ ```
434
+
435
+ #### Troubleshooting
436
+
437
+ **Problem**: GPG key import fails
438
+
439
+ **Solution**: Ensure curl is installed and retry:
440
+
441
+ ```bash
442
+ sudo dnf install -y curl ca-certificates
443
+ sudo rpm --import https://packagecloud.io/slacktechnologies/slack/gpgkey
444
+ ```
445
+
446
+ **Problem**: "No package slack available"
447
+
448
+ **Solution**: Verify the repository file was created correctly:
449
+
450
+ ```bash
451
+ cat /etc/yum.repos.d/slack.repo
452
+ ```
453
+
454
+ If empty or malformed, recreate it using the commands in Step 2.
455
+
456
+ **Problem**: Slack fails to launch with display errors
457
+
458
+ **Solution**: Slack requires a graphical environment. For headless servers:
459
+ - Use X11 forwarding with SSH: `ssh -X user@server` then run `slack`
460
+ - Use VNC or RDP to connect to a desktop session
461
+ - Use the Slack web application at https://app.slack.com
462
+
463
+ **Problem**: Dependency conflicts during installation
464
+
465
+ **Solution**: Update system packages first:
466
+
467
+ ```bash
468
+ sudo dnf update -y
469
+ sudo dnf install -y slack
470
+ ```
471
+
472
+ ---
473
+
474
+ ### Windows (Chocolatey/winget)
475
+
476
+ #### Prerequisites
477
+
478
+ - Windows 10 version 1903 or later, or Windows 11 (64-bit)
479
+ - At least 500 MB free disk space
480
+ - Administrator PowerShell or Command Prompt
481
+ - Chocolatey package manager installed
482
+
483
+ If Chocolatey is not installed, install it first by running this command in an Administrator PowerShell:
484
+
485
+ ```powershell
486
+ 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'))
487
+ ```
488
+
489
+ #### Installation Steps
490
+
491
+ Run the following command in an Administrator PowerShell or Command Prompt:
492
+
493
+ ```powershell
494
+ choco install slack -y
495
+ ```
496
+
497
+ The `-y` flag automatically confirms all prompts, enabling fully non-interactive installation.
498
+
499
+ After installation, Slack can be launched from the Start Menu or via command line:
500
+
501
+ ```powershell
502
+ Start-Process slack:
503
+ ```
504
+
505
+ **Note**: On first launch, Slack will prompt you to sign in with your workspace URL or email address.
506
+
507
+ #### Verification
508
+
509
+ Open a new Command Prompt or PowerShell window, then verify Slack is installed:
510
+
511
+ ```powershell
512
+ choco list slack
513
+ ```
514
+
515
+ Expected output (version may vary):
516
+
517
+ ```
518
+ slack 4.47.69
519
+ 1 packages installed.
520
+ ```
521
+
522
+ Launch Slack to verify it opens correctly:
523
+
524
+ ```powershell
525
+ Start-Process slack:
526
+ ```
527
+
528
+ The application should launch and display the sign-in screen.
529
+
530
+ #### Troubleshooting
531
+
532
+ **Problem**: `choco: command not found` or `'choco' is not recognized`
533
+
534
+ **Solution**: Chocolatey is not installed or not in PATH. Install Chocolatey first (see Prerequisites), then open a new terminal window.
535
+
536
+ **Problem**: Installation fails with permission errors
537
+
538
+ **Solution**: Run PowerShell as Administrator. Right-click PowerShell in the Start Menu and select "Run as administrator".
539
+
540
+ **Problem**: Slack fails to launch after installation
541
+
542
+ **Solution**: Restart your computer to ensure all components are properly registered, then try launching again.
543
+
544
+ **Problem**: Need to update Slack
545
+
546
+ **Solution**: Run the upgrade command:
547
+
548
+ ```powershell
549
+ choco upgrade slack -y
550
+ ```
551
+
552
+ ---
553
+
554
+ ### WSL (Ubuntu)
555
+
556
+ #### Platform Approach
557
+
558
+ **Slack is installed on the Windows host, not within WSL.** While WSL with WSLg (GUI support) can technically run Linux GUI applications, the recommended approach is to install Slack on Windows and access it from WSL.
559
+
560
+ #### Prerequisites
561
+
562
+ - Windows 10 version 2004 or higher, or Windows 11
563
+ - WSL 2 enabled with Ubuntu distribution installed
564
+ - Administrator access on Windows for Slack installation
565
+
566
+ #### Installation Steps
567
+
568
+ **Step 1: Install Slack on Windows**
569
+
570
+ From a Windows Administrator PowerShell:
571
+
572
+ ```powershell
573
+ choco install slack -y
574
+ ```
575
+
576
+ **Step 2: Access Slack from WSL**
577
+
578
+ From within your WSL terminal, you can launch Windows Slack:
579
+
580
+ ```bash
581
+ # Launch Slack using Windows protocol handler
582
+ cmd.exe /c start slack:
583
+ ```
584
+
585
+ This command uses Windows interoperability to launch the Slack application installed on the Windows host.
586
+
587
+ **Alternative: Access Slack via browser from WSL**
588
+
589
+ If you prefer browser-based access:
590
+
591
+ ```bash
592
+ # Open Slack web application in default Windows browser
593
+ cmd.exe /c start https://app.slack.com
594
+ ```
595
+
596
+ #### Verification
597
+
598
+ From WSL, verify you can launch Windows Slack:
599
+
600
+ ```bash
601
+ cmd.exe /c start slack:
602
+ ```
603
+
604
+ Slack should open in a new window on the Windows desktop.
605
+
606
+ #### Troubleshooting
607
+
608
+ **Problem**: Cannot launch Windows Slack from WSL
609
+
610
+ **Solution**: Ensure Slack is installed on Windows first. Run `choco list slack` in a Windows PowerShell to verify installation.
611
+
612
+ **Problem**: "start: command not found"
613
+
614
+ **Solution**: Use the full Windows command syntax:
615
+
616
+ ```bash
617
+ cmd.exe /c start slack:
618
+ ```
619
+
620
+ **Problem**: Need to use Slack commands in WSL scripts
621
+
622
+ **Solution**: Create a helper alias in your `~/.bashrc`:
623
+
624
+ ```bash
625
+ echo 'alias slack="cmd.exe /c start slack:"' >> ~/.bashrc
626
+ source ~/.bashrc
627
+ ```
628
+
629
+ Then simply run `slack` from your WSL terminal.
630
+
631
+ ---
632
+
633
+ ### Git Bash (Windows Installation)
634
+
635
+ #### Prerequisites
636
+
637
+ - Windows 10 or Windows 11 (64-bit)
638
+ - Git Bash installed (comes with Git for Windows)
639
+ - Administrator access for Slack installation
640
+
641
+ #### Installation Steps
642
+
643
+ Git Bash runs on Windows, so Slack is installed on the Windows host and accessible from Git Bash.
644
+
645
+ **Step 1: Install Slack on Windows**
646
+
647
+ From an Administrator Command Prompt or PowerShell (not Git Bash):
648
+
649
+ ```powershell
650
+ choco install slack -y
651
+ ```
652
+
653
+ **Step 2: Access Slack from Git Bash**
654
+
655
+ After installation, Slack can be launched from Git Bash:
656
+
657
+ ```bash
658
+ start slack:
659
+ ```
660
+
661
+ Or use the explicit command form:
662
+
663
+ ```bash
664
+ cmd //c "start slack:"
665
+ ```
666
+
667
+ #### Verification
668
+
669
+ From Git Bash, verify Slack can be launched:
670
+
671
+ ```bash
672
+ start slack:
673
+ ```
674
+
675
+ Slack should open in a new window.
676
+
677
+ #### Troubleshooting
678
+
679
+ **Problem**: `start: command not found`
680
+
681
+ **Solution**: Use the Windows-style command:
682
+
683
+ ```bash
684
+ cmd //c "start slack:"
685
+ ```
686
+
687
+ **Problem**: Slack does not launch
688
+
689
+ **Solution**: Ensure Slack is installed on Windows. Open a Windows Command Prompt and verify:
690
+
691
+ ```cmd
692
+ choco list slack
693
+ ```
694
+
695
+ If not installed, install it from an Administrator PowerShell first.
696
+
697
+ **Problem**: Need to use Slack in scripts
698
+
699
+ **Solution**: For scripting, use the Windows command wrapper:
700
+
701
+ ```bash
702
+ #!/bin/bash
703
+ # Launch Slack silently
704
+ cmd //c "start /min slack:" 2>/dev/null
705
+ ```
706
+
707
+ ---
708
+
709
+ ## Post-Installation Configuration
710
+
711
+ After installing Slack on any platform, complete these configuration steps.
712
+
713
+ ### Signing In
714
+
715
+ 1. Launch Slack
716
+ 2. Enter your workspace URL (e.g., `yourcompany.slack.com`) or email address
717
+ 3. Follow the authentication prompts
718
+ 4. Complete any organization-specific setup (SSO, 2FA, etc.)
719
+
720
+ ### Configuring Notifications
721
+
722
+ Adjust notification settings to manage interruptions:
723
+
724
+ 1. Click on your profile picture in Slack
725
+ 2. Go to **Preferences** > **Notifications**
726
+ 3. Configure notification preferences for messages, mentions, and keywords
727
+ 4. Set notification schedules for work hours
728
+
729
+ ### Setting Up Multiple Workspaces
730
+
731
+ If you belong to multiple Slack workspaces:
732
+
733
+ 1. Click the workspace name in the top left
734
+ 2. Select **Add a workspace**
735
+ 3. Enter the workspace URL or sign in with your email
736
+ 4. Switch between workspaces using `Ctrl+[number]` (Windows/Linux) or `Cmd+[number]` (macOS)
737
+
738
+ ### Keyboard Shortcuts
739
+
740
+ Essential shortcuts for productivity:
741
+
742
+ | Action | Windows/Linux | macOS |
743
+ |--------|---------------|-------|
744
+ | Quick Switcher | `Ctrl+K` | `Cmd+K` |
745
+ | Search | `Ctrl+G` | `Cmd+G` |
746
+ | New Message | `Ctrl+N` | `Cmd+N` |
747
+ | Mark All Read | `Shift+Esc` | `Shift+Esc` |
748
+ | Toggle Sidebar | `Ctrl+Shift+D` | `Cmd+Shift+D` |
749
+
750
+ ### Configuring Startup Behavior
751
+
752
+ To control whether Slack starts automatically:
753
+
754
+ **Windows:**
755
+ 1. Open Slack Preferences
756
+ 2. Go to **Advanced**
757
+ 3. Toggle "Launch Slack on login" on or off
758
+
759
+ **macOS:**
760
+ 1. Open Slack Preferences
761
+ 2. Go to **Advanced**
762
+ 3. Toggle "Launch Slack on login" on or off
763
+
764
+ **Linux:**
765
+ ```bash
766
+ # Disable autostart
767
+ rm ~/.config/autostart/slack.desktop 2>/dev/null || true
768
+ ```
769
+
770
+ ---
771
+
772
+ ## Common Issues
773
+
774
+ ### Issue: "Unable to Connect" or Network Errors
775
+
776
+ **Symptoms**: Slack shows connection errors or fails to load messages
777
+
778
+ **Solutions**:
779
+ - Check internet connectivity
780
+ - Verify firewall allows Slack traffic (ports 443, 80)
781
+ - If behind a corporate proxy, configure proxy settings in Slack Preferences > Advanced > Proxy
782
+ - Try signing out and signing back in
783
+
784
+ ### Issue: High Memory or CPU Usage
785
+
786
+ **Symptoms**: Slack consumes excessive system resources
787
+
788
+ **Solutions**:
789
+ - Close unused workspaces (each workspace uses additional memory)
790
+ - Disable animations: Preferences > Accessibility > Reduce animations
791
+ - Restart Slack periodically during long sessions
792
+ - Ensure Slack is updated to the latest version
793
+
794
+ ### Issue: Notifications Not Working
795
+
796
+ **Symptoms**: Missing notifications for messages or calls
797
+
798
+ **Solutions**:
799
+
800
+ **All Platforms:**
801
+ - Check Slack notification settings in Preferences > Notifications
802
+ - Ensure "Do Not Disturb" mode is not enabled
803
+ - Verify notification schedule allows notifications at current time
804
+
805
+ **macOS:**
806
+ - Grant notification permission in System Preferences > Notifications > Slack
807
+
808
+ **Linux:**
809
+ - Ensure notification daemon is running
810
+ - Check desktop environment notification settings
811
+
812
+ **Windows:**
813
+ - Check Windows notification settings: Settings > System > Notifications > Slack
814
+
815
+ ### Issue: Screen Sharing Not Working
816
+
817
+ **Symptoms**: Screen sharing option is grayed out or not functioning
818
+
819
+ **Solutions**:
820
+
821
+ **macOS:** Grant screen recording permission in System Preferences > Security & Privacy > Privacy > Screen Recording
822
+
823
+ **Linux:** On Wayland, screen sharing may have limitations. Consider using X11 session for full screen sharing support.
824
+
825
+ **Windows:** Ensure Slack has necessary permissions. Run as administrator if sharing specific applications fails.
826
+
827
+ ### Issue: Audio/Video in Huddles Not Working
828
+
829
+ **Symptoms**: Cannot hear or be heard in Slack Huddles
830
+
831
+ **Solutions**:
832
+ - Check audio device settings in Slack Preferences > Audio & Video
833
+ - Ensure correct microphone and speaker are selected
834
+ - Grant microphone permission if prompted by operating system
835
+ - Close other applications that might be using audio devices
836
+ - Test audio with Slack's built-in audio test
837
+
838
+ ---
839
+
840
+ ## Summary Table
841
+
842
+ | Platform | Native Support | Installation Method | Notes |
843
+ |----------|---------------|---------------------|-------|
844
+ | macOS | Yes | `brew install --quiet --cask slack` | Requires macOS 11+ |
845
+ | Windows | Yes | `choco install slack -y` | Primary supported platform |
846
+ | Ubuntu/Debian | Yes (Beta) | `sudo snap install slack --classic` | x86_64 only |
847
+ | Raspberry Pi | No | Web app via Chromium | Use https://app.slack.com |
848
+ | Amazon Linux/RHEL | Yes (Beta) | DNF repository + `sudo dnf install -y slack` | x86_64 only |
849
+ | WSL | N/A | Install on Windows host | Uses Windows installation |
850
+ | Git Bash | N/A | Uses Windows installation | Inherits Windows Slack |
851
+
852
+ ---
853
+
854
+ ## References
855
+
856
+ - [Slack Official Website](https://slack.com/)
857
+ - [Slack Downloads](https://slack.com/downloads)
858
+ - [Slack for Linux (Beta)](https://slack.com/help/articles/212924728-Download-Slack-for-Linux--beta-)
859
+ - [Slack Homebrew Cask](https://formulae.brew.sh/cask/slack)
860
+ - [Slack Chocolatey Package](https://community.chocolatey.org/packages/slack)
861
+ - [Slack Snap Package](https://snapcraft.io/slack)
862
+ - [Slack Web Application](https://app.slack.com)
863
+ - [Slack Release Notes - Linux](https://slack.com/release-notes/linux)
864
+ - [Slacky - Unofficial ARM64 Client](https://github.com/andirsun/Slacky)
865
+ - [Slack API Documentation](https://api.slack.com/)