Skip to content

Instantly share code, notes, and snippets.

@jcanfield
Last active August 1, 2025 23:20
Show Gist options
  • Save jcanfield/a8f2fd8b1d29afc408de04ca2dd3259c to your computer and use it in GitHub Desktop.
Save jcanfield/a8f2fd8b1d29afc408de04ca2dd3259c to your computer and use it in GitHub Desktop.
Linux & MacOS CLI tools for Windows
# 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
@jcanfield
Copy link
Author

UPDATE: Just adding install script for both Winget & scoop. Separated the winget and scoop installs.

@jcanfield
Copy link
Author

jcanfield commented Aug 1, 2025

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.

  1. Github Project
  2. defender detecting Microsoft software as a threat and who tf is nepnep
  3. Github Issue Tracker item

@jcanfield
Copy link
Author

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