Skip to content

Instantly share code, notes, and snippets.

@rpavlik
Last active October 11, 2023 19:56
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rpavlik/1fe2977cb84494f124167f2cc413886b to your computer and use it in GitHub Desktop.
Save rpavlik/1fe2977cb84494f124167f2cc413886b to your computer and use it in GitHub Desktop.
basic system setup
# install scoop
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
# for bare metal
iwr -useb get.scoop.sh | iex
# or, for VM with a shared w:\ drive already
# $env:SCOOP = 'w:\scoop'
# [Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
# iwr get.scoop.sh -outfile 'install.ps1'
# .\install.ps1 -ScoopDir $env:SCOOP
# Make sure "Package Installer" is updated in the MSFT Store
# install some basics
winget install git.git
# Or, for non-fulltime-dev machines, probably easier to just do
# scoop install git
scoop bucket add rp-scoops https://github.com/rpavlik/rp-scoops
scoop bucket add extras
scoop bucket add nerd-fonts
# common stuff
scoop install ninja debugviewpp cmake gh ripgrep sysinternals notepad3 nano wget 7zip sudo posh-git oh-my-posh python vswhere
# Follow the reg file step mentioned after install
scoop install cascadia-code cascadiacode-nf-mono cascadiacode-nf anonymouspro-nf-mono
# The alphanumeric ID is windows terminal
winget install 9N0DX20HK701
# Set the default appearance settings in Windows Terminal to use "CaskaydiaCode NF" so oh-my-posh renders right
winget install Mozilla.Firefox
winget install vscode
# windbg preview - allows registering as a "postmortem" debugger in case VS isn't cutting it for you.
winget install 9PGJGD53TN86
# Install the OpenSSH Client
sudo Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Install the OpenSSH Server
sudo Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
sudo Add-MpPreference -ExclusionProcess oh-my-posh.exe
# see also https://gist.github.com/rpavlik/c5f297be79bab1077ecd26339dcb674f
# run this in pwsh, not the same terminal as above
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
oh-my-posh init pwsh | Invoke-Expression
Import-Module ((scoop prefix posh-git) + "\posh-git.psm1")
Add-PoshGitToProfile
oh-my-posh init pwsh --config $env:USERPROFILE/scoop/apps/oh-my-posh/current/themes/agnoster.omp.json | Invoke-Expression
if (!(Get-Content $PROFILE | Select-String -Pattern "oh-my-posh")) {
Add-Content -Path $PROFILE -Value "oh-my-posh init pwsh --config $env:USERPROFILE/scoop/apps/oh-my-posh/current/themes/agnoster.omp.json | Invoke-Expression"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment