@fredlackey/devutils 0.0.18 → 0.1.0

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 (447) hide show
  1. package/README.md +214 -141
  2. package/package.json +8 -83
  3. package/src/api/loader.js +229 -0
  4. package/src/api/registry.json +62 -0
  5. package/src/cli.js +293 -60
  6. package/src/commands/ai/index.js +16 -0
  7. package/src/commands/ai/launch.js +112 -0
  8. package/src/commands/ai/list.js +54 -0
  9. package/src/commands/ai/resume.js +70 -0
  10. package/src/commands/ai/sessions.js +121 -0
  11. package/src/commands/ai/set.js +131 -0
  12. package/src/commands/ai/show.js +74 -0
  13. package/src/commands/ai/tools.js +46 -0
  14. package/src/commands/alias/add.js +93 -0
  15. package/src/commands/alias/helpers.js +107 -0
  16. package/src/commands/alias/index.js +14 -0
  17. package/src/commands/alias/list.js +55 -0
  18. package/src/commands/alias/remove.js +62 -0
  19. package/src/commands/alias/sync.js +109 -0
  20. package/src/commands/api/disable.js +73 -0
  21. package/src/commands/api/enable.js +148 -0
  22. package/src/commands/api/index.js +15 -0
  23. package/src/commands/api/list.js +66 -0
  24. package/src/commands/api/update.js +87 -0
  25. package/src/commands/auth/index.js +15 -0
  26. package/src/commands/auth/list.js +49 -0
  27. package/src/commands/auth/login.js +384 -0
  28. package/src/commands/auth/logout.js +111 -0
  29. package/src/commands/auth/refresh.js +184 -0
  30. package/src/commands/auth/services.js +169 -0
  31. package/src/commands/auth/status.js +104 -0
  32. package/src/commands/config/export.js +224 -0
  33. package/src/commands/config/get.js +52 -0
  34. package/src/commands/config/import.js +308 -0
  35. package/src/commands/config/index.js +17 -0
  36. package/src/commands/config/init.js +143 -0
  37. package/src/commands/config/reset.js +57 -0
  38. package/src/commands/config/set.js +93 -0
  39. package/src/commands/config/show.js +35 -0
  40. package/src/commands/help.js +338 -0
  41. package/src/commands/identity/add.js +133 -0
  42. package/src/commands/identity/index.js +17 -0
  43. package/src/commands/identity/link.js +76 -0
  44. package/src/commands/identity/list.js +48 -0
  45. package/src/commands/identity/remove.js +72 -0
  46. package/src/commands/identity/show.js +65 -0
  47. package/src/commands/identity/sync.js +172 -0
  48. package/src/commands/identity/unlink.js +57 -0
  49. package/src/commands/ignore/add.js +165 -0
  50. package/src/commands/ignore/index.js +14 -0
  51. package/src/commands/ignore/list.js +89 -0
  52. package/src/commands/ignore/markers.js +43 -0
  53. package/src/commands/ignore/remove.js +164 -0
  54. package/src/commands/ignore/show.js +169 -0
  55. package/src/commands/machine/detect.js +122 -0
  56. package/src/commands/machine/index.js +14 -0
  57. package/src/commands/machine/list.js +74 -0
  58. package/src/commands/machine/set.js +106 -0
  59. package/src/commands/machine/show.js +35 -0
  60. package/src/commands/schema.js +152 -0
  61. package/src/commands/search/collections.js +134 -0
  62. package/src/commands/search/get.js +71 -0
  63. package/src/commands/search/index-cmd.js +54 -0
  64. package/src/commands/search/index.js +21 -0
  65. package/src/commands/search/keyword.js +60 -0
  66. package/src/commands/search/qmd.js +70 -0
  67. package/src/commands/search/query.js +64 -0
  68. package/src/commands/search/semantic.js +62 -0
  69. package/src/commands/search/status.js +46 -0
  70. package/src/commands/status.js +224 -171
  71. package/src/commands/tools/check.js +79 -0
  72. package/src/commands/tools/index.js +14 -0
  73. package/src/commands/tools/install.js +110 -0
  74. package/src/commands/tools/list.js +91 -0
  75. package/src/commands/tools/search.js +60 -0
  76. package/src/commands/update.js +83 -112
  77. package/src/commands/util/add.js +151 -0
  78. package/src/commands/util/index.js +15 -0
  79. package/src/commands/util/list.js +97 -0
  80. package/src/commands/util/remove.js +76 -0
  81. package/src/commands/util/run.js +79 -0
  82. package/src/commands/util/show.js +67 -0
  83. package/src/commands/version.js +21 -88
  84. package/src/installers/_template.js +104 -0
  85. package/src/installers/git.js +150 -0
  86. package/src/installers/homebrew.js +190 -0
  87. package/src/installers/node.js +223 -0
  88. package/src/installers/registry.json +29 -0
  89. package/src/lib/config.js +125 -0
  90. package/src/lib/detect.js +74 -0
  91. package/src/lib/errors.js +114 -0
  92. package/src/lib/github.js +315 -0
  93. package/src/lib/installer.js +225 -0
  94. package/src/lib/output.js +239 -0
  95. package/src/lib/platform.js +112 -0
  96. package/src/lib/platforms/amazon-linux.js +41 -0
  97. package/src/lib/platforms/gitbash.js +46 -0
  98. package/src/lib/platforms/macos.js +45 -0
  99. package/src/lib/platforms/raspbian.js +41 -0
  100. package/src/lib/platforms/ubuntu.js +39 -0
  101. package/src/lib/platforms/windows.js +45 -0
  102. package/src/lib/prompt.js +161 -0
  103. package/src/lib/schema.js +211 -0
  104. package/src/lib/shell.js +75 -0
  105. package/src/patterns/gitignore/claude-code.txt +25 -0
  106. package/src/patterns/gitignore/docker.txt +15 -0
  107. package/src/patterns/gitignore/go.txt +24 -0
  108. package/src/patterns/gitignore/java.txt +38 -0
  109. package/src/patterns/gitignore/jetbrains.txt +26 -0
  110. package/src/patterns/gitignore/linux.txt +18 -0
  111. package/src/patterns/gitignore/macos.txt +27 -0
  112. package/src/patterns/gitignore/node.txt +51 -0
  113. package/src/patterns/gitignore/python.txt +55 -0
  114. package/src/patterns/gitignore/rust.txt +14 -0
  115. package/src/patterns/gitignore/terraform.txt +30 -0
  116. package/src/patterns/gitignore/vscode.txt +15 -0
  117. package/src/patterns/gitignore/windows.txt +25 -0
  118. package/src/utils/clone/index.js +165 -0
  119. package/src/utils/git-push/index.js +230 -0
  120. package/src/utils/git-status/index.js +116 -0
  121. package/src/utils/git-status/unix.sh +75 -0
  122. package/src/utils/registry.json +41 -0
  123. package/bin/dev.js +0 -16
  124. package/files/README.md +0 -0
  125. package/files/claude/.claude/commands/setup-context.md +0 -3
  126. package/files/monorepos/_archive/README.md +0 -36
  127. package/files/monorepos/_legacy/README.md +0 -36
  128. package/files/monorepos/ai-docs/README.md +0 -33
  129. package/files/monorepos/apps/README.md +0 -24
  130. package/files/monorepos/docs/README.md +0 -40
  131. package/files/monorepos/packages/README.md +0 -25
  132. package/files/monorepos/research/README.md +0 -29
  133. package/files/monorepos/scripts/README.md +0 -24
  134. package/src/commands/README.md +0 -41
  135. package/src/commands/configure.js +0 -199
  136. package/src/commands/identity.js +0 -1630
  137. package/src/commands/ignore.js +0 -247
  138. package/src/commands/install.js +0 -526
  139. package/src/commands/setup.js +0 -246
  140. package/src/completion.js +0 -284
  141. package/src/constants.js +0 -45
  142. package/src/ignore/claude-code.txt +0 -10
  143. package/src/ignore/docker.txt +0 -18
  144. package/src/ignore/linux.txt +0 -23
  145. package/src/ignore/macos.txt +0 -36
  146. package/src/ignore/node.txt +0 -55
  147. package/src/ignore/terraform.txt +0 -37
  148. package/src/ignore/vscode.txt +0 -18
  149. package/src/ignore/windows.txt +0 -35
  150. package/src/index.js +0 -0
  151. package/src/installs/README.md +0 -399
  152. package/src/installs/adobe-creative-cloud.js +0 -546
  153. package/src/installs/adobe-creative-cloud.md +0 -605
  154. package/src/installs/appcleaner.js +0 -321
  155. package/src/installs/appcleaner.md +0 -699
  156. package/src/installs/apt-transport-https.js +0 -390
  157. package/src/installs/apt-transport-https.md +0 -678
  158. package/src/installs/atomicparsley.js +0 -642
  159. package/src/installs/atomicparsley.md +0 -795
  160. package/src/installs/aws-cli.js +0 -797
  161. package/src/installs/aws-cli.md +0 -727
  162. package/src/installs/balena-etcher.js +0 -710
  163. package/src/installs/balena-etcher.md +0 -761
  164. package/src/installs/bambu-studio.js +0 -1143
  165. package/src/installs/bambu-studio.md +0 -780
  166. package/src/installs/bash-completion.js +0 -575
  167. package/src/installs/bash-completion.md +0 -833
  168. package/src/installs/bash.js +0 -417
  169. package/src/installs/bash.md +0 -993
  170. package/src/installs/beyond-compare.js +0 -603
  171. package/src/installs/beyond-compare.md +0 -813
  172. package/src/installs/brave-browser.js +0 -968
  173. package/src/installs/brave-browser.md +0 -650
  174. package/src/installs/build-essential.js +0 -529
  175. package/src/installs/build-essential.md +0 -977
  176. package/src/installs/ca-certificates.js +0 -618
  177. package/src/installs/ca-certificates.md +0 -937
  178. package/src/installs/caffeine.js +0 -508
  179. package/src/installs/caffeine.md +0 -839
  180. package/src/installs/camtasia.js +0 -596
  181. package/src/installs/camtasia.md +0 -762
  182. package/src/installs/chatgpt.js +0 -476
  183. package/src/installs/chatgpt.md +0 -814
  184. package/src/installs/chocolatey.js +0 -456
  185. package/src/installs/chocolatey.md +0 -661
  186. package/src/installs/chrome-canary.js +0 -419
  187. package/src/installs/chrome-canary.md +0 -641
  188. package/src/installs/chromium.js +0 -667
  189. package/src/installs/chromium.md +0 -838
  190. package/src/installs/claude-code.js +0 -576
  191. package/src/installs/claude-code.md +0 -1173
  192. package/src/installs/cloudflare-warp.js +0 -900
  193. package/src/installs/cloudflare-warp.md +0 -1047
  194. package/src/installs/comet-browser.js +0 -588
  195. package/src/installs/comet-browser.md +0 -731
  196. package/src/installs/curl.js +0 -379
  197. package/src/installs/curl.md +0 -714
  198. package/src/installs/cursor.js +0 -579
  199. package/src/installs/cursor.md +0 -970
  200. package/src/installs/dbeaver.js +0 -924
  201. package/src/installs/dbeaver.md +0 -939
  202. package/src/installs/dbschema.js +0 -692
  203. package/src/installs/dbschema.md +0 -925
  204. package/src/installs/dependencies.md +0 -453
  205. package/src/installs/development-tools.js +0 -600
  206. package/src/installs/development-tools.md +0 -977
  207. package/src/installs/docker.js +0 -1029
  208. package/src/installs/docker.md +0 -1109
  209. package/src/installs/drawio.js +0 -1019
  210. package/src/installs/drawio.md +0 -795
  211. package/src/installs/elmedia-player.js +0 -347
  212. package/src/installs/elmedia-player.md +0 -556
  213. package/src/installs/ffmpeg.js +0 -889
  214. package/src/installs/ffmpeg.md +0 -852
  215. package/src/installs/file.js +0 -464
  216. package/src/installs/file.md +0 -987
  217. package/src/installs/gemini-cli.js +0 -811
  218. package/src/installs/gemini-cli.md +0 -1153
  219. package/src/installs/git.js +0 -400
  220. package/src/installs/git.md +0 -907
  221. package/src/installs/gitego.js +0 -949
  222. package/src/installs/gitego.md +0 -1172
  223. package/src/installs/go.js +0 -931
  224. package/src/installs/go.md +0 -958
  225. package/src/installs/google-antigravity.js +0 -913
  226. package/src/installs/google-antigravity.md +0 -1075
  227. package/src/installs/google-chrome.js +0 -833
  228. package/src/installs/google-chrome.md +0 -862
  229. package/src/installs/gpg.js +0 -480
  230. package/src/installs/gpg.md +0 -1056
  231. package/src/installs/homebrew.js +0 -1028
  232. package/src/installs/homebrew.md +0 -988
  233. package/src/installs/imageoptim.js +0 -968
  234. package/src/installs/imageoptim.md +0 -1119
  235. package/src/installs/installers.json +0 -4032
  236. package/src/installs/installers.json.tmp +0 -3953
  237. package/src/installs/jq.js +0 -400
  238. package/src/installs/jq.md +0 -809
  239. package/src/installs/keyboard-maestro.js +0 -719
  240. package/src/installs/keyboard-maestro.md +0 -825
  241. package/src/installs/kiro.js +0 -864
  242. package/src/installs/kiro.md +0 -1015
  243. package/src/installs/latex.js +0 -789
  244. package/src/installs/latex.md +0 -1095
  245. package/src/installs/lftp.js +0 -356
  246. package/src/installs/lftp.md +0 -907
  247. package/src/installs/lsb-release.js +0 -346
  248. package/src/installs/lsb-release.md +0 -814
  249. package/src/installs/messenger.js +0 -847
  250. package/src/installs/messenger.md +0 -900
  251. package/src/installs/microsoft-office.js +0 -568
  252. package/src/installs/microsoft-office.md +0 -760
  253. package/src/installs/microsoft-teams.js +0 -801
  254. package/src/installs/microsoft-teams.md +0 -886
  255. package/src/installs/moom.js +0 -326
  256. package/src/installs/moom.md +0 -570
  257. package/src/installs/node.js +0 -904
  258. package/src/installs/node.md +0 -1153
  259. package/src/installs/nordpass.js +0 -716
  260. package/src/installs/nordpass.md +0 -921
  261. package/src/installs/nordvpn.js +0 -892
  262. package/src/installs/nordvpn.md +0 -1052
  263. package/src/installs/nvm.js +0 -995
  264. package/src/installs/nvm.md +0 -1057
  265. package/src/installs/ohmyzsh.js +0 -529
  266. package/src/installs/ohmyzsh.md +0 -1094
  267. package/src/installs/openssh.js +0 -804
  268. package/src/installs/openssh.md +0 -1056
  269. package/src/installs/pandoc.js +0 -662
  270. package/src/installs/pandoc.md +0 -1036
  271. package/src/installs/parallels-desktop.js +0 -431
  272. package/src/installs/parallels-desktop.md +0 -446
  273. package/src/installs/pinentry.js +0 -510
  274. package/src/installs/pinentry.md +0 -1142
  275. package/src/installs/pngyu.js +0 -869
  276. package/src/installs/pngyu.md +0 -896
  277. package/src/installs/postman.js +0 -799
  278. package/src/installs/postman.md +0 -940
  279. package/src/installs/procps.js +0 -425
  280. package/src/installs/procps.md +0 -851
  281. package/src/installs/safari-tech-preview.js +0 -374
  282. package/src/installs/safari-tech-preview.md +0 -533
  283. package/src/installs/sfnt2woff.js +0 -658
  284. package/src/installs/sfnt2woff.md +0 -795
  285. package/src/installs/shellcheck.js +0 -481
  286. package/src/installs/shellcheck.md +0 -1005
  287. package/src/installs/slack.js +0 -741
  288. package/src/installs/slack.md +0 -865
  289. package/src/installs/snagit.js +0 -585
  290. package/src/installs/snagit.md +0 -844
  291. package/src/installs/software-properties-common.js +0 -372
  292. package/src/installs/software-properties-common.md +0 -805
  293. package/src/installs/spotify.js +0 -877
  294. package/src/installs/spotify.md +0 -901
  295. package/src/installs/studio-3t.js +0 -823
  296. package/src/installs/studio-3t.md +0 -918
  297. package/src/installs/sublime-text.js +0 -804
  298. package/src/installs/sublime-text.md +0 -914
  299. package/src/installs/superwhisper.js +0 -706
  300. package/src/installs/superwhisper.md +0 -630
  301. package/src/installs/tailscale.js +0 -745
  302. package/src/installs/tailscale.md +0 -1100
  303. package/src/installs/tar.js +0 -389
  304. package/src/installs/tar.md +0 -946
  305. package/src/installs/termius.js +0 -798
  306. package/src/installs/termius.md +0 -844
  307. package/src/installs/terraform.js +0 -779
  308. package/src/installs/terraform.md +0 -899
  309. package/src/installs/tfenv.js +0 -778
  310. package/src/installs/tfenv.md +0 -1091
  311. package/src/installs/tidal.js +0 -771
  312. package/src/installs/tidal.md +0 -864
  313. package/src/installs/tmux.js +0 -346
  314. package/src/installs/tmux.md +0 -1030
  315. package/src/installs/tree.js +0 -411
  316. package/src/installs/tree.md +0 -833
  317. package/src/installs/unzip.js +0 -460
  318. package/src/installs/unzip.md +0 -879
  319. package/src/installs/vim.js +0 -421
  320. package/src/installs/vim.md +0 -1040
  321. package/src/installs/vlc.js +0 -821
  322. package/src/installs/vlc.md +0 -927
  323. package/src/installs/vscode.js +0 -843
  324. package/src/installs/vscode.md +0 -1002
  325. package/src/installs/wget.js +0 -420
  326. package/src/installs/wget.md +0 -791
  327. package/src/installs/whatsapp.js +0 -729
  328. package/src/installs/whatsapp.md +0 -854
  329. package/src/installs/winpty.js +0 -352
  330. package/src/installs/winpty.md +0 -620
  331. package/src/installs/woff2.js +0 -553
  332. package/src/installs/woff2.md +0 -977
  333. package/src/installs/wsl.js +0 -572
  334. package/src/installs/wsl.md +0 -699
  335. package/src/installs/xcode-clt.js +0 -520
  336. package/src/installs/xcode-clt.md +0 -351
  337. package/src/installs/xcode.js +0 -560
  338. package/src/installs/xcode.md +0 -573
  339. package/src/installs/yarn.js +0 -824
  340. package/src/installs/yarn.md +0 -1074
  341. package/src/installs/yq.js +0 -654
  342. package/src/installs/yq.md +0 -944
  343. package/src/installs/yt-dlp.js +0 -701
  344. package/src/installs/yt-dlp.md +0 -946
  345. package/src/installs/yum-utils.js +0 -297
  346. package/src/installs/yum-utils.md +0 -648
  347. package/src/installs/zoom.js +0 -759
  348. package/src/installs/zoom.md +0 -884
  349. package/src/installs/zsh.js +0 -455
  350. package/src/installs/zsh.md +0 -1008
  351. package/src/scripts/README.md +0 -617
  352. package/src/scripts/STATUS.md +0 -208
  353. package/src/scripts/afk.js +0 -411
  354. package/src/scripts/backup-all.js +0 -746
  355. package/src/scripts/backup-source.js +0 -727
  356. package/src/scripts/brewd.js +0 -389
  357. package/src/scripts/brewi.js +0 -520
  358. package/src/scripts/brewr.js +0 -527
  359. package/src/scripts/brews.js +0 -477
  360. package/src/scripts/brewu.js +0 -504
  361. package/src/scripts/c.js +0 -201
  362. package/src/scripts/ccurl.js +0 -341
  363. package/src/scripts/certbot-crontab-init.js +0 -504
  364. package/src/scripts/certbot-init.js +0 -657
  365. package/src/scripts/ch.js +0 -355
  366. package/src/scripts/claude-danger.js +0 -268
  367. package/src/scripts/clean-dev.js +0 -435
  368. package/src/scripts/clear-dns-cache.js +0 -541
  369. package/src/scripts/clone.js +0 -435
  370. package/src/scripts/code-all.js +0 -437
  371. package/src/scripts/count-files.js +0 -211
  372. package/src/scripts/count-folders.js +0 -211
  373. package/src/scripts/count.js +0 -264
  374. package/src/scripts/d.js +0 -219
  375. package/src/scripts/datauri.js +0 -389
  376. package/src/scripts/delete-files.js +0 -380
  377. package/src/scripts/docker-clean.js +0 -426
  378. package/src/scripts/dp.js +0 -442
  379. package/src/scripts/e.js +0 -390
  380. package/src/scripts/empty-trash.js +0 -513
  381. package/src/scripts/evm.js +0 -444
  382. package/src/scripts/fetch-github-repos.js +0 -456
  383. package/src/scripts/get-channel.js +0 -345
  384. package/src/scripts/get-course.js +0 -399
  385. package/src/scripts/get-dependencies.js +0 -306
  386. package/src/scripts/get-folder.js +0 -799
  387. package/src/scripts/get-tunes.js +0 -426
  388. package/src/scripts/get-video.js +0 -367
  389. package/src/scripts/git-backup.js +0 -577
  390. package/src/scripts/git-clone.js +0 -493
  391. package/src/scripts/git-pup.js +0 -319
  392. package/src/scripts/git-push.js +0 -396
  393. package/src/scripts/h.js +0 -622
  394. package/src/scripts/hide-desktop-icons.js +0 -499
  395. package/src/scripts/hide-hidden-files.js +0 -538
  396. package/src/scripts/install-dependencies-from.js +0 -456
  397. package/src/scripts/ips.js +0 -663
  398. package/src/scripts/iso.js +0 -370
  399. package/src/scripts/killni.js +0 -577
  400. package/src/scripts/ll.js +0 -467
  401. package/src/scripts/local-ip.js +0 -325
  402. package/src/scripts/m.js +0 -524
  403. package/src/scripts/map.js +0 -309
  404. package/src/scripts/mkd.js +0 -351
  405. package/src/scripts/ncu-update-all.js +0 -457
  406. package/src/scripts/nginx-init.js +0 -718
  407. package/src/scripts/npmi.js +0 -382
  408. package/src/scripts/o.js +0 -511
  409. package/src/scripts/org-by-date.js +0 -338
  410. package/src/scripts/p.js +0 -224
  411. package/src/scripts/packages.js +0 -330
  412. package/src/scripts/path.js +0 -225
  413. package/src/scripts/ports.js +0 -597
  414. package/src/scripts/q.js +0 -305
  415. package/src/scripts/refresh-files.js +0 -394
  416. package/src/scripts/remove-smaller-files.js +0 -516
  417. package/src/scripts/rename-files-with-date.js +0 -533
  418. package/src/scripts/resize-image.js +0 -539
  419. package/src/scripts/rm-safe.js +0 -669
  420. package/src/scripts/s.js +0 -540
  421. package/src/scripts/set-git-public.js +0 -365
  422. package/src/scripts/show-desktop-icons.js +0 -475
  423. package/src/scripts/show-hidden-files.js +0 -472
  424. package/src/scripts/tpa.js +0 -280
  425. package/src/scripts/tpo.js +0 -280
  426. package/src/scripts/u.js +0 -505
  427. package/src/scripts/vpush.js +0 -437
  428. package/src/scripts/y.js +0 -283
  429. package/src/utils/README.md +0 -95
  430. package/src/utils/common/apps.js +0 -143
  431. package/src/utils/common/display.js +0 -157
  432. package/src/utils/common/network.js +0 -185
  433. package/src/utils/common/os.js +0 -294
  434. package/src/utils/common/package-manager.js +0 -301
  435. package/src/utils/common/privileges.js +0 -138
  436. package/src/utils/common/shell.js +0 -261
  437. package/src/utils/macos/apps.js +0 -228
  438. package/src/utils/macos/brew.js +0 -315
  439. package/src/utils/ubuntu/apt.js +0 -307
  440. package/src/utils/ubuntu/desktop.js +0 -292
  441. package/src/utils/ubuntu/snap.js +0 -344
  442. package/src/utils/ubuntu/systemd.js +0 -286
  443. package/src/utils/windows/choco.js +0 -465
  444. package/src/utils/windows/env.js +0 -246
  445. package/src/utils/windows/registry.js +0 -269
  446. package/src/utils/windows/shell.js +0 -240
  447. package/src/utils/windows/winget.js +0 -489
