https://github.com/wheelerlaw/windows-dev
A collection of scripts to set up an optimal development environment on a sub-optimal development OS.
https://github.com/wheelerlaw/windows-dev
Last synced: 5 months ago
JSON representation
A collection of scripts to set up an optimal development environment on a sub-optimal development OS.
- Host: GitHub
- URL: https://github.com/wheelerlaw/windows-dev
- Owner: wheelerlaw
- Created: 2019-04-25T18:32:45.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-04-24T23:04:41.000Z (9 months ago)
- Last Synced: 2025-04-25T00:20:46.724Z (9 months ago)
- Language: Shell
- Size: 12 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# windows-dev
A simple utility that automates downloading Cygwin, exporting the system CA certificates, and formatting them as a PEM file.
This is done just to create a PEM-encoded certificate chain that UNIX-y programs like Git Bash can use when cloning from
Horizon over HTTPS. Without it, Git Bash would fail with SSL validation errors because it doesn't not know
how to interact with the Windows certificate API to read the CA certificates that way.
One _can_ disable SSL validation, but that defeats the whole purpose of SSL in the first place.
## Usage
Open up a PowerShell window and run the following commands:
```powershell
Unblock-File .\bootstrap.ps1
.\bootstrap.ps1
```
This will download Cygwin, export the certificates, and format them to the default CA certificate chain located at
`C:/root/cygwin64/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem`.
If you are using Cygwin alongside GitBash, the GitBash git can be configured to use this file by running the following command:
```bash
git config --global http.sslCAInfo
```
## Troubleshooting
If you get an error about execution policy despite having unblocked the file with the command
from above, make sure the execution policy is set to something more permissive.
```powershell
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
```