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

https://github.com/ihor-oleks/dotfiles

Personal settings
https://github.com/ihor-oleks/dotfiles

autohotkey dotfiles powershell settings windows

Last synced: 5 months ago
JSON representation

Personal settings

Awesome Lists containing this project

README

          

# Setting up Windows

## 01 Terminal

```ps1
winget install --interactive --id Git.Git
```

```sh
cd /

tar -xvf ~/.dotfiles/terminal/packages/gcc-libs-15.1.0-2-x86_64.pkg.tar
tar -xvf ~/.dotfiles/terminal/packages/msys2-keyring-1~20250619-1-any.pkg.tar
tar -xvf ~/.dotfiles/terminal/packages/pacman-mirrors-20250607-1-any.pkg.tar
tar -xvf ~/.dotfiles/terminal/packages/pacman-6.1.0-18-x86_64.pkg.tar

pacman-key --init
pacman-key --populate msys2
pacman -Syu

URL=https://github.com/git-for-windows/git-sdk-64/raw/main
cat /etc/package-versions.txt | while read p v; do
d=/var/lib/pacman/local/$p-$v
mkdir -p $d
for f in desc files install mtree; do
echo "$URL$d/$f" ..... $d/$f
curl -sSL "$URL$d/$f" -o $d/$f
done
done

pacman -S fish tree
```

```ps1
Remove-Item -Path "$Env:UserProfile\.config\fish" -Recurse -Force -ErrorAction "SilentlyContinue"
New-Item -Path "$Env:UserProfile\.config\fish" -ItemType "Directory"
New-Item -Path "$Env:UserProfile\.config\fish\conf.d" -ItemType "SymbolicLink" -Target "$Env:UserProfile\.dotfiles\terminal\conf.d"
New-Item -Path "$Env:UserProfile\.config\fish\functions" -ItemType "SymbolicLink" -Target "$Env:UserProfile\.dotfiles\terminal\functions"
New-Item -Path "$Env:UserProfile\.config\fish\config.fish" -ItemType "SymbolicLink" -Target "$Env:UserProfile\.dotfiles\terminal\config.fish"

Remove-Item -Path "$Env:UserProfile\.bashrc" -Force -ErrorAction "SilentlyContinue"
New-Item -Path "$Env:UserProfile\.bashrc" -ItemType "SymbolicLink" -Target "$Env:UserProfile\.dotfiles\terminal\.bashrc"
(Get-Item -Path "$Env:UserProfile\.bashrc" -Force).Attributes += "Hidden"

Remove-Item -Path "$Env:UserProfile\.inputrc" -Force -ErrorAction "SilentlyContinue"
New-Item -Path "$Env:UserProfile\.inputrc" -ItemType "SymbolicLink" -Target "$Env:UserProfile\.dotfiles\terminal\.inputrc"
(Get-Item -Path "$Env:UserProfile\.inputrc" -Force).Attributes += "Hidden"

Remove-Item -Path "$Env:UserProfile\.gitconfig" -Force -ErrorAction "SilentlyContinue"
New-Item -Path "$Env:UserProfile\.gitconfig" -ItemType "SymbolicLink" -Target "$Env:UserProfile\.dotfiles\terminal\.gitconfig"
(Get-Item -Path "$Env:UserProfile\.gitconfig" -Force).Attributes += "Hidden"

Remove-Item -Path "$Env:UserProfile\.vimrc" -Force -ErrorAction "SilentlyContinue"
New-Item -Path "$Env:UserProfile\.vimrc" -ItemType "SymbolicLink" -Target "$Env:UserProfile\.dotfiles\terminal\.vimrc"
(Get-Item -Path "$Env:UserProfile\.vimrc" -Force).Attributes += "Hidden"
```

```ps1
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" /VE /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" /V "{9F156763-7844-4DC4-B2B1-901F640F5155}" /T REG_SZ /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" /V "{FDADFEE3-02D1-4E7C-A511-380F4C98D73B}" /T REG_SZ /F

REG ADD "HKEY_CLASSES_ROOT\Directory\shell\Terminal" /VE /D "Open in Terminal" /F
REG ADD "HKEY_CLASSES_ROOT\Directory\shell\Terminal" /V "Icon" /D "$Env:UserProfile\.dotfiles\terminal\terminal.ico" /T REG_EXPAND_SZ /F
REG ADD "HKEY_CLASSES_ROOT\Directory\shell\Terminal\command" /VE /D "$Env:LocalAppData\Microsoft\WindowsApps\wt.exe new-tab -d \""%1\""" /T REG_EXPAND_SZ /F

REG ADD "HKEY_CLASSES_ROOT\Directory\Background\shell\Terminal" /VE /D "Open in Terminal" /F
REG ADD "HKEY_CLASSES_ROOT\Directory\Background\shell\Terminal" /V "Icon" /D "$Env:UserProfile\.dotfiles\terminal\terminal.ico" /T REG_EXPAND_SZ /F
REG ADD "HKEY_CLASSES_ROOT\Directory\Background\shell\Terminal\command" /VE /D "$Env:LocalAppData\Microsoft\WindowsApps\wt.exe new-tab -d \""%V\""" /T REG_EXPAND_SZ /F
```

```ps1
wsl --update
```

```sh
sudo dnf update

sudo dnf install epel-release
sudo dnf install git hostname htop iputils ncurses tree vim which
```

## 02 File Explorer

```ps1
REG ADD "HKEY_CLASSES_ROOT\.ts" /VE /D "txt_auto_file" /T REG_SZ /F
REG ADD "HKEY_CLASSES_ROOT\.ts" /V "Content Type" /D "text/plain" /T REG_SZ /F
REG ADD "HKEY_CLASSES_ROOT\.ts" /V "PerceivedType" /D "text" /T REG_SZ /F
```

- Edit folder options
- Open Explorer to: `This PC`
- Disable `Show recently used files`
- Disable `Show frequently used folders`
- Disable `Show files from Office.com`
- Disable `Show Network`
- Specify quick access:
- `Home`
- `Desktop`
- `Documents`
- `Downloads`
- `Pictures`
- `Projects`
- `Videos`
- Tweak columns (`270`, `460`, `80`, `120`)

## 03 AutoHotkey

```ps1
winget install --interactive --id AutoHotkey.AutoHotkey
```

```ps1
Remove-Item -Path "$Env:AppData\Microsoft\Windows\Start Menu\Programs\Startup\AutoHotkey.lnk" -Force -ErrorAction "SilentlyContinue"

$Shell = New-Object -ComObject WScript.Shell

$Shortcut = $Shell.CreateShortcut("$Env:AppData\Microsoft\Windows\Start Menu\Programs\Startup\AutoHotkey.lnk")
$Shortcut.TargetPath = "$Env:UserProfile\.dotfiles\script.ahk"
$Shortcut.Save()

[System.Runtime.InteropServices.Marshal]::FinalReleaseComObject($Shell)
```

## 04 Visual Studio Code

```ps1
winget install --interactive --id Microsoft.VisualStudioCode
```

```ps1
Add-EnvironmentPath -Path "$Env:LocalAppData\Programs\Microsoft VS Code\bin" -Scope "User"

REG ADD "HKEY_CLASSES_ROOT\Directory\shell\Code" /VE /D "Open in Code" /T REG_SZ /F
REG ADD "HKEY_CLASSES_ROOT\Directory\shell\Code" /V "Icon" /D "%LocalAppData%\Programs\Microsoft VS Code\Code.exe" /T REG_EXPAND_SZ /F
REG ADD "HKEY_CLASSES_ROOT\Directory\shell\Code\command" /VE /D "%LocalAppData%\Programs\Microsoft VS Code\Code.exe --add \""%1\""" /T REG_EXPAND_SZ /F

REG ADD "HKEY_CLASSES_ROOT\Directory\Background\shell\Code" /VE /D "Open in Code" /T REG_SZ /F
REG ADD "HKEY_CLASSES_ROOT\Directory\Background\shell\Code" /V "Icon" /D "%LocalAppData%\Programs\Microsoft VS Code\Code.exe" /T REG_EXPAND_SZ /F
REG ADD "HKEY_CLASSES_ROOT\Directory\Background\shell\Code\command" /VE /D "%LocalAppData%\Programs\Microsoft VS Code\Code.exe --add \""%V\""" /T REG_EXPAND_SZ /F
```

## 05 Sublime Merge

```ps1
winget install --interactive --id SublimeHQ.SublimeMerge
```

```ps1
Add-EnvironmentPath -Path "C:\Program Files\Sublime Merge" -Scope "User"

New-Item -Path "$Env:AppData\Sublime Merge\Packages" -ItemType "Directory" -ErrorAction "SilentlyContinue"
New-Item -Path "$Env:AppData\Sublime Merge\.Disable Safe Mode Shortcut" -ItemType "File"
New-Item -Path "$Env:AppData\Sublime Merge\Packages\User" -ItemType "SymbolicLink" -Target "$Env:UserProfile\.dotfiles\merge"

REG ADD "HKEY_CLASSES_ROOT\Directory\shell\Merge" /VE /D "Open in Merge" /T REG_SZ /F
REG ADD "HKEY_CLASSES_ROOT\Directory\shell\Merge" /V "Icon" /D "%ProgramFiles%\Sublime Merge\sublime_merge.exe" /T REG_EXPAND_SZ /F
REG ADD "HKEY_CLASSES_ROOT\Directory\shell\Merge\command" /VE /D "%ProgramFiles%\Sublime Merge\sublime_merge.exe \""%1\""" /T REG_EXPAND_SZ /F

REG ADD "HKEY_CLASSES_ROOT\Directory\Background\shell\Merge" /VE /D "Open in Merge" /T REG_SZ /F
REG ADD "HKEY_CLASSES_ROOT\Directory\Background\shell\Merge" /V "Icon" /D "%ProgramFiles%\Sublime Merge\sublime_merge.exe" /T REG_EXPAND_SZ /F
REG ADD "HKEY_CLASSES_ROOT\Directory\Background\shell\Merge\command" /VE /D "%ProgramFiles%\Sublime Merge\sublime_merge.exe \""%V\""" /T REG_EXPAND_SZ /F
```

## 06 Chrome

```ps1
winget install --interactive --id Google.Chrome
```

```ps1
Add-EnvironmentPath -Path "$Env:ProgramFiles\Google\Chrome\Application" -Scope "User"
```

- Install extensions
- Angular Dev Tools
- Blank New Tab Page
- Google Translate
- Grammarly
- `https://*.grammarly.com/*`
- `https://github.com/*`
- `https://tophonetics.com/*`
- `https://translate.google.com/*`
- `https://www.deepl.com/*`
- Refined GitHub
- uBlock Origin Lite
- Vue Dev Tools

## 07 Firefox

```ps1
winget install --interactive --id Mozilla.Firefox
```

```ps1
Add-EnvironmentPath -Path "$Env:ProgramFiles\Mozilla Firefox" -Scope "User"
Set-EnvironmentVariable -Name "MOZ_DISABLE_SAFE_MODE_KEY" -Value "1" -Scope "User"
```

- Disable `extensions.pocket.enabled`
- Disable `services.sync.prefs.sync.extensions.activeThemeID`
- Disable `ui.key.menuAccessKeyFocuses`

## 08 Telegram

```ps1
winget install --interactive --id Telegram.TelegramDesktop
```

## 09 Teams

```ps1
winget install --interactive --id Microsoft.Teams
```

## 10 Slack

```ps1
winget install --interactive --id SlackTechnologies.Slack
```

## 11 Viber

```ps1
winget install --interactive --id Rakuten.Viber
```

## 12 Discord

```ps1
winget install --interactive --id Discord.Discord
```

## 13 Signal

```ps1
winget install --interactive --id OpenWhisperSystems.Signal
```

## 14 Toggl

```ps1
winget install --interactive --id Toggl.TogglTrack
```

## 15 Todoist

```ps1
winget install --interactive --id Doist.Todoist
```

## 16 PowerToys

```ps1
winget install --interactive --id Microsoft.PowerToys
```

## 17 Anki

```ps1
winget install --interactive --id Anki.Anki
```

- Advanced Browser · `874215009`
- Duplicate and Reorder · `1114271285`
- Image Resizer · `1214357311`
- Review Heatmap · `1771074083`

## 18 Figma

```ps1
winget install --interactive --id Figma.Figma
```

## 19 Affinity Photo

```ps1
winget install --interactive --id Affinity.Photo
```

## 20 Node.js

```ps1
winget install --interactive --id Volta.Volta
```

```ps1
Set-EnvironmentVariable -Name "VOLTA_FEATURE_PNPM" -Value "1" -Scope "User"
```

```ps1
volta install node@20.19
volta install pnpm@10.15
```

```ps1
New-Item -Path "D:\Packages\NPM" -ItemType "Directory" -ErrorAction "SilentlyContinue"
Set-EnvironmentVariable -Name "NPM_CONFIG_CACHE" -Value "D:\Packages\NPM" -Scope "User"
pnpm config set store-dir D:\Packages\NPM
```

## 21 Python

```
winget install --interactive --id Python.Python.3.12
```

```ps1
New-Item -Path "D:\Packages\PIP" -ItemType "Directory" -ErrorAction "SilentlyContinue"
Set-EnvironmentVariable -Name "PIP_CACHE_DIR" -Value "D:\Packages\PIP" -Scope "User"
```

## 22 PostgreSQL

```ps1
winget install --interactive --id PostgreSQL.PostgreSQL.17
```

## 23 Postman

```ps1
winget install --interactive --id Postman.Postman
```

## 24 WebStorm

```ps1
winget install --interactive --id JetBrains.WebStorm --location "$Env:LocalAppData\Programs\JetBrains\WebStorm"
```

```ps1
Add-EnvironmentPath -Path "$Env:LocalAppData\Programs\JetBrains\WebStorm\bin" -Scope "User"

Remove-Item -Path "$Env:UserProfile\.ideavimrc" -Force -ErrorAction "SilentlyContinue"
New-Item -Path "$Env:UserProfile\.ideavimrc" -ItemType "SymbolicLink" -Target "$Env:UserProfile\.dotfiles\webstorm\.ideavimrc"
(Get-Item -Path "$Env:UserProfile\.ideavimrc" -Force).Attributes += "Hidden"
```

```
-Xms2048m
-Xmx8192m
-XX:ReservedCodeCacheSize=1024m
```

```
project.tree.structure.show.url=false
```