Skip to content
justone edited this page Oct 16, 2010 · 14 revisions

Full Documentation

Tour of files

Besides the README.md and .gitignore, there are four files/directories in the base branch.

  • bin/dfm - The main utility for managing (installing/updating/uploading) dotfiles.
  • .dfminstall - This is a config file for when dfm install is run.
  • .bashrc.load - This file is the bootstrap file for loading any shell customizations. The default only makes sure $HOME/bin is in the path so that dfm can be run easily. This file is loaded because dfm puts the following line at the end of .bashrc on install: . $HOME/.bashrc.load
  • t - Tests for the dfm utility.
# The 'dfm' utility

dfm stands for Dot File Manager. The name was chosen because the best commands (like svn or git) are only three characters.

Running dfm is like running git. There are subcommands, like install and updates that perform different functions. Each subcommand has it's own set of options and there are also options that apply to all subcommands.

The main reason for dfm to exist is to install dotfiles. This is done with the install subcommand. Running dfm install will go through all the files and directories in the repository and install them in $HOME using symlinks.

You can control what files are skipped and installed by adding .dfminstall files in your repository. For instance, the default .dfminstall file has the following contents:

README.md skip
t skip

Meaning that both README.md and t will be skipped when running dfm install.

All subcommands

Here are the subcommands that are currently defined:

  • install - this installs everything in the repo into $HOME using symlinks
  • updates - this fetches any new changes from the origin remote
  • mergeandinstall or mi - this merges any new changes and re-runs dfm install
  • anything else is interpreted as a git subcommand and in run in the dotfiles repository. For instance, running dfm status is the same as running cd ~/.dotfiles; git status; cd -, but easier.

For more information, run dfm --help or perldoc ~bin/dfm.

Clone this wiki locally