My Cygwin home (~) configuration files To deploy on a fresh Cygwin installation, execute the lines below. **Be careful** though, some of your files might get **deleted**. Namely, your `.gitignore` file (if present) will be overwritten and basically all of your files this repository isn't aware of will be deleted. Execute the lines below one-by-one and, **most importantly**, review the list of files `git clean` will delete by adding the `--dry-run` parameter. git init curl --silent --show-error --location https://github.com/egor-tensin/cygwin_home/raw/master/.gitignore > .gitignore git clean -d --force git remote add origin git@github.com:egor-tensin/cygwin_home.git git pull origin master git branch --set-upstream-to=origin/master master The deployment should preferably take place right after you install Cygwin. `git` doesn't preserve file permissions. After the deployment, anyone will be able to read any of the deployed "dotfiles". To adjust the permissions so that only you can read the files, `source` `.bashrc` (`bash` does this automatically) and execute adjust_dotfiles_permissions This also makes sure the directories in the repository are accessible only by yourself (including the `.git` directory). Additionally, file permissions are reset each time `git` writes to a file. It is thus necessary to execute the line above after each invokation of `git pull`, `git checkout`, etc.