| 
				
			 | 
			
			
				@@ -0,0 +1,103 @@ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1
			 | 
			
			
				+INSTALLATION 
			 | 
		
	
		
			
			| 
				
			 | 
			
				2
			 | 
			
			
				+============ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				4
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				5
			 | 
			
			
				+Note that this will only work for dotfiles stored right in your `$HOME`.  Support 
			 | 
		
	
		
			
			| 
				
			 | 
			
				6
			 | 
			
			
				+for configuration stored in folders like ~/.config/application or 
			 | 
		
	
		
			
			| 
				
			 | 
			
				7
			 | 
			
			
				+~/.local/application is planned. 
			 | 
		
	
		
			
			| 
				
			 | 
			
				8
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				9
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				10
			 | 
			
			
				+To install, you need to perform following steps: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				11
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				12
			 | 
			
			
				+1.  Clone repository to a stable place on your box 
			 | 
		
	
		
			
			| 
				
			 | 
			
				13
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				14
			 | 
			
			
				+    For now, I'm going to assume it's local/mydots 
			 | 
		
	
		
			
			| 
				
			 | 
			
				15
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				16
			 | 
			
			
				+2.  Move (and merge if needed) your existing configs to dotfiles folder.  Remove 
			 | 
		
	
		
			
			| 
				
			 | 
			
				17
			 | 
			
			
				+    the dot from name, e.g.: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				18
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				19
			 | 
			
			
				+        $ mv ~/.gnucash ~/local/mydots/dotfiles/gnucash 
			 | 
		
	
		
			
			| 
				
			 | 
			
				20
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				21
			 | 
			
			
				+    This works for directories as well as files, although e.g. for bash, vim or 
			 | 
		
	
		
			
			| 
				
			 | 
			
				22
			 | 
			
			
				+    git, I recommend different solutions--see below. 
			 | 
		
	
		
			
			| 
				
			 | 
			
				23
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				24
			 | 
			
			
				+    Also note that you can name the dotfiles folder whatever you want; there's 
			 | 
		
	
		
			
			| 
				
			 | 
			
				25
			 | 
			
			
				+    no real connection with the repository. 
			 | 
		
	
		
			
			| 
				
			 | 
			
				26
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				27
			 | 
			
			
				+3.  Run mklinks script with single argument: path to dotfiles folder (or how 
			 | 
		
	
		
			
			| 
				
			 | 
			
				28
			 | 
			
			
				+    you namewd it), e.g.: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				29
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				30
			 | 
			
			
				+        $ ~/local/mydots/mklinks ~/local/mydots/dotfiles 
			 | 
		
	
		
			
			| 
				
			 | 
			
				31
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				32
			 | 
			
			
				+    The script will create links back in your `$HOME`, uless they (or real files) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				33
			 | 
			
			
				+    did already exist, in which case it will only warn you.  This makes it easy 
			 | 
		
	
		
			
			| 
				
			 | 
			
				34
			 | 
			
			
				+    to exclude some of your applications from some of your machines: just skip 
			 | 
		
	
		
			
			| 
				
			 | 
			
				35
			 | 
			
			
				+    step 2 for them. 
			 | 
		
	
		
			
			| 
				
			 | 
			
				36
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				37
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				38
			 | 
			
			
				+Instructions for bash 
			 | 
		
	
		
			
			| 
				
			 | 
			
				39
			 | 
			
			
				+--------------------- 
			 | 
		
	
		
			
			| 
				
			 | 
			
				40
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				41
			 | 
			
			
				+Although similar technique could be used for bash, I prefer toi have defaults 
			 | 
		
	
		
			
			| 
				
			 | 
			
				42
			 | 
			
			
				+specified by distro.  Therefore I use other technique: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				43
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				44
			 | 
			
			
				+Instead of step 2 above, move/merge your specific ~/.bashrc changes to either 
			 | 
		
	
		
			
			| 
				
			 | 
			
				45
			 | 
			
			
				+one of these, or preferably, split them as needed: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				46
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				47
			 | 
			
			
				+    dotfiles/bash/global-before.bashrc 
			 | 
		
	
		
			
			| 
				
			 | 
			
				48
			 | 
			
			
				+    dotfiles/bash/user/<your-username>.bashrc 
			 | 
		
	
		
			
			| 
				
			 | 
			
				49
			 | 
			
			
				+    dotfiles/bash/host/<your-hostname>.bashrc 
			 | 
		
	
		
			
			| 
				
			 | 
			
				50
			 | 
			
			
				+    dotfiles/bash/global-after.bashrc 
			 | 
		
	
		
			
			| 
				
			 | 
			
				51
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				52
			 | 
			
			
				+Then, replace your ~/.bashrc with your default distro's one, commonly found 
			 | 
		
	
		
			
			| 
				
			 | 
			
				53
			 | 
			
			
				+in /etc/skel/.bashrc, and patch it with dotfiles/bash/setup/bashrc.diff: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				54
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				55
			 | 
			
			
				+    $ cp /etc/skel/.bashrc ~/ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				56
			 | 
			
			
				+    $ patch -u ~/.bashrc local/mydots/dotfiles/bash/setup/bashrc.diff 
			 | 
		
	
		
			
			| 
				
			 | 
			
				57
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				58
			 | 
			
			
				+From that point on, .bashrc will source appropriate fies for you, so do not make 
			 | 
		
	
		
			
			| 
				
			 | 
			
				59
			 | 
			
			
				+any changes to your local .bashrc, unless you really want them to be local, i.e. 
			 | 
		
	
		
			
			| 
				
			 | 
			
				60
			 | 
			
			
				+private only. 
			 | 
		
	
		
			
			| 
				
			 | 
			
				61
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				62
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				63
			 | 
			
			
				+Instructions for Vim 
			 | 
		
	
		
			
			| 
				
			 | 
			
				64
			 | 
			
			
				+-------------------- 
			 | 
		
	
		
			
			| 
				
			 | 
			
				65
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				66
			 | 
			
			
				+If you want to keep default vim-ish behavior and have all local config in ~/.vimrc, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				67
			 | 
			
			
				+you can use above generic steps.  However, if you want to have rtather more 
			 | 
		
	
		
			
			| 
				
			 | 
			
				68
			 | 
			
			
				+sophisticated model, and for example use my vim configuration as a starting point, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				69
			 | 
			
			
				+do this instead of step 2: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				70
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				71
			 | 
			
			
				+1.  Merge your local ~/.vimrc into dotfiles/vim/vimrc 
			 | 
		
	
		
			
			| 
				
			 | 
			
				72
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				73
			 | 
			
			
				+2.  Create a symlink to ~/.vim/vimrc: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				74
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				75
			 | 
			
			
				+        $ cd 
			 | 
		
	
		
			
			| 
				
			 | 
			
				76
			 | 
			
			
				+        $ ln -s local/mydots/dotfiles/vim/vimrc .vimrc 
			 | 
		
	
		
			
			| 
				
			 | 
			
				77
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				78
			 | 
			
			
				+You could actually have your .vimrc tymlink point right to local/mydots/... 
			 | 
		
	
		
			
			| 
				
			 | 
			
				79
			 | 
			
			
				+I find this more flexible, though. 
			 | 
		
	
		
			
			| 
				
			 | 
			
				80
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				81
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				82
			 | 
			
			
				+Instructions for git 
			 | 
		
	
		
			
			| 
				
			 | 
			
				83
			 | 
			
			
				+-------------------- 
			 | 
		
	
		
			
			| 
				
			 | 
			
				84
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				85
			 | 
			
			
				+**Note**: For most of config I have shared, you will need at least git 1.8. 
			 | 
		
	
		
			
			| 
				
			 | 
			
				86
			 | 
			
			
				+Without it, things will not work, and you might even end up with broken git! 
			 | 
		
	
		
			
			| 
				
			 | 
			
				87
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				88
			 | 
			
			
				+However, if you only want to use the sharing/splitting mechanism, 1.7 *should* 
			 | 
		
	
		
			
			| 
				
			 | 
			
				89
			 | 
			
			
				+be OK.  **No warranties**, though. 
			 | 
		
	
		
			
			| 
				
			 | 
			
				90
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				91
			 | 
			
			
				+The pricnicple is the same as in bash section above: a new folder is created, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				92
			 | 
			
			
				+local config is split into parts per user/host or global one, and original file 
			 | 
		
	
		
			
			| 
				
			 | 
			
				93
			 | 
			
			
				+becomes just a crossroads into these. 
			 | 
		
	
		
			
			| 
				
			 | 
			
				94
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				95
			 | 
			
			
				+Except that since git does not support expansion in config paths, the file must 
			 | 
		
	
		
			
			| 
				
			 | 
			
				96
			 | 
			
			
				+be created by a script.  So what you want to do is the same as for bash above, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				97
			 | 
			
			
				+except that instead of applying patch to your .gitconfig, you simply delete it 
			 | 
		
	
		
			
			| 
				
			 | 
			
				98
			 | 
			
			
				+and run dotfiles/git/setup. 
			 | 
		
	
		
			
			| 
				
			 | 
			
				99
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				100
			 | 
			
			
				+If you have a local changes that you don't want to share, you can either put them 
			 | 
		
	
		
			
			| 
				
			 | 
			
				101
			 | 
			
			
				+into the re-created ~.gitconfig, or (as I prefer) in dotfiles/git/privete/gitconfig 
			 | 
		
	
		
			
			| 
				
			 | 
			
				102
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				103
			 | 
			
			
				+ 
			 |