Skip to content

Automating something I do at most once every year

Notifications You must be signed in to change notification settings

KyleMit/winstall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7df59f2 · Mar 21, 2025

History

37 Commits
Feb 26, 2023
Mar 21, 2025
Oct 14, 2024
Mar 21, 2025
Feb 11, 2023
Mar 5, 2022
Aug 6, 2022

Repository files navigation

Winstaller

Automating something I do at most once every year

Goals

  • Operations should be idempotent - in that you may run the script as many times as you like in setting up or resetting your machine
  • Errors should be actionable, but resolved programmatically

Todo

  • dotfiles
    • hard link
    • ask force overwrite?
    • split git file
    • split stack vs core profile
    • spellcheck dictionary
    • Download necessary assets (git repo)
      • Icons
      • Wallpapers
  • windows explorer
    • Enable View Hidden files
    • Disable recent in Quick Access
  • set chrome as default browser
  • winget
    • only install new apps
    • winget upgrade
    • download winget if not present
  • bootstrap
    • if you don't have ps, download via bat or sh
  • windows
    • increase thumbnail size
    • taskbar tweaker
  • apps
  • scripting
    • out-menu so we don't accidentally run anything
    • stop script if sub-error
    • use test checks
    • Add requires reboot and instructions on create admin account
    • todo - prompt for values or set via config?
  • trackpad
    • invert scrolling
    • three finger tap -> middle click
  • VS Code - Powershell Integrated Console
    • Use PS7
  • Document dependendencies (i.e. Font relies on Scoop)

Notes

$regKeyUrl = "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\{0}\UserChoice"
$regKeyHttp  = $regKeyUrl -f 'http'
$regKeyHttps = $regKeyUrl -f 'https'

$regKeyFile = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\{0}\UserChoice"
$regKeyHtm  = $regKeyFile -f '.htm'
$regKeyHtml = $regKeyFile -f '.html'


Set-ItemProperty $regKeyHttp  -name ProgId ChromeHTML
Set-ItemProperty $regKeyHttps -name ProgId ChromeHTML
Set-ItemProperty $regKeyHtm  -name ProgId ChromeHTML
Set-ItemProperty $regKeyHtml -name ProgId ChromeHTML

Get-ItemProperty $regKeyHttp
Get-ItemProperty $regKeyHttps
Get-ItemProperty $regKeyHtm
Get-ItemProperty $regKeyHtml
<Association Identifier=".htm" ProgId="MSEdgeHTM" ApplicationName="Microsoft Edge" />
<Association Identifier=".html" ProgId="MSEdgeHTM" ApplicationName="Microsoft Edge" />
<Association Identifier="http" ProgId="MSEdgeHTM" ApplicationName="Microsoft Edge" />
<Association Identifier="https" ProgId="MSEdgeHTM" ApplicationName="Microsoft Edge" />

<Association Identifier=".htm" ProgId="ChromeHTML" ApplicationName="Google Chrome" />
<Association Identifier=".html" ProgId="ChromeHTML" ApplicationName="Google Chrome" />
<Association Identifier="http" ProgId="ChromeHTML" ApplicationName="Google Chrome" />
<Association Identifier="https" ProgId="ChromeHTML" ApplicationName="Google Chrome" />

About

Automating something I do at most once every year

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published