summary refs log tree commit diff stats
path: root/README.org
blob: 3acd8b228abd5750a147f1df7f69489be17e0ca0 (plain)
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
* Dotfiles

I've organised this repository with [[https://www.gnu.org/software/stow/][GNU Stow]].  It focuses on [[http://zsh.sourceforge.net][Z Shell]] and
[[http://emacs.sexy][Emacs]].

It doesn't use any configuration frameworks, just packages installed
via package managers.  For Z shell I use [[https://github.com/zdharma/zplugin][zplugin]] and for Emacs I use the
built-in package.el via [[https://github.com/jwiegley/use-package][use-package]].

I've included a wrapper script for =stow= which sets the target
directory to =$HOME=, instead of =../=.  This allows the repository to
be cloned anywhere, instead of following the =stow= convention of
being one level below the target directory.

It should work on:
- Linux
- OSX
- FreeBSD
- Windows/Ubuntu

** Installation

Clone the project anywhere, e.g. with =[[https://github.com/motemen/ghq][ghq]]=

#+BEGIN_SRC sh :exports code
ghq get git://git.alanpearce.eu/dotfiles
ghq look git.alanpearce.eu/dotfiles
#+END_SRC

Or just with normal git

#+BEGIN_SRC sh :exports code
git clone git://git.alanpearce.eu/dotfiles ~/projects/alanpearce-dotfiles
#+END_SRC

Installing a set of dotfiles with =stow= is simple.  For example, with
Emacs:

#+BEGIN_SRC sh :exports code
./stow -S emacs
#+END_SRC

And then to uninstall

#+BEGIN_SRC sh :exports code
./stow -D emacs
#+END_SRC

*** Z Shell

My zsh configuration uses [[https://github.com/zdharma/zplugin][zplugin]]. I've included a setup script:

#+BEGIN_SRC sh :exports code
./zsh/config/zsh/setup.sh
#+END_SRC

*** Emacs

I use org-mode for my Emacs init file.  To simplify setup, I created a
[[file:emacs/.emacs.d/Makefile][Makefile]].

#+BEGIN_SRC sh :exports code
cd ~/.emacs.d/
make
#+END_SRC