Skip to content

Instantly share code, notes, and snippets.

@thoughtful-solutions
Last active June 21, 2024 11:19
Show Gist options
  • Save thoughtful-solutions/a2ebec9f59eeed9648f9020a7ad95e0a to your computer and use it in GitHub Desktop.
Save thoughtful-solutions/a2ebec9f59eeed9648f9020a7ad95e0a to your computer and use it in GitHub Desktop.
Windows OS Package Installations tooling (Scoop)

Windows Desktop

ANSI/VT Console behaviour

Windows 10 and Windows 11 default console behaviour is to ignore ANSI/VT escape sequences

   Set-ItemProperty HKCU:\Console VirtualTerminalLevel -Type DWORD 1

Scoop.sh

A consistent and reliable manner in which to configure the behaviour of a Windows Desktop or Server is to make use of

   https://scoop.sh/

Scoop Bucket Directory

  https://rasa.github.io/scoop-directory/by-bucket

So now you add the additional buckets

   scoop bucket add extras
   scoop bucket add java

Scoop export - The Packages I typically run

scoop export shows what is installed

7zip             21.07                 main   2022-03-26 08:03:06
chromium         100.0.4896.60-r972766 extras 2022-04-01 10:04:16
dark             3.11.2                main   2022-03-28 14:03:59
dockercompletion 1.2010.1.211002       extras 2022-03-30 11:03:01
gdrive           2.1.1                 main   2022-03-28 14:03:01
get-iplayer      3.29.0                main   2022-03-26 08:03:09
git              2.35.1.windows.2      main   2022-03-26 08:03:19
graphviz         3.0.0                 main   2022-03-26 08:03:55
innounp          0.50                  main   2022-03-26 08:03:48
libreoffice      7.3.1                 extras 2022-04-01 09:04:51
oraclejdk        18                    java   2022-03-26 08:03:56
packer           1.8.0                 main   2022-04-04 09:04:20
plantuml         1.2022.3              extras 2022-04-01 09:04:53
python           3.10.4                main   2022-03-28 15:03:27
signal           5.37.0                extras 2022-04-01 10:04:15
signal-cli       0.10.2                main   2022-03-26 08:03:50
telegram         3.6.1                 extras 2022-03-26 08:03:03
vagrant          2.2.19                main   2022-04-04 09:04:01
vlc              3.0.16                extras 2022-03-26 08:03:11
vscode           1.66.0                extras 2022-04-01 10:04:33
which            2.20                  main   2022-03-26 08:03:41

Visual Studio Code config

  code --list-extensions

jebbs.plantuml
ms-vscode-remote.remote-wsl
shd101wyy.markdown-preview-enhanced
yzhang.markdown-all-in-one

You can then add the extensions with

code --install-extension jebbs.plantuml

Hyper-V

Hyper-V is the default Hypervisor for Windows.

To install the hypervisior and configuration do the following

dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL

or in PowerShell in Administrator mode you can do

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -all
Get-VMHost|fl *

You can list the features available with

Get-WindowsCapability -Online

Start a Powershell as an administrator

This will now add the user xxxxx to the Hyper-V Administrators list so that a user can stop and start VM without being full administrator

Add-LocalGroupMember -Group "Hyper-V Administrators" -Member xxxxxx

You will need to log out and login to get the new group membership.

You can check the membership with

Add-LocalGroupMember -Group "Hyper-V Administrators" -Member edmunds

Or by executing the local user admin control panel

lusrmgr.msc

or by checking with the

whoami /all

Building vSwitch for Hyper-V

This has to be down in PowerShell Administrator mode

This builds a local NAT network on 192.168.10.1 called vSwitch

New-VMSwitch -SwitchName vSwitch -SwitchType Internal   
$if_index=(Get-NetAdapter -Name "VEthernet (vSwitch)").ifIndex     
New-NetIPAddress -IPAddress 192.168.10.1  -PrefixLength 24 -InterfaceIndex $if_index 
New-NetNat -Name "vSwitch_NAT" -InternalIPInterfaceAddressPrefix 192.168.10.0/24

Then you need a DHCP Server https://github.com/rgl/WinDHCP#service-installation

This builds a local switch vSwitch which can get DHCP from local network [Not working yet]

New-VMSwitch -SwitchName vSwitch -SwitchType Internal
$NetAdapterID = (Get-NetAdapter -Name "vEthernet (vSwitch)").ifIndex
$NetProfile = (Get-NetConnectionProfile -InterfaceIndex $NetAdapterID).NetworkCategory
Set-NetConnectionProfile -InterfaceIndex $NetAdapterID -NetworkCategory Private

gcalcli - command line google calendar

Command line access to google calendar is very useful

pip3 install gcalcli

Then you need to configure the access control

Create a new file

c:\home\xxxx\.gcal_oauth
c:\home\xxxx\.gcalclirc

Install Windows Services for Linux

This gives you a CentOS Build on Windows

Another interesting piece on doing this is Felix Reiseberg's Windows Dev Environment

Boxcutter

Boxcutter provides you with OS images which you can use to keep any unknown software isolated in VM's for vagrant

Microsoft Edge

It is possible at the command line to start MS-Edge with a specific profile

"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --profile-directory="Profile 1"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment