aboutsummaryrefslogblamecommitdiffstatshomepage
path: root/.README.md
blob: 58915f0a932e8e82fba2b8cf35d2f1e4c79111c4 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                      
 





                                                                             

            


                                                                                                                       
                                                                    

                                                     

                                                                           










                                                                             


                                                                          
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.