https://github.com/jamesukiyo/windows-setup
A comprehensive bash script to configure a development environment on Windows.
https://github.com/jamesukiyo/windows-setup
bash-script dev-environment windows-11 windows-development windows-setup
Last synced: 5 months ago
JSON representation
A comprehensive bash script to configure a development environment on Windows.
- Host: GitHub
- URL: https://github.com/jamesukiyo/windows-setup
- Owner: jamesukiyo
- License: mit
- Created: 2025-05-22T18:50:46.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2025-09-04T14:41:46.000Z (5 months ago)
- Last Synced: 2025-09-04T16:32:24.527Z (5 months ago)
- Topics: bash-script, dev-environment, windows-11, windows-development, windows-setup
- Language: Shell
- Homepage:
- Size: 8.79 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Windows 11 developer setup script
This is a script I created and use on Windows machines to quickly configure the
environment. It hasn't really been tested but it's worked 3 times for me so far.
## Notes
I mainly work with Go and Rust so it's tailored to that.
Dry run mode doesn't work well, I added it for testing but it's not very
consistent so I recommend not using it.
You will need to make quite a few changes to make it work for you (personal
packages, repos etc.) so feel free to fork this repo and use it as you wish or
open a PR if something can generally be improved. However, please do not change
the packages, buckets etc. if contributing - this is a personal script.
Uses scoop, winget, go, npm, chezmoi and git and relies on bash shell.
## Features:
- retries failed commands (see `RETRIES`)
- attempts to run installs in parallel although, I'm not sure it actually works
(see `JOBS`)
- add scoop buckets and install packages
- install winget packages
- chezmoi initialisation with gh cli auth
- clone github repos or pull if they already exist to `~/documents/projects`
- clone github plugin repos to `~/documents/projects/plugins`
- install go tools
- install npm tools
- install proto (toolchain management I use for projects)
- setup rustup + Visual Studio BuildTools which are needed for rust on Windows
- add shortcuts to start-up folder
- makes a few useful registry edits (old context menu, )
- verbose, coloured logging
- many checks to avoid running commands unnecessarily
- script timing
- and more...
## Usage
I recommend adjusting/removing/adding what you need. Most of the functions will
be useful to anyone but a lot of it is specific to my needs so I won't provide a
comprehensive guide.
The headings in the script are a useful way to get started and understand what
each section of the script does.
You'll mostly be making use of the functions like: `run_command`,
`install_package`, `parallel_install`, `log`, `safe_cd`, `check_command` etc. to
perform most tasks.
Make sure the paths are updated to match your system/account.
Run in a user bash shell:
```
./setup.sh
```
## License MIT