0.1.1 • Published 8 years ago

dotfiles-pm v0.1.1

Weekly downloads
1
License
ISC
Repository
github
Last release
8 years ago

Manage your dotfiles as (un)installable, (un)linkable packages.

Installation

Simply run:

$ npm install -g dotfiles-pm

install

 ```
 Install a package. Looks for a dotfile.json in PWD
 ```

uninstall <name>

 ```
 Uninstall a package. If it is linked, it will be unlinked.
 ```

link <name>

 ```
 Link one of your installed packages.
 ```

unlink <name>

 ```
 Unlink one of your linked packages.
 ```

Installing a package

A package is a directory containing some of your files and a dotfile.json which holds your package info. It will look something like this:

{
    "name": "nvim",
    "linkto": "/home/ben/.config",
    "withdir": "nvim",
    "ignore": [ ".git/" ]
}
optiondescription
nameour package name, for obvious reasons!
linktothe directory we want to link our files to. Defaults to $HOME if omitted
withdiran extra directory in which we want to place our actual links. So the link path becomes: linkto/withdir/somefile
ignorea list of files we don't want to copy when installing. You can use your usual glob patterns here, yippie!

Dotfiles copies all the files and dirs in the directory (minus the ignore list) to ~/.config/dotfiles/installed/<package name> and adds the package to its internal cache. Now we can (un)link the package, nice!

Linking a package

Simply run link to link a package.

$ dotfiles link <package name>

Uninstalling a package

Simply run uninstall to uninstall one of your packages.

$ dotfiles uninstall <package name>

Uninstalling will unlink and completely remove it from your packages directory $HOME/.config/dotfiles/installed

oh-my-zsh plugin

Place dotfiles.plugin.zsh in $HOME/.oh-my-zsh/custom/plugins/dotfiles and add it to the plugins list in your .zshrc

plugins = (dotfiles <any other stuff that was already here>)

regular zsh completion script

Place _dotfiles in a directory that is included in your zsh fpath.

e.g. $HOME/.zsh/completions would be configured like this in your .zshrc

fpath=($HOME/.zsh/completions $fpath)
0.1.1

8 years ago

0.1.0

8 years ago