@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,661 @@
1
+ # Installing Chocolatey
2
+
3
+ ## Overview
4
+
5
+ Chocolatey is a machine-level package manager for Windows that automates the software installation, configuration, upgrade, and uninstallation process. It uses NuGet infrastructure and PowerShell to wrap installers, executables, zips, and scripts into compiled packages. Chocolatey provides a unified interface for managing software across Windows systems, similar to how APT works on Debian/Ubuntu or Homebrew works on macOS.
6
+
7
+ Key features of Chocolatey:
8
+
9
+ - **Simple installation**: Install software with a single command (`choco install <package>`)
10
+ - **Silent installations**: All packages install non-interactively by default with the `-y` flag
11
+ - **Dependency management**: Automatically handles package dependencies
12
+ - **Enterprise ready**: Integrates with SCCM, Puppet, Chef, Ansible, and other configuration management tools
13
+ - **Large package repository**: Access to thousands of community-maintained packages at chocolatey.org
14
+
15
+ **Platform Support Summary**:
16
+
17
+ | Platform | Support Level | Notes |
18
+ |----------|---------------|-------|
19
+ | Windows 7+ / Server 2003+ | Full | Primary and only supported platform |
20
+ | macOS | Not Supported | Windows-only tool; use Homebrew instead |
21
+ | Ubuntu/Debian | Not Supported | Windows-only tool; use APT instead |
22
+ | Raspberry Pi OS | Not Supported | Windows-only tool; use APT instead |
23
+ | Amazon Linux | Not Supported | Windows-only tool; use DNF/YUM instead |
24
+ | WSL (Ubuntu) | Not Supported | Use APT within WSL; Chocolatey runs on Windows host |
25
+ | Git Bash | Partial | Can invoke Chocolatey from Git Bash terminal on Windows |
26
+
27
+ ## Dependencies
28
+
29
+ ### macOS (Homebrew)
30
+ - **Required:** Not applicable - Chocolatey is a Windows-only package manager
31
+ - **Optional:** None
32
+ - **Auto-installed:** None
33
+ - **Note:** Chocolatey does not run on macOS. Use Homebrew (`brew`) as the package manager for macOS.
34
+
35
+ ### Ubuntu (APT/Snap)
36
+ - **Required:** Not applicable - Chocolatey is a Windows-only package manager
37
+ - **Optional:** None
38
+ - **Auto-installed:** None
39
+ - **Note:** Chocolatey does not run on Linux. Use APT (`apt-get`) or Snap as the package manager for Ubuntu/Debian.
40
+
41
+ ### Raspberry Pi OS (APT/Snap)
42
+ - **Required:** Not applicable - Chocolatey is a Windows-only package manager
43
+ - **Optional:** None
44
+ - **Auto-installed:** None
45
+ - **Note:** Chocolatey does not run on Linux. Use APT (`apt-get`) as the package manager for Raspberry Pi OS.
46
+
47
+ ### Amazon Linux (DNF/YUM)
48
+ - **Required:** Not applicable - Chocolatey is a Windows-only package manager
49
+ - **Optional:** None
50
+ - **Auto-installed:** None
51
+ - **Note:** Chocolatey does not run on Linux. Use DNF (Amazon Linux 2023) or YUM (Amazon Linux 2) as the package manager.
52
+
53
+ ### Windows (Chocolatey/winget)
54
+ - **Required:**
55
+ - Windows 7 SP1 / Windows Server 2003 or later
56
+ - PowerShell v2 or later (v3+ required for TLS 1.2 support)
57
+ - .NET Framework 4.8 (installer attempts automatic installation if missing)
58
+ - Administrator privileges for installation
59
+ - **Optional:** None
60
+ - **Auto-installed:**
61
+ - .NET Framework 4.8 (if not present, installer attempts to install it)
62
+
63
+ ### Git Bash (Manual/Portable)
64
+ - **Required:**
65
+ - Windows operating system with Chocolatey installed (see Windows section)
66
+ - PowerShell available on the Windows host
67
+ - Administrator privileges (run Git Bash as Administrator)
68
+ - **Optional:** None
69
+ - **Auto-installed:** None
70
+ - **Note:** Git Bash can invoke Chocolatey commands, but Chocolatey must first be installed on the Windows host via PowerShell or Command Prompt.
71
+
72
+ ## Prerequisites
73
+
74
+ Before installing Chocolatey, ensure:
75
+
76
+ 1. **Windows operating system** - Chocolatey is Windows-only software
77
+ 2. **Administrator privileges** - Required for installation and most package operations
78
+ 3. **PowerShell v3 or later** - Required for secure HTTPS downloads (TLS 1.2)
79
+ 4. **Internet connectivity** - Required to download the installer and packages
80
+ 5. **Sufficient disk space** - At least 500 MB free for Chocolatey and package cache
81
+
82
+ **Important**: Chocolatey is designed exclusively for Windows. For other operating systems, use the native package manager for that platform (Homebrew for macOS, APT for Debian/Ubuntu, DNF/YUM for RHEL/Amazon Linux).
83
+
84
+ ## Platform-Specific Installation
85
+
86
+ ### macOS (Homebrew)
87
+
88
+ #### Platform Note
89
+
90
+ **Chocolatey does not run on macOS.** Chocolatey is a Windows-specific package manager built on PowerShell and the Windows ecosystem.
91
+
92
+ For macOS package management, use Homebrew instead:
93
+
94
+ ```bash
95
+ # Install Homebrew (if not already installed)
96
+ NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
97
+
98
+ # Example: Install a package with Homebrew
99
+ brew install --quiet wget
100
+ ```
101
+
102
+ See the Homebrew installation documentation in this project for complete instructions.
103
+
104
+ ---
105
+
106
+ ### Ubuntu/Debian (APT)
107
+
108
+ #### Platform Note
109
+
110
+ **Chocolatey does not run on Linux.** Chocolatey is a Windows-specific package manager built on PowerShell and the Windows ecosystem.
111
+
112
+ For Ubuntu/Debian package management, use APT instead:
113
+
114
+ ```bash
115
+ # Update package lists
116
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
117
+
118
+ # Example: Install a package with APT
119
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget
120
+ ```
121
+
122
+ APT is the native package manager for Debian-based Linux distributions and provides similar functionality to Chocolatey.
123
+
124
+ ---
125
+
126
+ ### Raspberry Pi OS (APT)
127
+
128
+ #### Platform Note
129
+
130
+ **Chocolatey does not run on Linux.** Chocolatey is a Windows-specific package manager built on PowerShell and the Windows ecosystem.
131
+
132
+ For Raspberry Pi OS package management, use APT instead:
133
+
134
+ ```bash
135
+ # Update package lists
136
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
137
+
138
+ # Example: Install a package with APT
139
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget
140
+ ```
141
+
142
+ APT is the native package manager for Raspberry Pi OS and provides similar functionality to Chocolatey.
143
+
144
+ ---
145
+
146
+ ### Amazon Linux (DNF/YUM)
147
+
148
+ #### Platform Note
149
+
150
+ **Chocolatey does not run on Linux.** Chocolatey is a Windows-specific package manager built on PowerShell and the Windows ecosystem.
151
+
152
+ For Amazon Linux package management, use DNF (AL2023) or YUM (AL2) instead:
153
+
154
+ ```bash
155
+ # Amazon Linux 2023 - Install a package with DNF
156
+ sudo dnf install -y wget
157
+
158
+ # Amazon Linux 2 - Install a package with YUM
159
+ sudo yum install -y wget
160
+ ```
161
+
162
+ DNF and YUM are the native package managers for RHEL-based Linux distributions and provide similar functionality to Chocolatey.
163
+
164
+ ---
165
+
166
+ ### Windows (PowerShell)
167
+
168
+ #### Prerequisites
169
+
170
+ - Windows 7 SP1 or later (Windows 10/11 recommended)
171
+ - Windows Server 2003 or later (Windows Server 2016+ recommended)
172
+ - PowerShell v3 or later (comes pre-installed on Windows 10/11)
173
+ - .NET Framework 4.8 (installer handles this automatically if missing)
174
+ - Administrative PowerShell session
175
+
176
+ **Verify PowerShell Version**:
177
+
178
+ Open PowerShell and run:
179
+
180
+ ```powershell
181
+ $PSVersionTable.PSVersion
182
+ ```
183
+
184
+ The Major version should be 3 or higher. Windows 10/11 includes PowerShell 5.1 by default.
185
+
186
+ **Verify Execution Policy**:
187
+
188
+ Check the current execution policy:
189
+
190
+ ```powershell
191
+ Get-ExecutionPolicy
192
+ ```
193
+
194
+ If it returns `Restricted`, you will need to change it during installation (the installation command handles this).
195
+
196
+ #### Installation Steps
197
+
198
+ **Step 1: Open Administrator PowerShell**
199
+
200
+ Right-click the Start button and select "Windows Terminal (Admin)" or "Windows PowerShell (Admin)". Alternatively, search for "PowerShell" in the Start menu, right-click it, and select "Run as administrator".
201
+
202
+ **Step 2: Run the Installation Command**
203
+
204
+ Copy and paste the following command into the Administrator PowerShell window:
205
+
206
+ ```powershell
207
+ 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'))
208
+ ```
209
+
210
+ This single command performs the following operations:
211
+
212
+ 1. `Set-ExecutionPolicy Bypass -Scope Process -Force` - Temporarily allows script execution for the current session only (does not permanently change system policy)
213
+ 2. `[System.Net.ServicePointManager]::SecurityProtocol = ... -bor 3072` - Enables TLS 1.2 for secure HTTPS downloads
214
+ 3. `iex ((New-Object System.Net.WebClient).DownloadString(...))` - Downloads and executes the official Chocolatey installation script
215
+
216
+ The installation is fully non-interactive and requires no user input. The installer will:
217
+
218
+ 1. Create the `C:\ProgramData\chocolatey` directory
219
+ 2. Download and extract the Chocolatey NuGet package
220
+ 3. Set the `ChocolateyInstall` environment variable
221
+ 4. Add Chocolatey to the system PATH
222
+ 5. Install the `choco` command
223
+
224
+ **Alternative: Installation via Command Prompt (cmd.exe)**
225
+
226
+ If you prefer Command Prompt over PowerShell, run the following command in an Administrator Command Prompt:
227
+
228
+ ```cmd
229
+ @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
230
+ ```
231
+
232
+ This command invokes PowerShell from Command Prompt to run the same installation script.
233
+
234
+ #### Verification
235
+
236
+ Close and reopen your terminal (PowerShell or Command Prompt) to refresh the PATH, then verify the installation:
237
+
238
+ ```powershell
239
+ choco --version
240
+ ```
241
+
242
+ Expected output (version numbers may vary):
243
+
244
+ ```
245
+ 2.4.1
246
+ ```
247
+
248
+ Run the help command to confirm Chocolatey is working:
249
+
250
+ ```powershell
251
+ choco -?
252
+ ```
253
+
254
+ This displays the Chocolatey help text with available commands.
255
+
256
+ Test installing a package:
257
+
258
+ ```powershell
259
+ choco install notepadplusplus -y
260
+ ```
261
+
262
+ The `-y` flag automatically confirms all prompts, enabling fully non-interactive installation.
263
+
264
+ #### Troubleshooting
265
+
266
+ **Problem**: `choco: The term 'choco' is not recognized`
267
+
268
+ **Solution**: The PATH environment variable was not updated. Close all terminal windows and open a new Administrator PowerShell. If the problem persists, manually add Chocolatey to PATH:
269
+
270
+ ```powershell
271
+ $env:Path += ";C:\ProgramData\chocolatey\bin"
272
+ [Environment]::SetEnvironmentVariable("Path", $env:Path, [EnvironmentVariableTarget]::Machine)
273
+ ```
274
+
275
+ **Problem**: `Unable to resolve dependency` errors
276
+
277
+ **Solution**: Update Chocolatey to the latest version:
278
+
279
+ ```powershell
280
+ choco upgrade chocolatey -y
281
+ ```
282
+
283
+ **Problem**: `Access to the path is denied` errors
284
+
285
+ **Solution**: Ensure you are running PowerShell as Administrator. Right-click PowerShell and select "Run as administrator".
286
+
287
+ **Problem**: SSL/TLS errors during installation
288
+
289
+ **Solution**: Your system may not support TLS 1.2 by default. Ensure .NET Framework 4.5 or later is installed. Run Windows Update to get the latest security patches.
290
+
291
+ **Problem**: `Execution of scripts is disabled on this system`
292
+
293
+ **Solution**: The execution policy is blocking the installation script. The installation command already handles this with `Set-ExecutionPolicy Bypass -Scope Process -Force`, but if you see this error, run the following first:
294
+
295
+ ```powershell
296
+ Set-ExecutionPolicy Bypass -Scope Process -Force
297
+ ```
298
+
299
+ Then re-run the installation command.
300
+
301
+ **Problem**: Installation hangs behind corporate proxy
302
+
303
+ **Solution**: Configure proxy settings before installation:
304
+
305
+ ```powershell
306
+ $env:chocolateyProxyLocation = "http://proxy.example.com:8080"
307
+ $env:chocolateyProxyUser = "username"
308
+ $env:chocolateyProxyPassword = "password"
309
+ ```
310
+
311
+ Then run the installation command.
312
+
313
+ ---
314
+
315
+ ### WSL (Ubuntu)
316
+
317
+ #### Platform Note
318
+
319
+ **Chocolatey does not run within WSL.** WSL provides a Linux environment, and Chocolatey is Windows-only software.
320
+
321
+ Within WSL, use APT for package management:
322
+
323
+ ```bash
324
+ # Update package lists
325
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
326
+
327
+ # Example: Install a package with APT
328
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget
329
+ ```
330
+
331
+ **Note**: If you have Chocolatey installed on your Windows host (outside WSL), you can invoke it from WSL by calling the Windows executable:
332
+
333
+ ```bash
334
+ # Call Windows Chocolatey from within WSL (not recommended for most use cases)
335
+ /mnt/c/ProgramData/chocolatey/bin/choco.exe --version
336
+ ```
337
+
338
+ However, packages installed via Chocolatey on Windows are not accessible within the WSL Linux environment. Use APT for software needed within WSL.
339
+
340
+ ---
341
+
342
+ ### Git Bash (Windows)
343
+
344
+ #### Prerequisites
345
+
346
+ - Windows operating system with Git Bash installed
347
+ - Chocolatey installed on the Windows host (see Windows section above)
348
+ - Administrator privileges (run Git Bash as Administrator for package operations)
349
+
350
+ Git Bash is a terminal emulator for Windows that provides a bash-like shell. Since Git Bash runs on Windows, it can invoke Chocolatey commands directly.
351
+
352
+ #### Installation Steps
353
+
354
+ Chocolatey must be installed on the Windows host first. You cannot install Chocolatey from within Git Bash because the installation requires PowerShell.
355
+
356
+ **Step 1: Install Chocolatey via PowerShell**
357
+
358
+ Open an Administrator PowerShell window (not Git Bash) and run:
359
+
360
+ ```powershell
361
+ 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'))
362
+ ```
363
+
364
+ **Step 2: Verify from Git Bash**
365
+
366
+ After installation, open a new Git Bash window (close and reopen if already open) and verify Chocolatey is accessible:
367
+
368
+ ```bash
369
+ choco --version
370
+ ```
371
+
372
+ #### Using Chocolatey from Git Bash
373
+
374
+ Once installed, you can run Chocolatey commands from Git Bash. Note that package installation typically requires Administrator privileges.
375
+
376
+ To run Git Bash as Administrator:
377
+ 1. Right-click the Git Bash shortcut
378
+ 2. Select "Run as administrator"
379
+
380
+ Then run Chocolatey commands as normal:
381
+
382
+ ```bash
383
+ # List installed packages
384
+ choco list
385
+
386
+ # Install a package (requires Administrator)
387
+ choco install wget -y
388
+
389
+ # Upgrade all packages (requires Administrator)
390
+ choco upgrade all -y
391
+ ```
392
+
393
+ #### Verification
394
+
395
+ Confirm Chocolatey is accessible from Git Bash:
396
+
397
+ ```bash
398
+ choco --version
399
+ ```
400
+
401
+ Expected output (version numbers may vary):
402
+
403
+ ```
404
+ 2.4.1
405
+ ```
406
+
407
+ Test installing a package (run Git Bash as Administrator):
408
+
409
+ ```bash
410
+ choco install curl -y
411
+ ```
412
+
413
+ #### Troubleshooting
414
+
415
+ **Problem**: `choco: command not found`
416
+
417
+ **Solution**: Git Bash may not have inherited the updated PATH. Close Git Bash completely and reopen it. If the problem persists, verify the PATH includes Chocolatey:
418
+
419
+ ```bash
420
+ echo $PATH | tr ':' '\n' | grep -i choco
421
+ ```
422
+
423
+ If Chocolatey is not in the PATH, add it to your `~/.bashrc`:
424
+
425
+ ```bash
426
+ echo 'export PATH="$PATH:/c/ProgramData/chocolatey/bin"' >> ~/.bashrc
427
+ source ~/.bashrc
428
+ ```
429
+
430
+ **Problem**: Package installation fails with access denied
431
+
432
+ **Solution**: You must run Git Bash as Administrator to install packages. Right-click Git Bash and select "Run as administrator".
433
+
434
+ **Problem**: Chocolatey commands hang or timeout
435
+
436
+ **Solution**: Some Chocolatey commands may not work well in Git Bash's mintty terminal. Try running the command in PowerShell or Command Prompt instead, or use `winpty`:
437
+
438
+ ```bash
439
+ winpty choco install wget -y
440
+ ```
441
+
442
+ ---
443
+
444
+ ## Post-Installation Configuration
445
+
446
+ After installing Chocolatey on Windows, consider these optional but recommended configurations.
447
+
448
+ ### Enable Global Confirmation
449
+
450
+ To avoid typing `-y` on every command, enable global confirmation:
451
+
452
+ ```powershell
453
+ choco feature enable -n allowGlobalConfirmation
454
+ ```
455
+
456
+ With this setting, all `choco install`, `choco upgrade`, and `choco uninstall` commands will run non-interactively without requiring the `-y` flag.
457
+
458
+ ### Configure Package Cache Location
459
+
460
+ By default, Chocolatey caches packages in `C:\ProgramData\chocolatey\lib`. To change the cache location:
461
+
462
+ ```powershell
463
+ choco config set cacheLocation "D:\ChocolateyCache"
464
+ ```
465
+
466
+ ### Configure Proxy Settings
467
+
468
+ If you are behind a corporate proxy, configure Chocolatey to use it:
469
+
470
+ ```powershell
471
+ choco config set proxy "http://proxy.example.com:8080"
472
+ choco config set proxyUser "username"
473
+ choco config set proxyPassword "password"
474
+ ```
475
+
476
+ ### Disable Telemetry
477
+
478
+ Chocolatey does not collect telemetry by default in the open-source version. If using Chocolatey for Business, consult the documentation for telemetry settings.
479
+
480
+ ### Common Chocolatey Commands
481
+
482
+ | Command | Description |
483
+ |---------|-------------|
484
+ | `choco install <package> -y` | Install a package silently |
485
+ | `choco uninstall <package> -y` | Remove a package silently |
486
+ | `choco upgrade <package> -y` | Upgrade a specific package |
487
+ | `choco upgrade all -y` | Upgrade all installed packages |
488
+ | `choco list` | List installed packages |
489
+ | `choco search <term>` | Search for packages |
490
+ | `choco info <package>` | Show package information |
491
+ | `choco outdated` | List packages with available updates |
492
+ | `choco pin add -n <package>` | Prevent a package from being upgraded |
493
+ | `choco source list` | List configured package sources |
494
+
495
+ ---
496
+
497
+ ## Common Issues
498
+
499
+ ### Issue: Package Installation Fails Silently
500
+
501
+ **Symptoms**: `choco install` completes but the software is not installed
502
+
503
+ **Solutions**:
504
+
505
+ Check the Chocolatey log for errors:
506
+
507
+ ```powershell
508
+ Get-Content C:\ProgramData\chocolatey\logs\chocolatey.log -Tail 100
509
+ ```
510
+
511
+ Some packages have underlying installers that may fail. Try reinstalling with verbose output:
512
+
513
+ ```powershell
514
+ choco install <package> -y --verbose
515
+ ```
516
+
517
+ ### Issue: Checksum Verification Failed
518
+
519
+ **Symptoms**: `ERROR - The remote file either doesn't exist, is unauthorized, or is forbidden for url`
520
+
521
+ **Solutions**:
522
+
523
+ The package may have an outdated checksum. You can skip checksum verification (use with caution):
524
+
525
+ ```powershell
526
+ choco install <package> -y --ignore-checksums
527
+ ```
528
+
529
+ Better: Report the issue to the package maintainer on chocolatey.org.
530
+
531
+ ### Issue: Conflicting Software Versions
532
+
533
+ **Symptoms**: Multiple versions of the same software installed
534
+
535
+ **Solutions**:
536
+
537
+ List installed packages and their versions:
538
+
539
+ ```powershell
540
+ choco list
541
+ ```
542
+
543
+ Uninstall the conflicting version:
544
+
545
+ ```powershell
546
+ choco uninstall <package> -y
547
+ ```
548
+
549
+ Then install the desired version:
550
+
551
+ ```powershell
552
+ choco install <package> --version=<version> -y
553
+ ```
554
+
555
+ ### Issue: Chocolatey Commands Require Administrator
556
+
557
+ **Symptoms**: `Access denied` or `requires elevation` errors
558
+
559
+ **Solutions**:
560
+
561
+ Most Chocolatey operations require Administrator privileges. Always run PowerShell or Command Prompt as Administrator for package operations.
562
+
563
+ For listing installed packages (read-only), Administrator privileges are not required:
564
+
565
+ ```powershell
566
+ choco list
567
+ ```
568
+
569
+ ### Issue: Network Timeout During Installation
570
+
571
+ **Symptoms**: Downloads timeout or fail intermittently
572
+
573
+ **Solutions**:
574
+
575
+ Increase the command execution timeout:
576
+
577
+ ```powershell
578
+ choco config set commandExecutionTimeoutSeconds 14400
579
+ ```
580
+
581
+ If behind a proxy, ensure proxy settings are configured correctly (see Post-Installation Configuration).
582
+
583
+ ### Issue: PATH Not Updated After Package Installation
584
+
585
+ **Symptoms**: Installed program not found in PATH
586
+
587
+ **Solutions**:
588
+
589
+ Close and reopen your terminal to refresh the PATH. If the problem persists, the package may install to a non-standard location. Check the package documentation or run:
590
+
591
+ ```powershell
592
+ choco info <package>
593
+ ```
594
+
595
+ Some packages require a system restart to update PATH correctly.
596
+
597
+ ---
598
+
599
+ ## Upgrading Chocolatey
600
+
601
+ To upgrade Chocolatey to the latest version:
602
+
603
+ ```powershell
604
+ choco upgrade chocolatey -y
605
+ ```
606
+
607
+ Verify the upgrade:
608
+
609
+ ```powershell
610
+ choco --version
611
+ ```
612
+
613
+ ---
614
+
615
+ ## Uninstalling Chocolatey
616
+
617
+ To completely remove Chocolatey from your system:
618
+
619
+ **Step 1: Uninstall All Packages**
620
+
621
+ ```powershell
622
+ choco uninstall all -y
623
+ ```
624
+
625
+ **Step 2: Remove Chocolatey Directory**
626
+
627
+ Run the following in Administrator PowerShell:
628
+
629
+ ```powershell
630
+ Remove-Item -Recurse -Force C:\ProgramData\chocolatey
631
+ ```
632
+
633
+ **Step 3: Remove Environment Variables**
634
+
635
+ ```powershell
636
+ [Environment]::SetEnvironmentVariable("ChocolateyInstall", $null, [EnvironmentVariableTarget]::Machine)
637
+ [Environment]::SetEnvironmentVariable("ChocolateyToolsLocation", $null, [EnvironmentVariableTarget]::Machine)
638
+ ```
639
+
640
+ **Step 4: Remove from PATH**
641
+
642
+ Manually edit the system PATH environment variable to remove the Chocolatey bin directory:
643
+
644
+ 1. Open System Properties (Win+Pause or search "Environment Variables")
645
+ 2. Click "Environment Variables"
646
+ 3. Under "System variables", find "Path" and click "Edit"
647
+ 4. Remove the entry for `C:\ProgramData\chocolatey\bin`
648
+ 5. Click OK to save
649
+
650
+ ---
651
+
652
+ ## References
653
+
654
+ - [Chocolatey Official Website](https://chocolatey.org/)
655
+ - [Chocolatey Installation Documentation](https://chocolatey.org/install)
656
+ - [Chocolatey Setup/Install Documentation](https://docs.chocolatey.org/en-us/choco/setup/)
657
+ - [Chocolatey Commands Reference](https://docs.chocolatey.org/en-us/choco/commands/)
658
+ - [Chocolatey Package Repository](https://community.chocolatey.org/packages)
659
+ - [Chocolatey GitHub Repository](https://github.com/chocolatey/choco)
660
+ - [Chocolatey Getting Started Guide](https://docs.chocolatey.org/en-us/getting-started/)
661
+ - [Chocolatey FAQ](https://docs.chocolatey.org/en-us/faqs/)