Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/erelado/dotfiles-windows
dotfiles for Windows, including developer-friendly system defaults. Built in PowerShell
https://github.com/erelado/dotfiles-windows
cli config-files console-application customization developer-tools dotfiles os personal powershell powershell-script tools tweaks windows windows-dotfiles winget-cli
Last synced: 25 days ago
JSON representation
dotfiles for Windows, including developer-friendly system defaults. Built in PowerShell
- Host: GitHub
- URL: https://github.com/erelado/dotfiles-windows
- Owner: erelado
- Created: 2024-02-10T13:59:56.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-08-17T03:50:38.000Z (3 months ago)
- Last Synced: 2024-08-17T04:43:11.502Z (3 months ago)
- Topics: cli, config-files, console-application, customization, developer-tools, dotfiles, os, personal, powershell, powershell-script, tools, tweaks, windows, windows-dotfiles, winget-cli
- Language: PowerShell
- Homepage:
- Size: 58.6 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# .dotfiles for Windows
PowerShell 'dotfiles' for Windows, including common application installations through `winget`, as well as developer-friendly Windows configuration defaults.
> **Note**
> Windows Package Manager `winget` command-line tool is bundled with Windows 11 and modern versions of Windows 10 by default as the App Installer. [Read more](https://docs.microsoft.com/en-us/windows/package-manager/winget/)## Initialization (Installation)
Open any Windows PowerShell 5.1 _(or later)_ host console with administrator rights, and run:
```posh
$GitHubRepositoryAuthor = "erelado"; `
$GitHubRepositoryName = "dotfiles-windows"; `
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass; `
Invoke-Expression (Invoke-RestMethod -Uri "https://raw.githubusercontent.com/$($GitHubRepositoryAuthor)/$($GitHubRepositoryName)/main/Download.ps1");
```The `Download.ps1` script will download and copy the files to your `${HOME}\.dotfiles` directory. Then, the `Setup.ps1` script will be launched automatically, which is responsible for configuring the machine.
> **Note**
> You must have your execution policy set to Unrestricted (or at least in Bypass) for this to work _(As a developer, you will need it anyway)_.## Configuration
First, the user will be asked if they want to execute each option separately. Then, a `config.json` is created containing the selected settings[^1]. Finally, by giving permission to run, the script will execute according to them, giving you time to do anything else.
[^1]: The option of loading or creating a new configuration file will be given if there is already one in the directory.
### Options
You will be given the option to select which source to use if there are multiple sources.
#### Applications
- Basic tools installation
- [7-Zip](https://www.7-zip.org)
- [Fluent Search](https://fluentsearch.net) _(winget, msstore)_
- [PowerToys](https://docs.microsoft.com/en-us/windows/powertoys) _(winget, msstore)_
- [ShareX](https://getsharex.com) _(winget, msstore)_
- [SnipDo](https://snipdo-app.com) _(msstore)_
- [SumatraPDF](https://www.sumatrapdfreader.org)
- [Sysinternals](https://docs.microsoft.com/en-us/sysinternals) _(msstore)_
- [VLC](https://www.7-zip.org)
- [WinSCP](https://winscp.net)
- DevOps tools installation
- [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
- [AWS CLI](https://aws.amazon.com/cli)
- [Docker Desktop](https://www.docker.com/products/docker-desktop)
- [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl)
- [MobaXterm](https://mobaxterm.mobatek.net)
- [Espanso](https://espanso.org)
- Custom matches
- [Git](https://git-scm.com)
- Globals configuration _(`user.email`, `user.name`, and more)_
- [Visual Studio Code](https://code.visualstudio.com) _(winget, msstore)_
- Extensions installation
- Settings configuration
- [Windows Terminal](https://docs.microsoft.com/en-us/windows/terminal) _(winget, msstore)_
- Settings configuration
- Custom actions
- Profile defaults#### OS
- [Windows](https://www.microsoft.com/en-us/windows)
- Configurations
- Dark mode
- Cursor
- Theme
- Explorer settings
- Show file extensions
- Show hidden files
- Turn off Windows Narrator hotkey
- Power plan settings
- AC timeout
- Privacy settings
- Deny Microsoft Store applications access
- Deny personalized advertisements
- Regional formats
- Date
- FirstDayOfWeek
- Time
- Rename computer
- Directories
- 'Workspace' directory configuration
- Fonts
- [Nerd Font](https://www.nerdfonts.com)
- Default font for Windows Terminal#### Shell
- [PowerShell Core](https://docs.microsoft.com/en-us/powershell/scripting) _(winget, msstore - currently broken; issue: [#9278](https://github.com/PowerShell/PowerShell/issues/9278))_
- `$PROFILE` configuration
- _Optional: Removing selected sections not to be installed_
- Modules installation
- [posh-git](https://github.com/dahlbyk/posh-git)
- [PSWebSearch](https://github.com/JMOrbegoso/PSWebSearch)
- [PSReadLine](https://github.com/PowerShell/PSReadLine)
- [Terminal-Icons](https://github.com/devblackops/Terminal-Icons)
- [z](https://www.powershellgallery.com/packages/z)
- [Oh My Posh](https://ohmyposh.dev/docs)
- Using [`powerlevel10k_classic`](https://ohmyposh.dev/docs/themes#powerlevel10k_classic) theme## Feedback
Suggestions/improvements are
[welcome and encouraged](https://github.com/E-RELevant/dotfiles-windows/issues).