Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/KyleMit/winstall

Automating something I do at most once every year
https://github.com/KyleMit/winstall

Last synced: 3 months ago
JSON representation

Automating something I do at most once every year

Awesome Lists containing this project

README

        

# 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
* [How to Change the Default Windows 11 Browser](https://www.makeuseof.com/windows-11-change-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
* [nvm-windows](https://github.com/coreybutler/nvm-windows/releases)
* 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

* [How to use Visual Studio Code as default editor for git?](https://stackoverflow.com/q/30024353/1366033)

```bash
git config --global core.editor "code --wait"
```

* Add to profile

```ps1
"`nNew-Alias which get-command" | add-content $profile
```

* [Set File Type Association Default Application Command Line Windows 10 UserChoice Hash Internal Method](https://danysys.com/set-file-type-association-default-application-command-line-windows-10-userchoice-hash-internal-method/)

> The main problem is that in recent versions of Windows 8/10 This key is protected by a hash associated with the file type, and succeeding in editing it without generating the valid hash the association is automatically restored to the default application.

```ps1
$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
```

```xml

```