I've written a little tool to manage my dotfiles, in a way that it symlinks
everything to where it should be. As I use patched versions of
some parts of my dotfiles doesn't make sense if you don't use my versions of
dwm, but they are not prerequisites.
I store my dotfiles in containers for each category of dotfiles, and each
container can be seen as their own representation of
$HOME. There is for
example one container called vim containing everything that has to do with
vim and so on.
- link: installer and uninstaller for the dotfiles.
- bin: scripts and programs that will be included in
- bin/.bin/alias: scripts that will be sourced as functions instead of using aliases, as I find it simpler to maintain each 'alias' as it's own file.
- .exclude: dotfiles that are global to the root and that won't get
- ksh: KornShell is quite central to my dotfiles and contains functions that require bin and bin/.bin/alias to be installed. .kshrc is called when KornShell starts and then sources every .sh in .kshrc.d.
I haven't actively integrated any dependency checks in any dotfile so if you use my dotfiles keep in mind that it might break stuff, and you might need to install extra software to make it work. If you find any such issues feel free to report them to me, and I might fix them.
Oh, and I use ksh (loksh). That is kind of a prerequisite...
Installation is pretty simple. Just clone and install:
git clone git://git.noxz.tech/dotfiles cd dotfiles # optionally: mv dotfiles .dotfiles && cd .dotfiles ./link install all
Except for installing all you can tell
link to install just the container
./link install vim and so on. To remove a container simply
remove vim, or show status using
./link status vim
get source here.