@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,760 @@
1
+ # Installing Microsoft Office 365
2
+
3
+ ## Overview
4
+
5
+ Microsoft Office 365 (now branded as Microsoft 365) is a subscription-based productivity suite that includes applications such as Word, Excel, PowerPoint, Outlook, OneNote, and OneDrive. It provides both desktop applications and cloud-based services for document creation, collaboration, and communication.
6
+
7
+ **Important Platform Availability Note**: Microsoft Office 365 is **only officially supported** on Windows, macOS, iOS, and Android. There is **no native Linux version** of Microsoft Office. This document provides installation instructions for supported platforms and alternative approaches for Linux-based systems.
8
+
9
+ ## Prerequisites
10
+
11
+ Before installing Microsoft Office 365 on any platform, ensure:
12
+
13
+ 1. **Internet connectivity** - Required to download installation packages and activate the license
14
+ 2. **Microsoft Account** - Required to activate and use Microsoft 365 (personal or organizational account)
15
+ 3. **Valid Microsoft 365 subscription** - A license is required after installation
16
+ 4. **Administrative privileges** - Required for system-wide installation
17
+
18
+ ## Dependencies
19
+
20
+ ### macOS (Homebrew)
21
+ - **Required:**
22
+ - Homebrew package manager - Install via `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` or `dev install homebrew`
23
+ - **Optional:** None
24
+ - **Auto-installed:** None (all Microsoft Office applications are bundled in the microsoft-office cask)
25
+
26
+ ### Ubuntu (APT/Snap)
27
+ - **Required:** Installation not supported on this platform
28
+ - **Optional:** N/A
29
+ - **Auto-installed:** N/A
30
+
31
+ **Note:** Microsoft Office 365 is not available natively on Ubuntu. See alternative approaches in the platform-specific section below.
32
+
33
+ ### Raspberry Pi OS (APT/Snap)
34
+ - **Required:** Installation not supported on this platform
35
+ - **Optional:** N/A
36
+ - **Auto-installed:** N/A
37
+
38
+ **Note:** Microsoft Office 365 is not available on Raspberry Pi OS due to ARM architecture incompatibility. See alternative approaches in the platform-specific section below.
39
+
40
+ ### Amazon Linux (DNF/YUM)
41
+ - **Required:** Installation not supported on this platform
42
+ - **Optional:** N/A
43
+ - **Auto-installed:** N/A
44
+
45
+ **Note:** Microsoft Office 365 is not available natively on Amazon Linux. See alternative approaches in the platform-specific section below.
46
+
47
+ ### Windows (Chocolatey/winget)
48
+ - **Required:**
49
+ - 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'))`
50
+ - Or winget (built into Windows 10 1809+ and Windows 11)
51
+ - **Optional:** None
52
+ - **Auto-installed:** None (all Microsoft Office applications are bundled in the office365proplus package)
53
+
54
+ ### Git Bash (Manual/Portable)
55
+ - **Required:**
56
+ - PowerShell - Pre-installed on Windows 10 and Windows 11
57
+ - 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'))`
58
+ - **Optional:** None
59
+ - **Auto-installed:** None (installation uses Windows host's package manager)
60
+
61
+ ## Platform-Specific Installation
62
+
63
+ ### macOS (Homebrew)
64
+
65
+ #### Prerequisites
66
+
67
+ - macOS 14 (Sonoma) or later (Microsoft 365 supports the current and two previous major macOS releases)
68
+ - Homebrew package manager installed
69
+ - At least 10 GB free disk space
70
+ - Apple Silicon (M1/M2/M3/M4) or Intel processor
71
+
72
+ If Homebrew is not installed, install it first:
73
+
74
+ ```bash
75
+ NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
76
+ ```
77
+
78
+ #### Installation Steps
79
+
80
+ Run the following command to install Microsoft Office 365:
81
+
82
+ ```bash
83
+ brew install --quiet --cask microsoft-office
84
+ ```
85
+
86
+ The `--quiet` flag suppresses non-essential output, and `--cask` specifies the graphical application version.
87
+
88
+ This installs the complete Microsoft Office suite including:
89
+ - Microsoft Word
90
+ - Microsoft Excel
91
+ - Microsoft PowerPoint
92
+ - Microsoft Outlook
93
+ - Microsoft OneNote
94
+ - OneDrive
95
+
96
+ **Note**: On first launch, each application will require you to sign in with your Microsoft account to activate the license.
97
+
98
+ #### Verification
99
+
100
+ Confirm the installation succeeded by checking if the applications exist:
101
+
102
+ ```bash
103
+ ls /Applications/ | grep -i microsoft
104
+ ```
105
+
106
+ Expected output:
107
+
108
+ ```
109
+ Microsoft Excel.app
110
+ Microsoft OneNote.app
111
+ Microsoft Outlook.app
112
+ Microsoft PowerPoint.app
113
+ Microsoft Word.app
114
+ ```
115
+
116
+ Verify Word can launch:
117
+
118
+ ```bash
119
+ open -a "Microsoft Word"
120
+ ```
121
+
122
+ #### Troubleshooting
123
+
124
+ **Problem**: `Error: Cask microsoft-office requires macOS >= 13`
125
+
126
+ **Solution**: Your macOS version is too old. Microsoft Office 365 requires macOS 13 (Ventura) or later. Upgrade your operating system before installing.
127
+
128
+ **Problem**: Installation conflicts with existing Microsoft apps
129
+
130
+ **Solution**: The microsoft-office cask conflicts with individual Microsoft app casks. Remove conflicting casks first:
131
+
132
+ ```bash
133
+ brew uninstall --cask microsoft-word microsoft-excel microsoft-powerpoint microsoft-outlook microsoft-onenote 2>/dev/null || true
134
+ brew install --quiet --cask microsoft-office
135
+ ```
136
+
137
+ **Problem**: "Microsoft Office is damaged and can't be opened" error
138
+
139
+ **Solution**: Clear the quarantine attribute:
140
+
141
+ ```bash
142
+ xattr -cr /Applications/Microsoft\ Word.app
143
+ xattr -cr /Applications/Microsoft\ Excel.app
144
+ xattr -cr /Applications/Microsoft\ PowerPoint.app
145
+ xattr -cr /Applications/Microsoft\ Outlook.app
146
+ xattr -cr /Applications/Microsoft\ OneNote.app
147
+ ```
148
+
149
+ **Problem**: License activation fails
150
+
151
+ **Solution**: Ensure you have a valid Microsoft 365 subscription and are signed in with the correct Microsoft account. Open any Office app and go to the account settings to verify your subscription status.
152
+
153
+ ---
154
+
155
+ ### Ubuntu/Debian (APT)
156
+
157
+ #### Platform Limitation
158
+
159
+ **Microsoft Office 365 is not available natively on Linux.** Microsoft does not provide desktop Office applications for any Linux distribution including Ubuntu and Debian.
160
+
161
+ #### Alternative Approaches
162
+
163
+ Since native installation is not possible, use Microsoft 365 for the web (browser-based) as the primary solution:
164
+
165
+ **Step 1: Ensure a modern web browser is installed**
166
+
167
+ ```bash
168
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
169
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y chromium-browser
170
+ ```
171
+
172
+ **Step 2: Access Microsoft 365 Online**
173
+
174
+ Navigate to https://www.office.com in your browser and sign in with your Microsoft account. All Office applications (Word, Excel, PowerPoint, OneNote) are available through the web interface with full document editing capabilities.
175
+
176
+ **Alternative: Install Office 365 Web Desktop App (Snap)**
177
+
178
+ A community-maintained Snap package provides a dedicated desktop wrapper for Microsoft 365 web applications:
179
+
180
+ ```bash
181
+ sudo snap install office365webdesktop --beta
182
+ ```
183
+
184
+ **Note**: This is a third-party wrapper around the web version, not an official Microsoft product. It provides a standalone window experience but requires internet connectivity and uses the web-based Office features.
185
+
186
+ #### Verification
187
+
188
+ For the web-based approach, verify browser installation:
189
+
190
+ ```bash
191
+ chromium-browser --version
192
+ ```
193
+
194
+ For the Snap package:
195
+
196
+ ```bash
197
+ snap list | grep office365
198
+ ```
199
+
200
+ #### Troubleshooting
201
+
202
+ **Problem**: Web version has limited features compared to desktop
203
+
204
+ **Solution**: This is expected behavior. Microsoft 365 for the web provides core editing functionality but lacks some advanced features available in desktop applications. For full functionality on Linux, consider running Windows in a virtual machine.
205
+
206
+ **Problem**: Snap package fails to connect
207
+
208
+ **Solution**: Ensure you have an active internet connection and valid Microsoft 365 subscription. The Snap package is a web wrapper and requires network access.
209
+
210
+ ---
211
+
212
+ ### Raspberry Pi OS (APT)
213
+
214
+ #### Platform Limitation
215
+
216
+ **Microsoft Office 365 is not available on Raspberry Pi.** Microsoft Office is designed for x86/x64 architectures (Intel/AMD processors), not ARM architecture. Even if Wine were used, Office would not function properly due to the ARM architecture.
217
+
218
+ #### Alternative Approaches
219
+
220
+ Use Microsoft 365 for the web as the primary solution:
221
+
222
+ **Step 1: Install a web browser**
223
+
224
+ ```bash
225
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
226
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y chromium-browser
227
+ ```
228
+
229
+ **Step 2: Access Microsoft 365 Online**
230
+
231
+ Navigate to https://www.office.com in Chromium and sign in with your Microsoft account.
232
+
233
+ **Note on Performance**: Microsoft 365 web applications are JavaScript-heavy and may perform slowly on Raspberry Pi models with limited RAM. For better performance:
234
+ - Use a Raspberry Pi 4 or 5 with at least 4 GB RAM
235
+ - Close other applications while using Office
236
+ - Consider using the 64-bit version of Raspberry Pi OS
237
+
238
+ **Alternative: LibreOffice**
239
+
240
+ For offline document editing with Microsoft Office file format compatibility, use LibreOffice:
241
+
242
+ ```bash
243
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libreoffice
244
+ ```
245
+
246
+ LibreOffice can open and edit .docx, .xlsx, and .pptx files, though some advanced formatting may differ from Microsoft Office.
247
+
248
+ #### Verification
249
+
250
+ For the browser-based approach:
251
+
252
+ ```bash
253
+ chromium-browser --version
254
+ ```
255
+
256
+ For LibreOffice:
257
+
258
+ ```bash
259
+ libreoffice --version
260
+ ```
261
+
262
+ #### Troubleshooting
263
+
264
+ **Problem**: Microsoft 365 web is very slow
265
+
266
+ **Solution**: Web applications are resource-intensive. Use a Raspberry Pi 4 or newer with at least 4 GB RAM, enable hardware acceleration in Chromium settings, and consider using the 64-bit version of Raspberry Pi OS.
267
+
268
+ **Problem**: Complex documents do not render correctly in LibreOffice
269
+
270
+ **Solution**: This is a limitation of format conversion between office suites. For critical documents requiring exact Microsoft Office formatting, use Microsoft 365 for the web or access Office through a Windows computer.
271
+
272
+ ---
273
+
274
+ ### Amazon Linux/RHEL (DNF/YUM)
275
+
276
+ #### Platform Limitation
277
+
278
+ **Microsoft Office 365 is not available on Amazon Linux or RHEL.** Microsoft does not provide desktop Office applications for any Linux distribution.
279
+
280
+ #### Alternative Approaches
281
+
282
+ Use Microsoft 365 for the web as the primary solution:
283
+
284
+ **For Amazon Linux 2023:**
285
+
286
+ ```bash
287
+ # Install Firefox browser
288
+ sudo dnf install -y firefox
289
+
290
+ # Or install a Chromium-based browser
291
+ sudo dnf install -y chromium
292
+ ```
293
+
294
+ **For Amazon Linux 2:**
295
+
296
+ ```bash
297
+ # Install Firefox browser
298
+ sudo yum install -y firefox
299
+
300
+ # Or install Chromium
301
+ sudo amazon-linux-extras install -y epel
302
+ sudo yum install -y chromium
303
+ ```
304
+
305
+ **Access Microsoft 365 Online:**
306
+
307
+ Navigate to https://www.office.com in your browser and sign in with your Microsoft account.
308
+
309
+ **Note for EC2 Instances**: If running on a headless EC2 instance without a GUI, Microsoft 365 cannot be used directly. Consider:
310
+ - Using Windows EC2 instances with Microsoft Office installed
311
+ - Processing documents programmatically using tools like LibreOffice headless mode
312
+ - Using Microsoft Graph API for automated document operations
313
+
314
+ **Alternative: LibreOffice for Command-Line Document Processing**
315
+
316
+ For headless servers that need to process Office documents:
317
+
318
+ ```bash
319
+ # Amazon Linux 2023
320
+ sudo dnf install -y libreoffice-headless libreoffice-writer libreoffice-calc libreoffice-impress
321
+
322
+ # Amazon Linux 2
323
+ sudo yum install -y libreoffice-headless libreoffice-writer libreoffice-calc libreoffice-impress
324
+ ```
325
+
326
+ Example: Convert a Word document to PDF:
327
+
328
+ ```bash
329
+ libreoffice --headless --convert-to pdf document.docx
330
+ ```
331
+
332
+ #### Verification
333
+
334
+ For browser installation:
335
+
336
+ ```bash
337
+ firefox --version
338
+ ```
339
+
340
+ For LibreOffice headless:
341
+
342
+ ```bash
343
+ libreoffice --headless --version
344
+ ```
345
+
346
+ #### Troubleshooting
347
+
348
+ **Problem**: Cannot install Chromium on Amazon Linux 2
349
+
350
+ **Solution**: Chromium requires EPEL repository:
351
+
352
+ ```bash
353
+ sudo amazon-linux-extras install -y epel
354
+ sudo yum install -y chromium
355
+ ```
356
+
357
+ **Problem**: Need Microsoft Office on server for automated document processing
358
+
359
+ **Solution**: Use LibreOffice headless for format conversion, or use Microsoft Graph API for cloud-based document operations. For complex workflows requiring exact Microsoft Office compatibility, consider Windows-based infrastructure.
360
+
361
+ ---
362
+
363
+ ### Windows (Chocolatey/winget)
364
+
365
+ #### Prerequisites
366
+
367
+ - Windows 10 version 1903 or later (64-bit), or Windows 11
368
+ - At least 4 GB RAM and 10 GB free disk space
369
+ - Administrator PowerShell or Command Prompt
370
+ - Valid Microsoft 365 subscription
371
+
372
+ If Chocolatey is not installed, install it first by running this command in an Administrator PowerShell:
373
+
374
+ ```powershell
375
+ 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'))
376
+ ```
377
+
378
+ #### Installation Steps
379
+
380
+ **Using Chocolatey (Recommended):**
381
+
382
+ Run the following command in an Administrator PowerShell or Command Prompt:
383
+
384
+ ```powershell
385
+ choco install office365proplus -y
386
+ ```
387
+
388
+ The `-y` flag automatically confirms all prompts, enabling fully non-interactive installation.
389
+
390
+ This installs Microsoft 365 Apps (formerly Office 365 ProPlus) including Word, Excel, PowerPoint, Outlook, OneNote, Access, and Publisher.
391
+
392
+ **Customization Options:**
393
+
394
+ To specify a different language:
395
+
396
+ ```powershell
397
+ choco install office365proplus -y --params "'/Language:de-de'"
398
+ ```
399
+
400
+ **Alternative Using winget:**
401
+
402
+ If you prefer winget over Chocolatey:
403
+
404
+ ```powershell
405
+ winget install --id Microsoft.Office --silent --accept-package-agreements --accept-source-agreements
406
+ ```
407
+
408
+ The flags ensure non-interactive installation:
409
+ - `--silent` suppresses the installer UI
410
+ - `--accept-package-agreements` auto-accepts license agreements
411
+ - `--accept-source-agreements` accepts source repository terms
412
+
413
+ **Note**: After installation, launch any Office application and sign in with your Microsoft account to activate the license.
414
+
415
+ #### Verification
416
+
417
+ Open a new Command Prompt or PowerShell window, then verify the installation:
418
+
419
+ ```powershell
420
+ # Check if Word is installed
421
+ Get-Command winword.exe -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Source
422
+ ```
423
+
424
+ Expected output:
425
+
426
+ ```
427
+ C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE
428
+ ```
429
+
430
+ Or launch an Office application:
431
+
432
+ ```powershell
433
+ Start-Process winword
434
+ ```
435
+
436
+ #### Troubleshooting
437
+
438
+ **Problem**: Installation fails with "Office is already installed"
439
+
440
+ **Solution**: Remove the existing Office installation first:
441
+
442
+ ```powershell
443
+ choco uninstall office365proplus -y
444
+ # Or use the Office Removal Tool from Microsoft
445
+ ```
446
+
447
+ **Problem**: License activation fails
448
+
449
+ **Solution**: Open any Office app, go to File > Account, and sign in with your Microsoft account that has an active Microsoft 365 subscription.
450
+
451
+ **Problem**: "Package not found" error with winget
452
+
453
+ **Solution**: Update winget sources and retry:
454
+
455
+ ```powershell
456
+ winget source update
457
+ winget install --id Microsoft.Office --silent --accept-package-agreements --accept-source-agreements
458
+ ```
459
+
460
+ **Problem**: Installation requires a restart
461
+
462
+ **Solution**: Restart your computer after installation completes:
463
+
464
+ ```powershell
465
+ Restart-Computer -Force
466
+ ```
467
+
468
+ ---
469
+
470
+ ### WSL (Ubuntu)
471
+
472
+ #### Platform Limitation
473
+
474
+ **Microsoft Office 365 cannot be installed within WSL (Windows Subsystem for Linux).** WSL runs a Linux environment, and Microsoft Office does not support Linux.
475
+
476
+ #### Recommended Approach
477
+
478
+ Install Microsoft Office on the Windows host (see Windows section above), then access Office applications from WSL by launching Windows executables.
479
+
480
+ **Step 1: Install Microsoft Office on Windows**
481
+
482
+ From a Windows Administrator PowerShell:
483
+
484
+ ```powershell
485
+ choco install office365proplus -y
486
+ ```
487
+
488
+ **Step 2: Access Office from WSL**
489
+
490
+ From within your WSL terminal, you can launch Windows Office applications:
491
+
492
+ ```bash
493
+ # Launch Microsoft Word from WSL
494
+ "/mnt/c/Program Files/Microsoft Office/root/Office16/WINWORD.EXE" &
495
+ ```
496
+
497
+ **Step 3: Create convenient aliases (optional)**
498
+
499
+ Add to your `~/.bashrc`:
500
+
501
+ ```bash
502
+ alias word='"/mnt/c/Program Files/Microsoft Office/root/Office16/WINWORD.EXE" &'
503
+ alias excel='"/mnt/c/Program Files/Microsoft Office/root/Office16/EXCEL.EXE" &'
504
+ alias powerpoint='"/mnt/c/Program Files/Microsoft Office/root/Office16/POWERPNT.EXE" &'
505
+ alias outlook='"/mnt/c/Program Files/Microsoft Office/root/Office16/OUTLOOK.EXE" &'
506
+ ```
507
+
508
+ Then reload:
509
+
510
+ ```bash
511
+ source ~/.bashrc
512
+ ```
513
+
514
+ #### Verification
515
+
516
+ From WSL, verify you can access the Windows Office installation:
517
+
518
+ ```bash
519
+ ls "/mnt/c/Program Files/Microsoft Office/root/Office16/"
520
+ ```
521
+
522
+ Expected output includes files like:
523
+
524
+ ```
525
+ WINWORD.EXE
526
+ EXCEL.EXE
527
+ POWERPNT.EXE
528
+ OUTLOOK.EXE
529
+ ```
530
+
531
+ #### Troubleshooting
532
+
533
+ **Problem**: "Permission denied" when launching Office from WSL
534
+
535
+ **Solution**: Ensure Office is properly installed on Windows. The permission error usually indicates the path is incorrect.
536
+
537
+ **Problem**: Office opens but cannot access WSL files
538
+
539
+ **Solution**: When launching Office from WSL, use Windows-style paths. Convert Linux paths:
540
+
541
+ ```bash
542
+ # Instead of /home/user/document.docx, use:
543
+ wslpath -w ~/document.docx
544
+ # Output: \\wsl$\Ubuntu\home\user\document.docx
545
+ ```
546
+
547
+ Then open with that path:
548
+
549
+ ```bash
550
+ "/mnt/c/Program Files/Microsoft Office/root/Office16/WINWORD.EXE" "$(wslpath -w ~/document.docx)" &
551
+ ```
552
+
553
+ ---
554
+
555
+ ### Git Bash (Windows Installation)
556
+
557
+ #### Prerequisites
558
+
559
+ - Windows 10 or Windows 11 (64-bit)
560
+ - Git Bash installed (comes with Git for Windows)
561
+ - Administrator access for installation
562
+
563
+ #### Installation Steps
564
+
565
+ Git Bash runs on Windows, so Microsoft Office is installed on the Windows host and accessible from Git Bash.
566
+
567
+ **Step 1: Install Microsoft Office on Windows**
568
+
569
+ From an Administrator Command Prompt or PowerShell (not Git Bash):
570
+
571
+ ```powershell
572
+ choco install office365proplus -y
573
+ ```
574
+
575
+ **Step 2: Restart your computer if prompted**
576
+
577
+ **Step 3: Access Office from Git Bash**
578
+
579
+ After installation, Office executables are in your Windows PATH. From Git Bash:
580
+
581
+ ```bash
582
+ # Launch Microsoft Word
583
+ start winword
584
+ ```
585
+
586
+ Or use full paths:
587
+
588
+ ```bash
589
+ "/c/Program Files/Microsoft Office/root/Office16/WINWORD.EXE" &
590
+ ```
591
+
592
+ #### Verification
593
+
594
+ From Git Bash, verify Office is accessible:
595
+
596
+ ```bash
597
+ which winword || ls "/c/Program Files/Microsoft Office/root/Office16/WINWORD.EXE"
598
+ ```
599
+
600
+ Launch Word:
601
+
602
+ ```bash
603
+ start winword
604
+ ```
605
+
606
+ #### Troubleshooting
607
+
608
+ **Problem**: `winword: command not found`
609
+
610
+ **Solution**: Office may not be in the Git Bash PATH. Use the full path:
611
+
612
+ ```bash
613
+ "/c/Program Files/Microsoft Office/root/Office16/WINWORD.EXE"
614
+ ```
615
+
616
+ Or add to PATH in your `~/.bashrc`:
617
+
618
+ ```bash
619
+ echo 'export PATH="$PATH:/c/Program Files/Microsoft Office/root/Office16"' >> ~/.bashrc
620
+ source ~/.bashrc
621
+ ```
622
+
623
+ **Problem**: Files open in wrong application
624
+
625
+ **Solution**: Use `start` command with specific application:
626
+
627
+ ```bash
628
+ start winword "C:/Users/myuser/Documents/file.docx"
629
+ ```
630
+
631
+ ---
632
+
633
+ ## Post-Installation Configuration
634
+
635
+ After installing Microsoft Office 365 on supported platforms (Windows, macOS), consider these configuration steps.
636
+
637
+ ### Activating Your License
638
+
639
+ 1. Open any Office application (Word, Excel, etc.)
640
+ 2. Sign in with your Microsoft account that has an active Microsoft 365 subscription
641
+ 3. Follow the activation prompts to complete setup
642
+
643
+ ### Configuring Default File Formats
644
+
645
+ By default, Microsoft Office uses modern formats (.docx, .xlsx, .pptx). To ensure compatibility:
646
+
647
+ 1. Open any Office application
648
+ 2. Go to File > Options > Save (Windows) or Preferences > Save (macOS)
649
+ 3. Set default file formats as needed
650
+
651
+ ### Enabling Cloud Storage Integration
652
+
653
+ Microsoft 365 integrates with OneDrive for cloud storage:
654
+
655
+ 1. Open any Office application
656
+ 2. Go to File > Account
657
+ 3. Ensure OneDrive is connected under "Connected Services"
658
+
659
+ ### Installing Office Updates
660
+
661
+ **macOS:**
662
+
663
+ ```bash
664
+ # Microsoft AutoUpdate handles Office updates
665
+ open -a "Microsoft AutoUpdate"
666
+ ```
667
+
668
+ **Windows:**
669
+
670
+ ```powershell
671
+ # Office updates through Windows Update or the application itself
672
+ # Open any Office app, go to File > Account > Update Options > Update Now
673
+ ```
674
+
675
+ ---
676
+
677
+ ## Common Issues
678
+
679
+ ### Issue: "Unlicensed Product" Warning
680
+
681
+ **Symptoms**: Office applications show "Unlicensed Product" or limited functionality
682
+
683
+ **Solutions**:
684
+
685
+ - Verify your Microsoft 365 subscription is active at https://account.microsoft.com/services
686
+ - Sign out and sign back in with your Microsoft account
687
+ - On macOS, reset Office license:
688
+
689
+ ```bash
690
+ # Remove Office license files
691
+ rm -rf ~/Library/Group\ Containers/UBF8T346G9.Office/Licenses
692
+ ```
693
+
694
+ ### Issue: Sync Conflicts with OneDrive
695
+
696
+ **Symptoms**: Documents show sync errors or multiple versions
697
+
698
+ **Solutions**:
699
+
700
+ - Check OneDrive sync status in the system tray/menu bar
701
+ - Resolve conflicts by opening the conflicting files and merging changes manually
702
+ - Ensure stable internet connection
703
+
704
+ ### Issue: Office Crashes on Launch
705
+
706
+ **Symptoms**: Applications crash immediately or shortly after opening
707
+
708
+ **Solutions**:
709
+
710
+ **macOS:**
711
+
712
+ ```bash
713
+ # Reset Office preferences
714
+ rm -rf ~/Library/Containers/com.microsoft.*
715
+ rm -rf ~/Library/Group\ Containers/UBF8T346G9.*
716
+ ```
717
+
718
+ **Windows:**
719
+
720
+ ```powershell
721
+ # Run Office repair
722
+ # Open Control Panel > Programs > Programs and Features
723
+ # Select Microsoft 365, click Change, select Quick Repair
724
+ ```
725
+
726
+ ### Issue: Cannot Open Files from Network Locations
727
+
728
+ **Symptoms**: Office shows security warnings or blocks network files
729
+
730
+ **Solutions**:
731
+
732
+ - Add the network location to Trusted Locations in Office settings
733
+ - File > Options > Trust Center > Trust Center Settings > Trusted Locations
734
+
735
+ ---
736
+
737
+ ## Summary Table
738
+
739
+ | Platform | Native Support | Installation Method | Notes |
740
+ |----------|---------------|---------------------|-------|
741
+ | macOS | Yes | `brew install --quiet --cask microsoft-office` | Requires macOS 13+ |
742
+ | Windows | Yes | `choco install office365proplus -y` | Primary supported platform |
743
+ | Ubuntu | No | Browser: https://www.office.com | Web version only |
744
+ | Raspberry Pi | No | Browser: https://www.office.com | Web version only, may be slow |
745
+ | Amazon Linux | No | Browser or LibreOffice headless | Web version or format conversion |
746
+ | WSL | No | Install on Windows host, access from WSL | Uses Windows installation |
747
+ | Git Bash | N/A | Uses Windows installation | Inherits Windows Office |
748
+
749
+ ---
750
+
751
+ ## References
752
+
753
+ - [Microsoft 365 Official Website](https://www.microsoft.com/en-us/microsoft-365)
754
+ - [Microsoft 365 System Requirements](https://www.microsoft.com/en-us/microsoft-365/microsoft-365-and-office-resources)
755
+ - [Microsoft Office Homebrew Cask](https://formulae.brew.sh/cask/microsoft-office)
756
+ - [Office 365 ProPlus Chocolatey Package](https://community.chocolatey.org/packages/office365proplus)
757
+ - [Microsoft Office winget Package](https://winget.run/pkg/Microsoft/Office)
758
+ - [Microsoft 365 for the Web](https://www.office.com)
759
+ - [macOS Version Requirements for Office](https://support.microsoft.com/en-us/office/upgrade-macos-to-continue-receiving-microsoft-365-and-office-for-mac-updates-16b8414f-08ec-4b24-8c91-10a918f649f8)
760
+ - [winget install Command Documentation](https://learn.microsoft.com/en-us/windows/package-manager/winget/install)