aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.README.md
blob: 58915f0a932e8e82fba2b8cf35d2f1e4c79111c4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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.