@fredlackey/devutils 0.0.1 → 0.0.2

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 (257) 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
@@ -0,0 +1,886 @@
1
+ # Installing Microsoft Teams
2
+
3
+ ## Dependencies
4
+
5
+ ### macOS (Homebrew)
6
+ - **Required:**
7
+ - `Homebrew` - Install via `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` or run `dev install homebrew`
8
+ - **Optional:** None
9
+ - **Auto-installed:** None
10
+
11
+ ### Ubuntu (APT/Snap)
12
+ - **Required:**
13
+ - `wget` - Install via `sudo apt-get install -y wget`
14
+ - `ca-certificates` - Install via `sudo apt-get install -y ca-certificates`
15
+ - **Optional:**
16
+ - `snapd` - Install via `sudo apt-get install -y snapd` (if using Snap instead of APT repository)
17
+ - **Auto-installed:** None
18
+
19
+ ### Raspberry Pi OS (APT/Snap)
20
+ - **Required:**
21
+ - `snapd` - Install via `sudo apt-get install -y snapd` (required for ARM architecture support)
22
+ - **Optional:** None
23
+ - **Auto-installed:** None
24
+
25
+ ### Amazon Linux (DNF/YUM)
26
+ - **Required:**
27
+ - `curl` - Install via `sudo dnf install -y curl` (Amazon Linux 2023/RHEL 8+) or `sudo yum install -y curl` (Amazon Linux 2)
28
+ - Either `dnf` or `yum` package manager (pre-installed on supported distributions)
29
+ - **Optional:** None
30
+ - **Auto-installed:** None
31
+
32
+ ### Windows (Chocolatey/winget)
33
+ - **Required:**
34
+ - `Chocolatey` - Install via PowerShell: `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'))`
35
+ - **Optional:**
36
+ - `winget` - Pre-installed on Windows 11 and Windows 10 (version 1809+), can be used as alternative to Chocolatey
37
+ - **Auto-installed:**
38
+ - `App Installer (MSIX)` - Required by Teams bootstrapper, typically pre-installed on Windows 10/11
39
+
40
+ ### Git Bash (Manual/Portable)
41
+ - **Required:**
42
+ - `Chocolatey` (on Windows host) - Install via Administrator PowerShell: `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'))`
43
+ - `PowerShell` - Pre-installed on Windows
44
+ - **Optional:** None
45
+ - **Auto-installed:** None
46
+
47
+ ## Overview
48
+
49
+ Microsoft Teams is a collaboration and communication platform developed by Microsoft. It provides chat, video meetings, file storage, and application integration for teams and organizations. Teams is widely used for remote work, virtual meetings, and team collaboration in business, education, and personal contexts.
50
+
51
+ **Important Platform Availability Note**: Microsoft discontinued native Linux desktop applications for Teams at the end of 2022. Linux users must use either the unofficial "Teams for Linux" Electron-based client (which wraps the web application) or access Teams through a web browser. This document provides the recommended installation method for each platform.
52
+
53
+ ## Prerequisites
54
+
55
+ Before installing Microsoft Teams on any platform, ensure:
56
+
57
+ 1. **Internet connectivity** - Required to download installation packages and use Teams services
58
+ 2. **Microsoft account** - Required to sign in and use Teams (personal, work, or school account)
59
+ 3. **Administrative privileges** - Required for system-wide installation on most platforms
60
+ 4. **Supported browser** - For web-based access, Chrome, Edge, Firefox, or Safari
61
+
62
+ ## Platform-Specific Installation
63
+
64
+ ### macOS (Homebrew)
65
+
66
+ #### Prerequisites
67
+
68
+ - macOS 11 (Big Sur) or later
69
+ - Homebrew package manager installed
70
+ - At least 2 GB free disk space
71
+ - Apple Silicon (M1/M2/M3/M4) or Intel processor
72
+
73
+ If Homebrew is not installed, install it first:
74
+
75
+ ```bash
76
+ NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
77
+ ```
78
+
79
+ #### Installation Steps
80
+
81
+ Run the following command to install Microsoft Teams:
82
+
83
+ ```bash
84
+ brew install --quiet --cask microsoft-teams
85
+ ```
86
+
87
+ The `--quiet` flag suppresses non-essential output, and `--cask` specifies the graphical application version.
88
+
89
+ After installation, launch Microsoft Teams from the Applications folder or via command line:
90
+
91
+ ```bash
92
+ open -a "Microsoft Teams"
93
+ ```
94
+
95
+ **Note**: On first launch, Teams will prompt you to sign in with your Microsoft account.
96
+
97
+ #### Verification
98
+
99
+ Confirm the installation succeeded by checking if the application exists:
100
+
101
+ ```bash
102
+ ls /Applications/ | grep -i "microsoft teams"
103
+ ```
104
+
105
+ Expected output:
106
+
107
+ ```
108
+ Microsoft Teams.app
109
+ ```
110
+
111
+ Verify Teams can launch:
112
+
113
+ ```bash
114
+ open -a "Microsoft Teams"
115
+ ```
116
+
117
+ #### Troubleshooting
118
+
119
+ **Problem**: `Error: Cask microsoft-teams requires macOS >= 11`
120
+
121
+ **Solution**: Your macOS version is too old. Microsoft Teams requires macOS 11 (Big Sur) or later. Upgrade your operating system before installing.
122
+
123
+ **Problem**: "Microsoft Teams is damaged and can't be opened" error
124
+
125
+ **Solution**: Clear the quarantine attribute:
126
+
127
+ ```bash
128
+ xattr -cr "/Applications/Microsoft Teams.app"
129
+ ```
130
+
131
+ **Problem**: Classic Teams version needed
132
+
133
+ **Solution**: If you need the older classic version of Teams (version 1.x), install it with:
134
+
135
+ ```bash
136
+ brew install --quiet --cask microsoft-teams@classic
137
+ ```
138
+
139
+ **Problem**: Teams fails to start after macOS Sequoia upgrade
140
+
141
+ **Solution**: Reinstall Teams:
142
+
143
+ ```bash
144
+ brew uninstall --cask microsoft-teams
145
+ brew install --quiet --cask microsoft-teams
146
+ ```
147
+
148
+ ---
149
+
150
+ ### Ubuntu/Debian (APT)
151
+
152
+ #### Platform Limitation
153
+
154
+ **Microsoft Teams is not available natively on Linux.** Microsoft discontinued the official Linux desktop client at the end of 2022. The recommended solution is the unofficial "Teams for Linux" Electron-based client, which wraps the Teams web application in a desktop wrapper with system integration.
155
+
156
+ #### Prerequisites
157
+
158
+ - Ubuntu 20.04, 22.04, 24.04 or later, or Debian 11, 12 or later (64-bit)
159
+ - sudo privileges
160
+ - At least 1 GB free disk space
161
+
162
+ #### Installation Steps
163
+
164
+ **Step 1: Add the Teams for Linux repository**
165
+
166
+ ```bash
167
+ sudo mkdir -p /etc/apt/keyrings
168
+ sudo wget -qO /etc/apt/keyrings/teams-for-linux.asc https://repo.teamsforlinux.de/teams-for-linux.asc
169
+ ```
170
+
171
+ **Step 2: Add the repository source**
172
+
173
+ ```bash
174
+ echo "Types: deb
175
+ URIs: https://repo.teamsforlinux.de/debian/
176
+ Suites: stable
177
+ Components: main
178
+ Signed-By: /etc/apt/keyrings/teams-for-linux.asc
179
+ Architectures: amd64" | sudo tee /etc/apt/sources.list.d/teams-for-linux-packages.sources > /dev/null
180
+ ```
181
+
182
+ **Step 3: Update package lists and install**
183
+
184
+ ```bash
185
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
186
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y teams-for-linux
187
+ ```
188
+
189
+ **Alternative: Install via Snap**
190
+
191
+ If you prefer Snap packages or need ARM architecture support:
192
+
193
+ ```bash
194
+ sudo snap install teams-for-linux
195
+ ```
196
+
197
+ The Snap version supports amd64, arm64, and armhf architectures.
198
+
199
+ #### Verification
200
+
201
+ Confirm the installation succeeded:
202
+
203
+ ```bash
204
+ teams-for-linux --version
205
+ ```
206
+
207
+ Or check if the package is installed:
208
+
209
+ ```bash
210
+ dpkg -l | grep teams-for-linux
211
+ ```
212
+
213
+ Launch Teams:
214
+
215
+ ```bash
216
+ teams-for-linux &
217
+ ```
218
+
219
+ #### Troubleshooting
220
+
221
+ **Problem**: GPG key import fails
222
+
223
+ **Solution**: Ensure wget is installed and try again:
224
+
225
+ ```bash
226
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget ca-certificates
227
+ sudo wget -qO /etc/apt/keyrings/teams-for-linux.asc https://repo.teamsforlinux.de/teams-for-linux.asc
228
+ ```
229
+
230
+ **Problem**: Package not found after adding repository
231
+
232
+ **Solution**: Verify the repository file was created correctly:
233
+
234
+ ```bash
235
+ cat /etc/apt/sources.list.d/teams-for-linux-packages.sources
236
+ ```
237
+
238
+ If empty or malformed, recreate it using the commands in Step 2.
239
+
240
+ **Problem**: Application crashes or white screen
241
+
242
+ **Solution**: Try running with GPU acceleration disabled:
243
+
244
+ ```bash
245
+ teams-for-linux --disable-gpu
246
+ ```
247
+
248
+ **Problem**: Screen sharing does not work
249
+
250
+ **Solution**: On Wayland sessions, screen sharing may be limited. Switch to X11 session for full screen sharing support, or use Pipewire for Wayland screen sharing.
251
+
252
+ ---
253
+
254
+ ### Raspberry Pi OS (APT)
255
+
256
+ #### Platform Limitation
257
+
258
+ **Microsoft Teams does not have an official ARM client.** The unofficial "Teams for Linux" Snap package supports ARM architectures (arm64 and armhf). The APT repository only provides amd64 packages.
259
+
260
+ #### Prerequisites
261
+
262
+ - Raspberry Pi OS (64-bit recommended) - Bookworm or Bullseye
263
+ - Raspberry Pi 3B+ or later (arm64 or armhf architecture)
264
+ - At least 2 GB RAM (4 GB recommended for video calls)
265
+ - sudo privileges
266
+ - snapd installed
267
+
268
+ #### Installation Steps
269
+
270
+ **Step 1: Ensure snapd is installed**
271
+
272
+ ```bash
273
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
274
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y snapd
275
+ ```
276
+
277
+ **Step 2: Reboot to complete snapd installation (if newly installed)**
278
+
279
+ ```bash
280
+ sudo reboot
281
+ ```
282
+
283
+ **Step 3: Install Teams for Linux via Snap**
284
+
285
+ ```bash
286
+ sudo snap install teams-for-linux
287
+ ```
288
+
289
+ The Snap package includes arm64 and armhf support, making it suitable for Raspberry Pi.
290
+
291
+ **Alternative: Use the Web Application**
292
+
293
+ For better performance on lower-spec Raspberry Pi models, use Microsoft Teams in a browser:
294
+
295
+ ```bash
296
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y chromium-browser
297
+ chromium-browser --app=https://teams.microsoft.com &
298
+ ```
299
+
300
+ #### Verification
301
+
302
+ Confirm the installation succeeded:
303
+
304
+ ```bash
305
+ snap list | grep teams-for-linux
306
+ ```
307
+
308
+ Expected output (version may vary):
309
+
310
+ ```
311
+ teams-for-linux 2.6.18 234 latest/stable nicoh88 -
312
+ ```
313
+
314
+ Launch Teams:
315
+
316
+ ```bash
317
+ teams-for-linux &
318
+ ```
319
+
320
+ #### Troubleshooting
321
+
322
+ **Problem**: Snap installation fails with "snap not found"
323
+
324
+ **Solution**: Install and configure snapd:
325
+
326
+ ```bash
327
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y snapd
328
+ sudo systemctl enable --now snapd.socket
329
+ sudo ln -sf /snap /var/lib/snapd/snap
330
+ sudo reboot
331
+ ```
332
+
333
+ After reboot, retry the installation.
334
+
335
+ **Problem**: Teams is very slow or video calls lag
336
+
337
+ **Solution**: Raspberry Pi has limited resources. For better performance:
338
+ - Use a Raspberry Pi 4 or 5 with at least 4 GB RAM
339
+ - Close other applications during video calls
340
+ - Use the web version in Chromium with hardware acceleration:
341
+
342
+ ```bash
343
+ chromium-browser --enable-features=VaapiVideoDecoder --app=https://teams.microsoft.com
344
+ ```
345
+
346
+ **Problem**: Camera or microphone not detected
347
+
348
+ **Solution**: Ensure your user is in the video and audio groups:
349
+
350
+ ```bash
351
+ sudo usermod -aG video,audio $USER
352
+ ```
353
+
354
+ Log out and log back in for changes to take effect.
355
+
356
+ **Problem**: Screen sharing not available
357
+
358
+ **Solution**: Screen sharing on ARM devices has limited support. Use the web version in Chromium for better screen sharing compatibility.
359
+
360
+ ---
361
+
362
+ ### Amazon Linux/RHEL (DNF/YUM)
363
+
364
+ #### Platform Limitation
365
+
366
+ **Microsoft Teams is not available natively on Linux.** Use the unofficial "Teams for Linux" Electron-based client via the dedicated RPM repository.
367
+
368
+ #### Prerequisites
369
+
370
+ - Amazon Linux 2023, Amazon Linux 2, RHEL 8, RHEL 9, or Fedora
371
+ - sudo privileges
372
+ - At least 1 GB free disk space
373
+
374
+ #### Installation Steps
375
+
376
+ **For Amazon Linux 2023, RHEL 8/9, and Fedora:**
377
+
378
+ **Step 1: Import the GPG key**
379
+
380
+ ```bash
381
+ curl -1sLf -o /tmp/teams-for-linux.asc https://repo.teamsforlinux.de/teams-for-linux.asc
382
+ sudo rpm --import /tmp/teams-for-linux.asc
383
+ ```
384
+
385
+ **Step 2: Add the repository**
386
+
387
+ ```bash
388
+ sudo curl -1sLf -o /etc/yum.repos.d/teams-for-linux.repo https://repo.teamsforlinux.de/rpm/teams-for-linux.repo
389
+ ```
390
+
391
+ **Step 3: Install Teams for Linux**
392
+
393
+ ```bash
394
+ sudo dnf install -y teams-for-linux
395
+ ```
396
+
397
+ **For Amazon Linux 2 (uses yum):**
398
+
399
+ ```bash
400
+ curl -1sLf -o /tmp/teams-for-linux.asc https://repo.teamsforlinux.de/teams-for-linux.asc
401
+ sudo rpm --import /tmp/teams-for-linux.asc
402
+ sudo curl -1sLf -o /etc/yum.repos.d/teams-for-linux.repo https://repo.teamsforlinux.de/rpm/teams-for-linux.repo
403
+ sudo yum install -y teams-for-linux
404
+ ```
405
+
406
+ **Note for EC2 Instances**: If running on a headless EC2 instance without a GUI, Microsoft Teams cannot be used directly. Consider:
407
+ - Using the Microsoft Graph API for automated Teams operations
408
+ - Accessing Teams via a browser on a workstation that connects to the EC2 instance
409
+
410
+ #### Verification
411
+
412
+ Confirm the installation succeeded:
413
+
414
+ ```bash
415
+ teams-for-linux --version
416
+ ```
417
+
418
+ Or check if the package is installed:
419
+
420
+ ```bash
421
+ rpm -qa | grep teams-for-linux
422
+ ```
423
+
424
+ Launch Teams:
425
+
426
+ ```bash
427
+ teams-for-linux &
428
+ ```
429
+
430
+ #### Troubleshooting
431
+
432
+ **Problem**: GPG key import fails
433
+
434
+ **Solution**: Ensure curl is installed:
435
+
436
+ ```bash
437
+ sudo dnf install -y curl
438
+ ```
439
+
440
+ Then retry the GPG key import.
441
+
442
+ **Problem**: Repository not found
443
+
444
+ **Solution**: Verify the repository file exists and is correct:
445
+
446
+ ```bash
447
+ cat /etc/yum.repos.d/teams-for-linux.repo
448
+ ```
449
+
450
+ If missing, recreate it using the commands in Step 2.
451
+
452
+ **Problem**: Dependency conflicts
453
+
454
+ **Solution**: Update system packages first:
455
+
456
+ ```bash
457
+ sudo dnf update -y
458
+ sudo dnf install -y teams-for-linux
459
+ ```
460
+
461
+ **Problem**: Application won't start on headless server
462
+
463
+ **Solution**: Teams requires a graphical environment. For headless servers, use the Microsoft Teams web application through a browser on a machine with GUI access, or use Microsoft Graph API for programmatic access.
464
+
465
+ ---
466
+
467
+ ### Windows (Chocolatey/winget)
468
+
469
+ #### Prerequisites
470
+
471
+ - Windows 10 version 20H1 (10.0.19041) or later, or Windows 11
472
+ - At least 2 GB RAM and 3 GB free disk space
473
+ - Administrator PowerShell or Command Prompt
474
+ - Microsoft account (personal, work, or school)
475
+
476
+ If Chocolatey is not installed, install it first by running this command in an Administrator PowerShell:
477
+
478
+ ```powershell
479
+ 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'))
480
+ ```
481
+
482
+ #### Installation Steps
483
+
484
+ **Using Chocolatey (Recommended):**
485
+
486
+ Run the following command in an Administrator PowerShell or Command Prompt:
487
+
488
+ ```powershell
489
+ choco install microsoft-teams-new-bootstrapper -y
490
+ ```
491
+
492
+ The `-y` flag automatically confirms all prompts, enabling fully non-interactive installation.
493
+
494
+ This installs the new Microsoft Teams client (version 2.x) using the official Microsoft bootstrapper, which downloads and installs the latest Teams MSIX package. Teams is self-updating after installation.
495
+
496
+ **Alternative Using winget:**
497
+
498
+ ```powershell
499
+ winget install --id Microsoft.Teams --silent --accept-package-agreements --accept-source-agreements
500
+ ```
501
+
502
+ The flags ensure non-interactive installation:
503
+ - `--silent` suppresses the installer UI
504
+ - `--accept-package-agreements` auto-accepts license agreements
505
+ - `--accept-source-agreements` accepts source repository terms
506
+
507
+ **Note**: After installation, launch Teams and sign in with your Microsoft account.
508
+
509
+ #### Verification
510
+
511
+ Open a new Command Prompt or PowerShell window, then verify the installation:
512
+
513
+ ```powershell
514
+ winget list --id Microsoft.Teams
515
+ ```
516
+
517
+ Or check for the Teams executable:
518
+
519
+ ```powershell
520
+ Get-Command ms-teams -ErrorAction SilentlyContinue
521
+ ```
522
+
523
+ Launch Teams:
524
+
525
+ ```powershell
526
+ Start-Process ms-teams:
527
+ ```
528
+
529
+ Or from the Start Menu, search for "Microsoft Teams" and launch it.
530
+
531
+ #### Troubleshooting
532
+
533
+ **Problem**: "Package not found" error with Chocolatey
534
+
535
+ **Solution**: Update Chocolatey sources and retry:
536
+
537
+ ```powershell
538
+ choco upgrade chocolatey -y
539
+ choco install microsoft-teams-new-bootstrapper -y
540
+ ```
541
+
542
+ **Problem**: Installation fails with "App Installer" error
543
+
544
+ **Solution**: The Teams bootstrapper requires App Installer (MSIX). Update App Installer from the Microsoft Store or run:
545
+
546
+ ```powershell
547
+ winget install --id Microsoft.AppInstaller --silent --accept-package-agreements --accept-source-agreements
548
+ ```
549
+
550
+ **Problem**: Teams shows "classic" version instead of new client
551
+
552
+ **Solution**: The new Teams client may need to be enabled by your IT administrator for work/school accounts. For personal use, ensure you installed the new bootstrapper, not the classic package.
553
+
554
+ **Problem**: Cannot sign in with work/school account
555
+
556
+ **Solution**: Your organization may have specific Teams deployment policies. Contact your IT administrator to verify Teams access.
557
+
558
+ **Problem**: Teams does not start after installation
559
+
560
+ **Solution**: Restart your computer and try launching Teams again:
561
+
562
+ ```powershell
563
+ Restart-Computer -Force
564
+ ```
565
+
566
+ ---
567
+
568
+ ### WSL (Ubuntu)
569
+
570
+ #### Platform Limitation
571
+
572
+ **Microsoft Teams cannot be installed within WSL (Windows Subsystem for Linux).** WSL runs a Linux environment, and while Teams for Linux could theoretically run in WSL with WSLg (graphical support), the recommended approach is to install Teams on the Windows host.
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 installation
579
+
580
+ #### Recommended Approach
581
+
582
+ Install Microsoft Teams on the Windows host and access it from WSL by launching the Windows executable.
583
+
584
+ **Step 1: Install Microsoft Teams on Windows**
585
+
586
+ From a Windows Administrator PowerShell:
587
+
588
+ ```powershell
589
+ choco install microsoft-teams-new-bootstrapper -y
590
+ ```
591
+
592
+ **Step 2: Access Teams from WSL**
593
+
594
+ From within your WSL terminal, you can launch Windows Teams:
595
+
596
+ ```bash
597
+ # Launch Microsoft Teams from WSL
598
+ /mnt/c/Users/$(cmd.exe /c "echo %USERNAME%" 2>/dev/null | tr -d '\r')/AppData/Local/Microsoft/WindowsApps/ms-teams.exe &
599
+ ```
600
+
601
+ Or use the simpler approach with the PATH:
602
+
603
+ ```bash
604
+ cmd.exe /c start ms-teams:
605
+ ```
606
+
607
+ **Alternative: Install Teams for Linux in WSL with WSLg**
608
+
609
+ If you have WSLg (Windows Subsystem for Linux GUI) enabled, you can install Teams for Linux:
610
+
611
+ ```bash
612
+ sudo snap install teams-for-linux
613
+ teams-for-linux &
614
+ ```
615
+
616
+ Note: This requires WSL 2 with WSLg support (Windows 11 or Windows 10 with KB5020030).
617
+
618
+ #### Verification
619
+
620
+ From WSL, verify you can access Windows Teams:
621
+
622
+ ```bash
623
+ cmd.exe /c "where ms-teams" 2>/dev/null
624
+ ```
625
+
626
+ Or verify the Teams for Linux Snap (if installed in WSL):
627
+
628
+ ```bash
629
+ snap list | grep teams-for-linux
630
+ ```
631
+
632
+ #### Troubleshooting
633
+
634
+ **Problem**: Cannot launch Windows Teams from WSL
635
+
636
+ **Solution**: Ensure Teams is installed on Windows and try the direct command:
637
+
638
+ ```bash
639
+ cmd.exe /c start ms-teams:
640
+ ```
641
+
642
+ **Problem**: Teams for Linux Snap fails in WSL
643
+
644
+ **Solution**: WSLg may not be enabled or working correctly. Check WSLg status:
645
+
646
+ ```bash
647
+ ls /mnt/wslg
648
+ ```
649
+
650
+ If the directory does not exist or is empty, WSLg is not available. Update to Windows 11 or a recent Windows 10 build with WSLg support.
651
+
652
+ **Problem**: Audio/video not working in Teams for Linux on WSL
653
+
654
+ **Solution**: WSLg audio support can be inconsistent. Use Windows Teams for meetings with audio/video.
655
+
656
+ ---
657
+
658
+ ### Git Bash (Windows Installation)
659
+
660
+ #### Prerequisites
661
+
662
+ - Windows 10 or Windows 11 (64-bit)
663
+ - Git Bash installed (comes with Git for Windows)
664
+ - Administrator access for installation
665
+
666
+ #### Installation Steps
667
+
668
+ Git Bash runs on Windows, so Microsoft Teams is installed on the Windows host and accessible from Git Bash.
669
+
670
+ **Step 1: Install Microsoft Teams on Windows**
671
+
672
+ From an Administrator Command Prompt or PowerShell (not Git Bash):
673
+
674
+ ```powershell
675
+ choco install microsoft-teams-new-bootstrapper -y
676
+ ```
677
+
678
+ **Step 2: Restart your computer if prompted**
679
+
680
+ **Step 3: Access Teams from Git Bash**
681
+
682
+ After installation, Teams can be launched from Git Bash:
683
+
684
+ ```bash
685
+ start ms-teams:
686
+ ```
687
+
688
+ Or use the explicit path:
689
+
690
+ ```bash
691
+ cmd //c "start ms-teams:"
692
+ ```
693
+
694
+ #### Verification
695
+
696
+ From Git Bash, verify Teams can be launched:
697
+
698
+ ```bash
699
+ start ms-teams:
700
+ ```
701
+
702
+ Teams should open in a new window.
703
+
704
+ #### Troubleshooting
705
+
706
+ **Problem**: `start: command not found`
707
+
708
+ **Solution**: Use the Windows-style command:
709
+
710
+ ```bash
711
+ cmd //c "start ms-teams:"
712
+ ```
713
+
714
+ **Problem**: Teams does not launch
715
+
716
+ **Solution**: Ensure Teams is installed and restart your computer. Then try:
717
+
718
+ ```bash
719
+ "/c/Users/$USERNAME/AppData/Local/Microsoft/WindowsApps/ms-teams.exe" &
720
+ ```
721
+
722
+ **Problem**: Need to use Teams commands in scripts
723
+
724
+ **Solution**: For scripting, use the Windows command wrapper:
725
+
726
+ ```bash
727
+ #!/bin/bash
728
+ # Launch Teams silently
729
+ cmd //c "start /min ms-teams:" 2>/dev/null
730
+ ```
731
+
732
+ ---
733
+
734
+ ## Post-Installation Configuration
735
+
736
+ After installing Microsoft Teams on any platform, consider these configuration steps.
737
+
738
+ ### Signing In
739
+
740
+ 1. Launch Microsoft Teams
741
+ 2. Enter your email address (personal Microsoft account, or work/school account)
742
+ 3. Follow the authentication prompts
743
+ 4. Complete any organization-specific setup if using a work/school account
744
+
745
+ ### Configuring Notifications
746
+
747
+ Adjust notification settings to avoid interruptions:
748
+
749
+ 1. Click on your profile picture in Teams
750
+ 2. Go to Settings > Notifications
751
+ 3. Configure notification preferences for messages, meetings, and mentions
752
+
753
+ ### Setting Up Audio and Video
754
+
755
+ Before your first meeting:
756
+
757
+ 1. Click on your profile picture in Teams
758
+ 2. Go to Settings > Devices
759
+ 3. Test your speaker, microphone, and camera
760
+ 4. Make a test call to verify everything works
761
+
762
+ ### Enabling Dark Mode
763
+
764
+ For reduced eye strain:
765
+
766
+ 1. Click on your profile picture in Teams
767
+ 2. Go to Settings > Appearance
768
+ 3. Select "Dark" or "High contrast"
769
+
770
+ ### Configuring Startup Behavior
771
+
772
+ To control whether Teams starts automatically:
773
+
774
+ **Windows:**
775
+ 1. Go to Settings > General
776
+ 2. Toggle "Auto-start application" on or off
777
+
778
+ **macOS:**
779
+ 1. Go to Settings > General
780
+ 2. Toggle "Auto-start application" on or off
781
+
782
+ **Linux (Teams for Linux):**
783
+ ```bash
784
+ # Disable autostart
785
+ rm ~/.config/autostart/teams-for-linux.desktop 2>/dev/null || true
786
+ ```
787
+
788
+ ---
789
+
790
+ ## Common Issues
791
+
792
+ ### Issue: "Sign in loop" - Cannot Complete Sign In
793
+
794
+ **Symptoms**: Teams asks you to sign in repeatedly without completing authentication
795
+
796
+ **Solutions**:
797
+
798
+ - Clear Teams cache:
799
+
800
+ **Windows:**
801
+ ```powershell
802
+ Remove-Item -Path "$env:APPDATA\Microsoft\Teams\*" -Recurse -Force -ErrorAction SilentlyContinue
803
+ ```
804
+
805
+ **macOS:**
806
+ ```bash
807
+ rm -rf ~/Library/Application\ Support/Microsoft/Teams/*
808
+ rm -rf ~/Library/Caches/com.microsoft.teams/*
809
+ ```
810
+
811
+ **Linux:**
812
+ ```bash
813
+ rm -rf ~/.config/teams-for-linux/*
814
+ rm -rf ~/.cache/teams-for-linux/*
815
+ ```
816
+
817
+ ### Issue: Audio or Video Not Working in Meetings
818
+
819
+ **Symptoms**: Others cannot hear you or see your video
820
+
821
+ **Solutions**:
822
+
823
+ - Check device permissions in your operating system settings
824
+ - Verify the correct devices are selected in Teams Settings > Devices
825
+ - Close other applications that might be using the camera or microphone
826
+ - Restart Teams
827
+
828
+ ### Issue: Screen Sharing Not Available
829
+
830
+ **Symptoms**: Screen sharing option is grayed out or not working
831
+
832
+ **Solutions**:
833
+
834
+ - **macOS**: Grant screen recording permission in System Preferences > Security & Privacy > Privacy > Screen Recording
835
+ - **Linux**: On Wayland, screen sharing may be limited. Use X11 session or ensure Pipewire is configured
836
+ - **Windows**: Run Teams as administrator if sharing specific applications
837
+
838
+ ### Issue: High CPU or Memory Usage
839
+
840
+ **Symptoms**: Teams consumes excessive system resources
841
+
842
+ **Solutions**:
843
+
844
+ - Disable GPU hardware acceleration in Settings > General (if experiencing issues)
845
+ - Close unused chats and channels
846
+ - Restart Teams periodically
847
+ - Update to the latest version
848
+
849
+ ### Issue: Notifications Not Working
850
+
851
+ **Symptoms**: Missing notifications for messages or calls
852
+
853
+ **Solutions**:
854
+
855
+ - Check notification settings in Teams and operating system
856
+ - Ensure "Do Not Disturb" mode is not enabled
857
+ - Verify Teams is allowed to send notifications in OS settings
858
+
859
+ ---
860
+
861
+ ## Summary Table
862
+
863
+ | Platform | Native Support | Installation Method | Notes |
864
+ |----------|---------------|---------------------|-------|
865
+ | macOS | Yes | `brew install --quiet --cask microsoft-teams` | Requires macOS 11+ |
866
+ | Windows | Yes | `choco install microsoft-teams-new-bootstrapper -y` | Primary supported platform |
867
+ | Ubuntu/Debian | No (unofficial) | APT repo or `sudo snap install teams-for-linux` | Teams for Linux (Electron wrapper) |
868
+ | Raspberry Pi | No (unofficial) | `sudo snap install teams-for-linux` | Snap supports ARM64/armhf |
869
+ | Amazon Linux/RHEL | No (unofficial) | RPM repository + `dnf install teams-for-linux` | Teams for Linux |
870
+ | WSL | N/A | Install on Windows host | Uses Windows installation |
871
+ | Git Bash | N/A | Uses Windows installation | Inherits Windows Teams |
872
+
873
+ ---
874
+
875
+ ## References
876
+
877
+ - [Microsoft Teams Official Website](https://www.microsoft.com/en-us/microsoft-teams/group-chat-software/)
878
+ - [Microsoft Teams Web Application](https://teams.microsoft.com)
879
+ - [Microsoft Teams Homebrew Cask](https://formulae.brew.sh/cask/microsoft-teams)
880
+ - [Microsoft Teams Classic Homebrew Cask](https://formulae.brew.sh/cask/microsoft-teams@classic)
881
+ - [Microsoft Teams Chocolatey Package (New Client)](https://community.chocolatey.org/packages/microsoft-teams-new-bootstrapper)
882
+ - [Microsoft Teams winget Package](https://winget.run/pkg/Microsoft/Teams)
883
+ - [Teams for Linux (Unofficial Client)](https://github.com/IsmaelMartinez/teams-for-linux)
884
+ - [Teams for Linux Snap Package](https://snapcraft.io/teams-for-linux)
885
+ - [Teams for Linux Repository](https://repo.teamsforlinux.de/)
886
+ - [winget install Command Documentation](https://learn.microsoft.com/en-us/windows/package-manager/winget/install)