Last active
August 1, 2025 23:20
-
-
Save jcanfield/a8f2fd8b1d29afc408de04ca2dd3259c to your computer and use it in GitHub Desktop.
Linux & MacOS CLI tools for Windows
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Install Linux and MacOS command-line tools | |
## Based off of the following list, https://medium.com/@pachoyan/suprising-list-of-linux-and-macos-command-line-tools-available-on-windows-29c20b2f4325 | |
## I have personally installed all options to use in testing envrinoments and they typically work as advertised | |
## Comment the following if you have already install Winget and scoop | |
# Installing scoop | |
# More info, https://scoop.sh/ | |
#Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser | |
#Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression | |
# Installing winget | |
# More info, https://learn.microsoft.com/en-us/windows/package-manager/winget/ | |
#$progressPreference = 'silentlyContinue' | |
#Write-Host "Installing WinGet PowerShell module from PSGallery..." | |
#Install-PackageProvider -Name NuGet -Force | Out-Null | |
#Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery | Out-Null | |
#Write-Host "Using Repair-WinGetPackageManager cmdlet to bootstrap WinGet..." | |
#Repair-WinGetPackageManager -AllUsers | |
#Write-Host "Done." | |
## Installation of the following: | |
# Kitware CMake (CMake) | |
# cURL (cURL) | |
# coreutils (with Scoop, includes GNU Core Utilities) | |
# make (with Scoop, GNU Make) | |
# grepWin (Stefan's Tools, a GUI grep utility for Windows) | |
# gawk (GNU Awk) | |
# sed (GNU Stream Editor) | |
# Microsoft OpenSSH Beta (OpenSSH client/server from Microsoft) | |
# gsudo (a sudo equivalent for Windows) | |
# GnuWin32 FindUtils (UNIX find utilities) | |
# Git (distributed version control) | |
# Jernej Simoncic Wget (Windows port of GNU Wget) | |
# GNU Wget2 (successor to GNU Wget) | |
# xz (compression tools) | |
# neofetch-win (Neofetch for Windows) | |
# base64 (command-line base64 encoder/decoder) | |
# pass-winmenu-nogpg (Windows port of the password manager "pass" without GPG dependency) | |
# pasteboard (clipboard utility) | |
# vim | |
# GNU Nano | |
# Neovim | |
# GNU Emacs | |
# pyenv | |
# Lazydocker | |
# lazygit | |
## Install apps via winget ## | |
winget install -e --id Kitware.CMake | |
winget install -e --id cURL.cURL | |
winget install -e --id StefansTools.grepWin | |
winget install -e --id Microsoft.OpenSSH.Beta | |
winget install -e --id GnuWin32.FindUtils | |
winget install -e --id Git.Git | |
winget install -e --id JernejSimoncic.Wget | |
winget install -e --id GNU.Wget2 | |
winget install -e --id nepnep.neofetch-win | |
winget install -e --id vim.vim | |
winget install -e --id GNU.Nano | |
winget install -e --id Neovim.Neovim | |
winget install -e --id GNU.Emacs | |
winget install -e --id JesseDuffield.Lazydocker | |
winget install -e --id JesseDuffield.lazygit | |
## Install Extras repo in scoop ## | |
scoop bucket add extras | |
## Install apps via scoop ## | |
scoop install main/coreutils | |
scoop install main/make | |
scoop install main/gawk | |
scoop install main/sed | |
scoop install main/gsudo | |
scoop install main/xz | |
scoop install main/base64 | |
scoop install extras/pass-winmenu-nogpg | |
scoop install extras/pasteboard | |
scoop install main/pyenv | |
## Unused installs | |
# Uncomment if you'd like to use the following | |
# scoop install extras/jenv | |
# winget install -e --id Rustlang.Rustup | |
# scoop install main/redis |
NOTE: neofetch was listed as a potentially unwanted app, possible due to the following:
- The way the installer extracts and runs temporary files in user AppData Temp folders
- Usage patterns that are typical for tools which access system information or system details
Neofetch
being uncommon in Windows environments, so antivirus heuristics may err on caution and flag it as potentially unwanted- Potential false positives from detection engines because it might resemble certain toolkits or scripts recognized as PUA or hack tools, especially when packaged as MSI installers
Here are three links that eased my mind on this.
UPDATE: Added scoop bucket add extras
so that scoop can install pasteboard
and pass-winmenu-nogpg
. Also allows jenv
(for the Java environment) to be installed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
UPDATE: Just adding install script for both Winget & scoop. Separated the winget and scoop installs.