-
Notifications
You must be signed in to change notification settings - Fork 0
/
dotfiles.txt
161 lines (114 loc) · 3.91 KB
/
dotfiles.txt
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
1. .Xdefaults
2. .Xresources
3. .xinitrc
4. .xsession
5. .bash_logout
6. .bash_profile
7. .bashrc
8. .bash_aliases
9. .bash_prompt
10. .gitignore
11. .gitmodules
12. .gitignore_global
13. .inputrc
14. .tmux.conf
15. .emacs.d / init.el
16. .lein
17. .brew
18. bootstrap.sh / install.sh
19. .functions
20. .osx
21. .exports
22. .path
23. .dircolors
24. .curlrc
25. .hushlogin
* folders
*** shell
*** tmux
*** git
*** xenv
*** emacs
***
* Install Scripts
#+begin_src sh
#!/bin/bash
BASEDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# vim
ln -s ${BASEDIR}/vimrc ~/.vimrc
ln -s ${BASEDIR}/vim/ ~/.vim
# zsh
ln -s ${BASEDIR}/zshrc ~/.zshrc
# git
ln -s ${BASEDIR}/gitconfig ~/.gitconfig
#+end_src
[[https://github.com/mathiasbynens/dotfiles/blob/3b4eb3efb692aa4d19a1e2c30c2ed9a65e9c7d8c/bootstrap.sh][mathiasbynens dotfiles sync script called bootstrap.sh using rsync]]
[[http://www.anishathalye.com/2014/08/03/managing-your-dotfiles/][Dotbot blog to sync dotfiles by anish athalye]]
[[https://github.com/michaeljsmalley/dotfiles/blob/master/makesymlinks.sh][Make Sym Links Sh]]
[[http://blog.smalleycreative.com/tutorials/using-git-and-github-to-manage-your-dotfiles/][using git and github to manage dotfiles]]
[[https://github.com/cowboy/dotfiles][Cowboy dotfiles]]
[[https://lrvick.net/blog/syncing_dotfiles_with_git/][syncing dotfiles with git]]
[[https://github.com/gf3/dotfiles/tree/v1.0.0][gf3 dotfiles bootstrapper script]]
[[https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes][Git Basics working with remotes]]
[[http://code.tutsplus.com/tutorials/setting-up-a-mac-dev-machine-from-zero-to-hero-with-dotfiles--net-35449][setting-up-a-mac-dev-machine-from-zero-to-hero-with-dotfiles]]
[[https://github.com/paulirish/dotfiles][Paulirish dotfile - symlink-setup.sh]]
[[https://github.com/mathiasbynens/dotfiles/blob/3b4eb3efb692aa4d19a1e2c30c2ed9a65e9c7d8c/bootstrap.sh][mathiasbynens dotfiles for .file examples]]
[[https://jasahackintosh.wordpress.com/2014/09/04/tweak-os-x-from-command-terminal/][Tweak OS X from command terminal]]
[[https://wixelhq.com/blog/arthur-making-your-mac-more-awesome][Make your mac more awesome]]
* Notes
*** Setting up github
*** syncing dotfiles with git
Initial Repository Creation
Make the home folder on your primary system a Git repo
cd
git init
Ignore everything by default
echo "*" >> ~/.gitignore
git add .gitignore
Force add/commit specific files you want to track
git add -f .bashrc
git add -f .bash_profile
git add -f .tmux.conf
git add -f .Xresources
git add -f .config/locale.conf
git add -f .config/awesome
git add -f .weechat/{.,python,perl}/*.{conf,rc}
git add -f .ssh/{config,environment,id_rsa.pub}
git commit -m 'initial commit from desktop'
Add and push to an online Git repo
git remote add git@github.com:lrvick/dotfiles.git
git push origin master
New system setup
Initialize repo
cd
git init
git remote add git@github.com:lrvick/dotfiles.git
Sync/overwrite local dotfiles from repo
git fetch --all
git reset --hard origin/master
git submodule update --init --recursive
Send new changes to server
Force add/commit changes/new file.
git add -f .somefile
git commit -m 'updated somefile'
Push changes
git push
Automatically sync new dotfiles
Add command to attempt to sync dotfiles on login
echo "git pull && git submodule foreach --recursive git pull origin
master" >> ~/.bash_profile
*** .bash_profile/.bashrc
When you open a new Terminal session, this file is loaded by Bash.
It loads in the other dotfiles
path,bash_prompt,exports,aliases,functions,extra and configures some
useful settings
such as auto correcting typos when using cd completion.
In some instances .bashrc can be loaded, so this file makes sure that
.bash_profile is called.
*** # github.com/rupa/z
git clone https://github.com/rupa/z.git ~/code/z
chmod +x ~/code/z/z.sh
# consider reusing your current .z file if possible. it's painful to rebuild :)
# z is hooked up in .bash_profile
#update test git checkink
***