This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description
dotfilemanager.py - a dotfiles manager script.

This is similar to [Steve Kemp's dotfile manager][] but I rewrote it in
Python and tweaked the behaviour a bit.

[Steve Kemp's dotfile manager]: http://blog.steve.org.uk/i_ve_got_a_sick_friend__i_need_her_help_.html

`dotfilemanager link` Make a symlink in your homedir to each top-level
file and directory in `~/.dotfiles`.

`dotfilemanager tidy` Delete any broken symlinks in your homedir.

`dotfilemanager report` Report on what link or tidy would do, but don't
actually create or delete any symlinks.

Optionally you can specify the directories to link from and to as
arguments, usage:

dotfilemanager link|tidy|report [FROM_DIR [TO_DIR]]

* * *

The idea is that you have some folder called the `TO_DIR` (defaults to
`~/.dotfiles`), where you move all the dotfiles that you want to manage,
e.g.

~/.dotfiles/
~/.dotfiles/_muttrc
~/.dotfiles/_nanorc
...

You can backup and synchronise this directory between multiple hosts
using rsync, unison, a version-control system, Dropbox, or whatever you
want. When you run `dotfilemanager link` it will create symlinks in a
folder called the `FROM_DIR` (defaults to `~`), e.g.

~/.muttrc -> ~/.dotfiles/_muttrc
~/.nanorc -> ~/.dotfiles/_nanorc
...

Leading underscores in the filenames in `TO_DIR` will be converted to
leading dots for the symlinks. You can also link files without leading
underscores, and you can link directories too, just place them in
`TO_DIR` and run `dotfilemanager link`.

Per-host configuration is supported by putting `__hostname` at the end
of file and directory names in `TO_DIR`. For example if `TO_DIR`
contains files named:

_muttrc
_muttrc__kisimul
_muttrc__dulip

Then on the host dulip a symlink `FROM_DIR/.muttrc` will be created to
`TO_DIR/_muttrc__dulip`. On a host named kisimul `_muttrc__kisimul` will be
linked to. On other hosts `_muttrc` will be linked to.

(To discover the hostname of your machine run `uname -n`.)

Tip: handle directories like `~/.config` separately
-------------------------------------------------

On my system a lot of config files are stored in `~/.config`. I want to
manage some of the files in `~/.config` but not all of them. I have
host-specific versions of some files in `~/.config` but not others. I
wouldn't want to move `~/.config` to `~/.dotfiles/_config` and have
dotfilemanager make a symlink `~/.config -> ~/.dotfiles/_config` because
that would be putting _all_ the files in `~/.config` into `~/.dotfiles`,
and dotfilemanager would make the same symlink for every host, if I
wanted a host-specific version of a file in `~/.config` I'd have to put
_another_ complete copy of the directory into `~/.dotfiles` with a
`__hostname` at the end.

What you can do instead is have a `~/config` directory separate from
`~/.dotfiles`, move the files from `~/.config` that you want to manage
into `~/config`, make host-specific versions if you want, then run both
commands:

dotfilemanager.py link ~ ~/.dotfiles
dotfilemanager.py link ~/.config ~/config

Tip: override hostname with `DOTFILEMANAGER_HOSTNAME` environment variable
------------------------------------------------------------------------

If the `DOTFILEMANAGER_HOSTNAME` environment variable is set then it is
used instead of your real hostname to resolve hostname-specific files in
`TO_DIR`. This is useful for accounts on networked systems where you
login to the same user account from different computers, the system
hostname will be different each time you switch computers but you want
to use the same config files whenever you login to this account. So just
make up a name for the account and set it as the value of
`DOTFILEMANAGER_HOSTNAME`.
Release History

Release History

1.0.0

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
dotfilemanager-1.0.0.tar.gz (5.9 kB) Copy SHA256 Checksum SHA256 Source Feb 23, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting