https://github.com/freddiehaddad/windotfiles
Windows dotfiles
https://github.com/freddiehaddad/windotfiles
Last synced: 6 months ago
JSON representation
Windows dotfiles
- Host: GitHub
- URL: https://github.com/freddiehaddad/windotfiles
- Owner: freddiehaddad
- Created: 2024-09-04T17:12:22.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-04-25T14:53:16.000Z (6 months ago)
- Last Synced: 2025-04-26T05:56:35.724Z (6 months ago)
- Language: Lua
- Size: 38.1 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Windows "dot" Files and System Settings
These instructions will apply the custom settings used on Windows 11 as well as
provide the steps to install and configure third-party software.1. Open Microsoft Store and update all apps.
1. Open Windows Terminal
```console
winget upgrade --all --accept-source-agreements --accept-package-agreements
```1. Go to System Settings > System > For developers
Enable the following:
- End Task
- Show file extensions
- Show hidden and system files
- Show full path in title bar
- Show opotion to run as a different user in Start
- Set default terminal to Windows Terminal
- Allow local PowerShell scripts to run without signing
- Enable sudo
- Set Configure how sudo runs applications to Inline1. Go to Advanced System Settings > Advanced > Settings
Uncheck the following:
- Show shadows under windows
1. Go to Control Panel > System and Security > Power Options
- Select High Performance
- Select Change plan settings
- Set Turn off the display to 20 minutes
- Set Put the computer to sleep to 2 hours
- Select Change advanced power settings
- Set Hibernate to: 240 minutes1. Right click task bar
- Select Taskbar settings
- Set Search to Hide
- Set Copilot to Off
- Set Widgets to Off
- Set Touch keyboard to Never
- Uncheck Select the far corner of the taskbar to show the desktop
- Set Combine taskbar buttons and hide labels to Never1. Go to System Settings > Accessibility > Mouse pointer and touch
- Select Custom
- Set color to Gold
- Increase Size to 21. Go to System Settings > Accounts > Email & accounts
- Select Add a Microsoft account
- Enter email, password, etc.1. Right-click OneDrive on the taskbar
- Select settings
- Select Add an account
- Enter email, password, etc.1. Install and configure 1Password
```console
winget inatall --id AgileBits.1Password
winget install --id AgileBits.1Password.CLI
```After signing in, open Settings > Developer:
- Enable SSH agent (follow the instructions for SSH agent configuration).
- Enable Integrate with 1Password CLI1. Git / GitHub CLI
```console
winget install --id Git.Git
winget install --id GitHub.cli
```After running the following command you can configure GitHub CLI. Do not
create a new SSH key.```console
git config --global user.name "First Last"
git config --global user.email your@email.com
git config --global core.editor nvim
git config --global merge.tool nvimdiff
git config --global mergetool.keepBackup false
git config --global core.autocrlf true
git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
gh auth login
gh auth setup-git
```1. Create symbolic links
After setting up sudo and Powershell:
```console
cd ~
sudo run pwsh --Command "New-Item -type SymbolicLink -Target S:\projects\git\windotfiles\.config\ -Name .config\"
cd AppData\Local
sudo run pwsh --Command "new-Item -type SymbolicLink -Target S:\projects\git\nvim\ -Name nvim\"
```1. Terminal Configuration
Download and install the
[SeriousShanns Nerd Font](https://github.com/kaBeech/serious-shanns).```console
winget install --id Microsoft.PowerShell
winget install --id Starship.Starship
winget install --id sharkdp.bat
winget install --id lsd-rs.lsd
winget install --id ajeetdsouza.zoxide
winget install --id junegunn.fzf
winget install --id BurntSushi.ripgrep.MSVC
winget install --id wez.wezterm
```1. Neovim Configuration
```console
winget install --id Microsoft.VisualStudio.2022.BuildTools
winget install --id Neovim.Neovim
winget install --id Rustlang.Rustup
winget install --id OpenJS.NodeJS.LTS
winget install --id Python.Python.3.12
winget install --id GoLang.Go
```After installing the BuildTools, open Visual Studio Installer, click Modify
next to the Visual Stuiod Build Tools package, select Desktop development
with C++.Configure Rust
```console
rustup default stable
rustup component add rust-analyzer
```1. Install `mdformat` and plugins:
```console
pip install --user pipx
pipx install mdformat
pipx inject mdformat mdformat-gfm mdformat-frontmatter mdformat-footnote mdformat-gfm-alerts
```See the
[documention](https://rust-lang.github.io/rustup/installation/windows.html)
for rustup on configuring the default host for CodeLLDB debugger support.1. Additional Packages
```console
winget install openrgb
winget inatall --id Nvidia.GeForceExperience
winget install --id Logitech.GHUB
winget install --id Microsoft.PowerToys
```1. GlazeWM
Disable Windows keybindings via registry editor:
Navigate to:
```console
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies
```If the `Explorer` key does not exist, create it and then create a
`DWORD (32-bit) Value` named `NoWinKeys` and set it to `1`.Unassign keyboard shortcuts that activate the language switcher when it pops
up (this will happen eventually).```console
winget install --id glazr-io.glazewm
```Open File Explorer and navigate to `C:\Program Files\glzr.io\GlazeWM`. Right
click on `glazewm.exe` and select `Create shortcut` (the shortcut will get
created on the desktop). Edit the shortcut and append the following after
`C:\Program Files\glzr.io\GlazeWM\glazewm.exe"` in the `Target:` field:```console
start --config "%USERPROFILE%\.config\glazewm\glazewm.yaml"
```In the File Explorer window address bar, type `shell:startup` and paste the
shortcut to that location.1. Windows Defender
To help speed up slow terminal and application loading from the command line,
disable add the following Virus & threat protection exclusions (you can use
`Add-MpPreference` cmdlet from powershell as well).```text
ExclusionPath : {C:\, S:\, T:\}
ExclusionProcess: {git.exe, nvim.exe, pwsh.exe, starship.exe}
```