@@ -1,570 +0,0 @@
1
- # Installing Moom
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:** None (installation not supported)
13
- - **Optional:** None
14
- - **Auto-installed:** None
15
-
16
- **Note:** Moom is a macOS-exclusive application developed by Many Tricks. It is not available for Linux platforms. See the Ubuntu section below for alternative window management tools.
17
-
18
- ### Raspberry Pi OS (APT/Snap)
19
- - **Required:** None (installation not supported)
20
- - **Optional:** None
21
- - **Auto-installed:** None
22
-
23
- **Note:** Moom is a macOS-exclusive application. See the Raspberry Pi OS section below for alternative window management tools.
24
-
25
- ### Amazon Linux (DNF/YUM)
26
- - **Required:** None (installation not supported)
27
- - **Optional:** None
28
- - **Auto-installed:** None
29
-
30
- **Note:** Amazon Linux is a server operating system without a desktop environment by default. Window management tools are not applicable. Moom is also macOS-exclusive.
31
-
32
- ### Windows (Chocolatey/winget)
33
- - **Required:** None (installation not supported)
34
- - **Optional:** None
35
- - **Auto-installed:** None
36
-
37
- **Note:** Moom is a macOS-exclusive application. See the Windows section below for alternative window management tools.
38
-
39
- ### Git Bash (Manual/Portable)
40
- - **Required:** None (installation not supported)
41
- - **Optional:** None
42
- - **Auto-installed:** None
43
-
44
- **Note:** Git Bash runs on Windows where Moom is not available. See the Git Bash section below for alternative window management tools.
45
-
46
- ## Overview
47
-
48
- Moom is a powerful and intuitive window management utility for macOS developed by Many Tricks. It enables users to move, resize, and arrange application windows with precision using mouse interactions, keyboard shortcuts, or custom-defined layouts. Moom is widely regarded as one of the best window management tools available for macOS, offering a balance of simplicity and power that appeals to both casual users and power users.
49
-
50
- Key capabilities include:
51
-
52
- - **Mouse-Based Control**: Hover over any window's green (or configurable red/yellow) button to reveal a pop-up palette with quick resize and move options
53
- - **Snap to Edges**: Drag windows to screen edges to snap them into predefined positions (half screen, quarter screen, etc.)
54
- - **Custom Grids**: Define custom grids for precise window positioning and sizing
55
- - **Saved Layouts**: Create and restore complete window arrangements across multiple applications, especially useful for multi-monitor setups
56
- - **Keyboard Control**: Comprehensive keyboard shortcuts for moving, resizing, centering, and arranging windows without touching the mouse
57
- - **Hover Feature**: Move and resize background windows by holding modifier keys while moving the mouse
58
- - **Multi-Display Support**: Seamlessly manage windows across multiple monitors with display-aware features
59
-
60
- **Important Platform Limitation:** Moom is a **macOS-only** application. Many Tricks develops Moom exclusively for macOS, and the application is not available for Windows, Linux, or any other operating system. Moom 4 (the current version) is available only from the Many Tricks website; it is not available on the Mac App Store due to sandboxing requirements.
61
-
62
- | Platform | Tool | Description |
63
- |----------|------|-------------|
64
- | macOS | Moom | Many Tricks' window management utility |
65
- | Windows | PowerToys FancyZones | Microsoft's free window management utility |
66
- | Linux | i3 / bspwm / xfwm4 | Tiling and floating window managers |
67
-
68
- ## Prerequisites
69
-
70
- Before installing Moom, ensure:
71
-
72
- 1. **macOS 10.15 (Catalina) or later** - Required for Moom 4.x
73
- 2. **Internet connectivity** - Required to download the package
74
- 3. **Administrative privileges** - Required for Homebrew cask installation
75
- 4. **Sufficient disk space** - At least 50 MB for installation
76
-
77
- ---
78
-
79
- ## Platform-Specific Installation
80
-
81
- ### macOS (Homebrew)
82
-
83
- Moom is the native macOS window management solution and is available as a Homebrew cask.
84
-
85
- #### Prerequisites
86
-
87
- - macOS 10.15 (Catalina) or later
88
- - Homebrew package manager installed
89
- - 64-bit processor (Intel or Apple Silicon natively supported)
90
- - Valid license for full functionality (trial available)
91
-
92
- Verify Homebrew is installed:
93
-
94
- ```bash
95
- brew --version
96
- ```
97
-
98
- If Homebrew is not installed, install it first using `dev install homebrew` or run:
99
-
100
- ```bash
101
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
102
- ```
103
-
104
- #### Installation Steps
105
-
106
- Run the following command to install Moom:
107
-
108
- ```bash
109
- brew install --cask --quiet moom
110
- ```
111
-
112
- **Explanation of flags:**
113
- - `--cask`: Indicates this is a macOS application (not a CLI formula)
114
- - `--quiet`: Suppresses non-essential output for non-interactive installation
115
-
116
- The installation downloads Moom and installs it to `/Applications/Moom.app`.
117
-
118
- #### Verification
119
-
120
- Confirm the installation succeeded:
121
-
122
- ```bash
123
- ls -la "/Applications/Moom.app" && echo "Moom is installed"
124
- ```
125
-
126
- You can also verify by checking the Homebrew list:
127
-
128
- ```bash
129
- brew list --cask | grep moom
130
- ```
131
-
132
- #### Troubleshooting
133
-
134
- **Installation fails with permission errors:**
135
-
136
- ```bash
137
- # Reset Homebrew cask cache and retry
138
- brew cleanup
139
- brew install --cask --quiet moom
140
- ```
141
-
142
- **Moom fails to open with "cannot be opened" error:**
143
-
144
- This occurs when macOS Gatekeeper blocks the application:
145
-
146
- ```bash
147
- xattr -cr "/Applications/Moom.app"
148
- ```
149
-
150
- **Moom requires Accessibility permissions:**
151
-
152
- On first launch, Moom will request Accessibility permissions. This is required for the application to move and resize windows. Grant access via:
153
-
154
- 1. Open System Settings (or System Preferences on older macOS)
155
- 2. Navigate to Privacy & Security > Accessibility
156
- 3. Enable the toggle for Moom
157
-
158
- **Moom does not appear in menu bar:**
159
-
160
- Moom runs as a menu bar application. If it does not appear:
161
-
162
- ```bash
163
- # Force quit and relaunch
164
- killall Moom 2>/dev/null
165
- open -a "Moom"
166
- ```
167
-
168
- **Upgrading from a previous version:**
169
-
170
- ```bash
171
- brew upgrade --cask moom
172
- ```
173
-
174
- **Older macOS versions (10.13 - 10.14):**
175
-
176
- If you are running macOS 10.13 (High Sierra) or 10.14 (Mojave), you may need to install an older version of Moom. Check the Many Tricks website for version compatibility.
177
-
178
- ---
179
-
180
- ### Ubuntu/Debian (APT)
181
-
182
- **Moom is NOT available on Ubuntu or Debian.** It is a macOS-only application developed by Many Tricks.
183
-
184
- For window management on Ubuntu/Debian, use one of the following alternatives:
185
-
186
- #### Alternative: gTile (GNOME Extension)
187
-
188
- gTile is a GNOME Shell extension that provides grid-based window tiling similar to Moom's grid feature.
189
-
190
- **Prerequisites:**
191
- - Ubuntu 20.04 LTS or later with GNOME desktop
192
- - GNOME Shell Extensions support
193
-
194
- **Installation Steps:**
195
-
196
- ```bash
197
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
198
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y gnome-shell-extension-manager
199
- ```
200
-
201
- Then install gTile via the GNOME Extensions website or run:
202
-
203
- ```bash
204
- # Install gTile via command line
205
- gnome-extensions install gtile@vibou
206
- gnome-extensions enable gtile@vibou
207
- ```
208
-
209
- **Verification:**
210
-
211
- ```bash
212
- gnome-extensions list | grep gtile && echo "gTile is installed"
213
- ```
214
-
215
- #### Alternative: Tiling Window Manager (i3)
216
-
217
- For power users who want comprehensive window management, i3 is a popular tiling window manager:
218
-
219
- ```bash
220
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
221
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y i3
222
- ```
223
-
224
- **Note:** Switching to i3 replaces the default GNOME/KDE desktop experience with a keyboard-driven tiling workflow.
225
-
226
- ---
227
-
228
- ### Raspberry Pi OS (APT)
229
-
230
- **Moom is NOT available on Raspberry Pi OS.** It is a macOS-only application.
231
-
232
- For window management on Raspberry Pi OS, the options are limited due to the lightweight desktop environment.
233
-
234
- #### Alternative: xfwm4 Window Snapping
235
-
236
- Raspberry Pi OS uses the LXDE/LXQt desktop environment by default. The built-in window manager (openbox) has basic window snapping capabilities.
237
-
238
- For more advanced tiling, install the i3 window manager:
239
-
240
- ```bash
241
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
242
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y i3
243
- ```
244
-
245
- **Verification:**
246
-
247
- ```bash
248
- i3 --version
249
- ```
250
-
251
- **Note on ARM Architecture:** i3 is available pre-compiled for ARM architecture in the Raspberry Pi OS repositories. No special configuration is required.
252
-
253
- ---
254
-
255
- ### Amazon Linux/RHEL (YUM/DNF)
256
-
257
- **Moom is NOT available on Amazon Linux or RHEL.** It is a macOS-only application.
258
-
259
- Amazon Linux and RHEL are primarily server operating systems without desktop environments by default. Window management tools like Moom are not applicable to these platforms in typical server use cases.
260
-
261
- #### Installation Steps
262
-
263
- **Not applicable.** Window management tools require a graphical desktop environment, which is not standard on Amazon Linux or RHEL servers.
264
-
265
- If you have installed a desktop environment (such as GNOME Workstation), you can use GNOME's built-in window tiling features or install i3:
266
-
267
- ```bash
268
- sudo dnf install -y i3
269
- ```
270
-
271
- **Verification:**
272
-
273
- ```bash
274
- i3 --version
275
- ```
276
-
277
- ---
278
-
279
- ### Windows (Chocolatey/winget)
280
-
281
- **Moom is NOT available on Windows.** It is a macOS-only application developed by Many Tricks.
282
-
283
- Use **Microsoft PowerToys FancyZones** as the equivalent window management tool for Windows. FancyZones is a free, open-source utility from Microsoft that provides advanced window snapping, custom zones, and multi-monitor support similar to Moom.
284
-
285
- #### Prerequisites
286
-
287
- - Windows 10 version 1903 or later, or Windows 11
288
- - Administrator PowerShell or Command Prompt
289
- - Chocolatey or winget package manager installed
290
-
291
- Verify winget is installed (comes pre-installed on Windows 10/11):
292
-
293
- ```powershell
294
- winget --version
295
- ```
296
-
297
- Or verify Chocolatey:
298
-
299
- ```powershell
300
- choco --version
301
- ```
302
-
303
- #### Installation Steps
304
-
305
- **Install using winget (Recommended):**
306
-
307
- Open PowerShell or Command Prompt and run:
308
-
309
- ```powershell
310
- winget install --id Microsoft.PowerToys --silent --accept-package-agreements --accept-source-agreements
311
- ```
312
-
313
- **Explanation of flags:**
314
- - `--id Microsoft.PowerToys`: Specifies the exact package identifier
315
- - `--silent`: Suppresses the installer UI completely
316
- - `--accept-package-agreements`: Automatically accepts the package license
317
- - `--accept-source-agreements`: Automatically accepts the source terms
318
-
319
- **Install using Chocolatey:**
320
-
321
- Open PowerShell or Command Prompt as Administrator and run:
322
-
323
- ```powershell
324
- choco install powertoys -y
325
- ```
326
-
327
- **Explanation of flags:**
328
- - `-y`: Automatically confirms all prompts for non-interactive installation
329
-
330
- #### Verification
331
-
332
- Open a new PowerShell or Command Prompt window (to refresh PATH), then verify:
333
-
334
- ```powershell
335
- winget list --id Microsoft.PowerToys
336
- ```
337
-
338
- Or check via Chocolatey:
339
-
340
- ```powershell
341
- choco list powertoys
342
- ```
343
-
344
- Verify PowerToys is running:
345
-
346
- ```powershell
347
- Get-Process PowerToys* -ErrorAction SilentlyContinue | Select-Object Name
348
- ```
349
-
350
- #### Troubleshooting
351
-
352
- **Problem**: FancyZones is not active after installation
353
-
354
- **Solution**: Launch PowerToys from the Start menu. FancyZones is a module within PowerToys that must be enabled:
355
-
356
- 1. Open PowerToys Settings from the system tray
357
- 2. Navigate to FancyZones in the left sidebar
358
- 3. Enable the "Enable FancyZones" toggle
359
-
360
- **Problem**: FancyZones does not snap windows
361
-
362
- **Solution**: Hold the Shift key while dragging a window to activate FancyZones snapping (default behavior).
363
-
364
- **Problem**: winget installation fails
365
-
366
- **Solution**: Update the winget source and retry:
367
-
368
- ```powershell
369
- winget source update
370
- winget install --id Microsoft.PowerToys --silent --accept-package-agreements --accept-source-agreements
371
- ```
372
-
373
- ---
374
-
375
- ### WSL (Ubuntu)
376
-
377
- **Moom cannot run in WSL.** WSL runs a Linux environment where macOS applications are not compatible.
378
-
379
- Window management in WSL is not applicable because WSL GUI applications (via WSLg) are managed by the Windows window manager, not a Linux one.
380
-
381
- #### Recommended Approach
382
-
383
- For window management needs when using WSL:
384
-
385
- 1. **Install PowerToys FancyZones on the Windows host** - This will manage all windows including WSLg applications
386
-
387
- #### Installation Steps
388
-
389
- **Install PowerToys on the Windows host from within WSL:**
390
-
391
- ```bash
392
- powershell.exe -Command "winget install --id Microsoft.PowerToys --silent --accept-package-agreements --accept-source-agreements"
393
- ```
394
-
395
- Or using Chocolatey:
396
-
397
- ```bash
398
- powershell.exe -Command "choco install powertoys -y"
399
- ```
400
-
401
- #### Verification
402
-
403
- Verify PowerToys is installed on the Windows host:
404
-
405
- ```bash
406
- powershell.exe -Command "winget list --id Microsoft.PowerToys"
407
- ```
408
-
409
- #### Troubleshooting
410
-
411
- **Problem**: PowerShell command fails from WSL
412
-
413
- **Solution**: Use the full path to PowerShell:
414
-
415
- ```bash
416
- /mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe -Command "winget install --id Microsoft.PowerToys --silent --accept-package-agreements --accept-source-agreements"
417
- ```
418
-
419
- ---
420
-
421
- ### Git Bash (Manual/Portable)
422
-
423
- Git Bash runs within Windows, so use **Microsoft PowerToys FancyZones** for window management. The installation is identical to the Windows (Chocolatey/winget) section.
424
-
425
- #### Prerequisites
426
-
427
- - Windows 10 version 1903 or later, or Windows 11
428
- - Git Bash installed (comes with Git for Windows)
429
- - winget (pre-installed on Windows 10/11) or Chocolatey installed
430
-
431
- #### Installation Steps
432
-
433
- **Install via winget from Git Bash:**
434
-
435
- ```bash
436
- powershell.exe -Command "winget install --id Microsoft.PowerToys --silent --accept-package-agreements --accept-source-agreements"
437
- ```
438
-
439
- **Install via Chocolatey from Git Bash:**
440
-
441
- ```bash
442
- powershell.exe -Command "choco install powertoys -y"
443
- ```
444
-
445
- #### Verification
446
-
447
- Verify PowerToys is installed:
448
-
449
- ```bash
450
- powershell.exe -Command "winget list --id Microsoft.PowerToys"
451
- ```
452
-
453
- Check if PowerToys is running:
454
-
455
- ```bash
456
- powershell.exe -Command "Get-Process PowerToys* -ErrorAction SilentlyContinue | Select-Object Name"
457
- ```
458
-
459
- #### Troubleshooting
460
-
461
- **Problem**: PowerShell command not found
462
-
463
- **Solution**: Use the full path:
464
-
465
- ```bash
466
- /mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe -Command "choco install powertoys -y"
467
- ```
468
-
469
- **Problem**: Chocolatey not installed
470
-
471
- **Solution**: Install Chocolatey first:
472
-
473
- ```bash
474
- powershell.exe -Command "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'))"
475
- ```
476
-
477
- ---
478
-
479
- ## Post-Installation Configuration
480
-
481
- ### macOS (Moom)
482
-
483
- After installing Moom on macOS:
484
-
485
- 1. **Grant Accessibility Permissions**: On first launch, Moom will request Accessibility permissions in System Settings > Privacy & Security > Accessibility. This is required for Moom to control window positions and sizes.
486
-
487
- 2. **Configure the Pop-Up Palette**: Open Moom preferences to customize what actions appear in the green button pop-up palette. You can add up to 61 separate actions including folders, layouts, and grids.
488
-
489
- 3. **Set Up Keyboard Shortcuts**: Enable keyboard control in Moom preferences and configure your preferred trigger key combination for keyboard-based window management.
490
-
491
- 4. **Create Saved Layouts**: If you work with a consistent set of applications, create saved layouts that restore all windows to specific positions. This is especially useful for users who frequently connect and disconnect external displays.
492
-
493
- 5. **Configure Snap Behavior**: Enable the Snap feature to quickly move windows by dragging them to screen edges. Customize which edges trigger which actions.
494
-
495
- 6. **License Activation**: Moom costs $15 from the Many Tricks website. The license is valid forever, with updates included for one year. After one year, you can continue using the existing version or upgrade at a reduced price.
496
-
497
- ### Windows (PowerToys FancyZones)
498
-
499
- After installing PowerToys on Windows:
500
-
501
- 1. **Launch PowerToys**: Open PowerToys from the Start menu. It runs as a system tray application.
502
-
503
- 2. **Enable FancyZones**: In PowerToys Settings, navigate to FancyZones and ensure it is enabled.
504
-
505
- 3. **Configure Zones**: Click "Launch layout editor" to create custom zones for your displays. Pre-built templates include columns, rows, grids, and priority grid.
506
-
507
- 4. **Set Activation Key**: By default, hold Shift while dragging a window to activate FancyZones. You can change this in settings.
508
-
509
- 5. **Multi-Monitor Setup**: FancyZones supports different layouts per monitor. Configure each display independently.
510
-
511
- ---
512
-
513
- ## Common Issues
514
-
515
- ### macOS-Specific Issues (Moom)
516
-
517
- | Issue | Solution |
518
- |-------|----------|
519
- | Moom pop-up does not appear on green button | Grant Accessibility permissions in System Settings > Privacy & Security |
520
- | Windows do not move to correct positions | Ensure the target display is connected; layouts are display-specific |
521
- | Keyboard shortcuts do not work | Enable keyboard control in Moom preferences and set a trigger key |
522
- | Moom not available in Mac App Store | Moom 4 is only available from Many Tricks directly due to sandboxing requirements |
523
- | Moom slows down when many windows open | Reduce the number of actions in the pop-up palette |
524
- | Homebrew cask outdated | Run `brew update && brew upgrade --cask moom` |
525
-
526
- ### Windows-Specific Issues (PowerToys FancyZones)
527
-
528
- | Issue | Solution |
529
- |-------|----------|
530
- | FancyZones does not activate | Ensure PowerToys is running; check the system tray |
531
- | Shift+drag does not show zones | Enable "Hold Shift key to activate zones" in FancyZones settings |
532
- | Zones disappear on monitor reconnect | Re-apply layouts after reconnecting displays |
533
- | PowerToys crashes on startup | Update to the latest version via winget or Chocolatey |
534
-
535
- ---
536
-
537
- ## Feature Comparison
538
-
539
- | Feature | Moom (macOS) | PowerToys FancyZones (Windows) |
540
- |---------|--------------|-------------------------------|
541
- | Mouse-Based Snapping | Yes (green button pop-up) | Yes (Shift+drag to zones) |
542
- | Keyboard Shortcuts | Yes (comprehensive) | Yes (via PowerToys Run) |
543
- | Custom Grids/Zones | Yes | Yes |
544
- | Saved Layouts | Yes (per display configuration) | Yes (per display configuration) |
545
- | Multi-Monitor Support | Yes | Yes |
546
- | Hover to Move | Yes (modifier key + mouse) | No |
547
- | Price | $15 (one-time) | Free (open source) |
548
-
549
- ---
550
-
551
- ## References
552
-
553
- ### macOS (Moom)
554
-
555
- - [Moom Official Website](https://manytricks.com/moom/)
556
- - [Moom Homebrew Cask](https://formulae.brew.sh/cask/moom)
557
- - [Many Tricks Blog - Moom 4 Announcement](https://manytricks.com/blog/?p=6385)
558
- - [Many Tricks Software](https://manytricks.com/)
559
-
560
- ### Windows (PowerToys FancyZones)
561
-
562
- - [Microsoft PowerToys Official Website](https://learn.microsoft.com/en-us/windows/powertoys/)
563
- - [PowerToys GitHub Repository](https://github.com/microsoft/PowerToys)
564
- - [FancyZones Documentation](https://learn.microsoft.com/en-us/windows/powertoys/fancyzones)
565
- - [PowerToys Chocolatey Package](https://community.chocolatey.org/packages/powertoys)
566
-
567
- ### Linux Alternatives
568
-
569
- - [i3 Window Manager](https://i3wm.org/)
570
- - [gTile GNOME Extension](https://extensions.gnome.org/extension/28/gtile/)