Skip to content

blackwinter/dotme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

= dotme - The dotfile manager

== DESCRIPTION

DotMe keeps configuration files (a.k.a. dotfiles) under version control (git)
and installs symbolic links under your home directory. It's controlled via rake
commands (see USAGE for more information).

Where possible, custom configuration files (<tt><some-name>.mine</tt>) are
supported and included by whatever mechanism is provided by the respective
configuration system.


== USAGE

Change to the directory you installed dotme in (see INSTALL below), e.g.:

  cd ~/dotme

Install symlinks to dotfiles:

  rake install

Update codebase and symlinks (default task):

  rake [update]

Remove symlinks to dotfiles:

  rake uninstall

See a list of all available tasks:

  rake -T


== INSTALL

First, you need git[http://git.or.cz/] for dotme to function. Install it,
if you haven't already, and come back here.

Change to the directory you want to install dotme in, e.g.:

  cd ~

Clone branch master of dotme:

  git clone git://github.com/blackwinter/dotme.git

Change to the new directory and create an include/exclude file (optional,
but recommended):

  cd dotme
  vi inclexcl

    # i want vim and irb
    +vim
    +irb

    # and bash_aliases
    +bash/bash_aliases

    # but git only without gitignore
    +git
    -git/gitignore

Finally, install the symlinks:

  rake install


== ISSUES

* <tt>git-config</tt> replaces <tt>~/.gitconfig</tt> symlink with real file
  (thread[http://kerneltrap.org/mailarchive/git/2007/7/15/251676]). So, if you
  update your git configuration through <tt>git-config --global</tt>, the
  config file will no longer be tracked by dotme. Instead, edit it directly.

  UPDATE: Seems to no longer be valid. Not sure since which Git version, though
  (at least v1.7.4).

* <tt>git-config</tt> doesn't expand variables in <tt>~/.gitconfig</tt> file.
  See e.g. {this thread}[http://kerneltrap.org/mailarchive/git/2008/8/22/3047784].
  This means you have to update the <tt>name</tt>, <tt>email</tt>, and
  <tt>excludesfile</tt> settings in the configuration file. In particular,
  without the latter being adjusted you won't benefit from the shipped
  <tt>~/.gitignore</tt> file.

  UPDATE: Since Git v1.6.5.5[http://www.kernel.org/pub/software/scm/git/docs/RelNotes/1.6.5.5.txt],
  it expands a few variables that name paths in configuration files when they
  start with <tt>~/</tt> or <tt>~username/</tt>.


== CALL TO ACTION

If you want to contribute modifications to existing dotfiles or add some of
your own, just send me a patch or a pull request. The same goes for any bugs
or issues you find.


== LINKS

Documentation:: https://blackwinter.github.io/dotme
Source code::   https://github.com/blackwinter/dotme


== AUTHORS

* Jens Wille <mailto:jens.wille@gmail.com>


== LICENSE AND COPYRIGHT

Copyright (C) 2008-2016 Jens Wille

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

dotme 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 Affero General Public License for
more details.

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