aboutsummaryrefslogtreecommitdiffstats
path: root/README.rst
blob: f8b9f9d435602379cde117ce6fc80deedb02d064 (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
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
Dotfile management made easy
============================

``dotfiles`` is a tool to make managing your dotfile symlinks in ``$HOME``
easy,  allowing you to keep all your dotfiles in a single directory.

Hosting is left to you. Yes, I've seen `<http://dotfiles.org>`_ but I don't
like that model. If you're advanced enough to need dotfile management, then you
probably already know how you want to host them.  Using whatever VCS you
prefer, or even rsync, you can easily distribute your dotfiles repository
across multiple hosts.

Installation
------------

To install dotfiles, simply: ::

    $ pip install dotfiles

Or, if you absolutely must: ::

    $ easy_install dotfiles

But, you really shouldn't do that.

If you want to work with the latest version, you can install it from `the
repository`_::

    $ git clone https://github.com/jbernard/dotfiles
    $ cd dotfiles
    $ ./bin/dotfiles --help

Examples
--------

To install your dotfiles on a new machine, you might do this: ::

  $ git clone https://github.com/me/my-dotfiles Dotfiles
  $ dotfiles --sync

To add '~/.vimrc' to your repository: ::

  $ dotfiles --add ~/.vimrc     (relative paths work also)

To make it available to all your hosts: ::

  $ cd ~/Dotfiles
  $ git add vimrc
  $ git commit -m "Added vimrc, welcome aboard!"
  $ git push

You get the idea.

Configuration
-------------

You can choose to create a configuration file to store personal
customizations. By default, ``dotfiles`` will look in ``~/.dotfilesrc``. An
example configuration file might look like: ::

  [dotfiles]
  repository = ~/Dotfiles
  ignore = [
      '.git',
      '.gitignore']
  externals = {
      '.bzr.log':     '/dev/null',
      '.uml':         '/tmp'}

License
-------

GPL License. ::

    Copyright (C) 2011  Jon Bernard

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

Contribute
----------

If you'd like to contribute, simply fork `the repository`_, commit your changes
and send a pull request.

.. _`the repository`: https://github.com/jbernard/dotfiles