diff options
Diffstat (limited to 'metadot')
-rwxr-xr-x | metadot | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/metadot b/metadot deleted file mode 100755 index 47af6ac..0000000 --- a/metadot +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/bash -# -# metadot: a dotfile management system -# - -# Parameters -OPT="$1" -DATE="`date +%Y%m%d%I%M%S`" -BASENAME="`basename $0`" -DOT="$HOME/.dotfiles" -MODULES="$DOT/modules" -BACKUPS="$HOME/.backups/$DATE" - -# Backup a file -function metadot_backup { - local file="$HOME/$1" - - if [ -e "$file" ] || [ -h "$file" ]; then - local folder="$BACKUPS/`dirname $1`" - - #echo "Backing up `basename $1`..." - mkdir -p $folder - mv $file $folder - fi -} - -# Find contents of a module -function metadot_find { - local module="$1" - ( cd $MODULES/$module && find -name '*.link' -or -name '*.dot.link' ) | sed -e 's|./||' -} - -# Load a module -function metadot_load { - local module="$1" - local destname - local dirname - - if [ -d "$MODULES/$module" ]; then - - echo "Loading module $module..." - - for file in `metadot_find $module`; do - echo "Processing $file..." - - # Get the dirname, replacing string.dot with .string - dirname="`echo $file | sed -e 's|\([^/]*\).dot/|.\1/|g'`" - dirname="`dirname $dirname`" - - if echo $file | grep -q '.dot.link'; then - destname=".`basename $file .dot.link`" - else - destname="`basename $file .link`" - fi - - if [ "$dirname" != "." ]; then - #echo "Creating $HOME/$dirname..." - mkdir -p $HOME/$dirname - else - dirname="" - fi - - metadot_backup "$dirname/$destname" - - #echo "Installing symlink $dirname/$destname..." - ln -s $MODULES/$module/$file $HOME/$dirname/$destname - - done - else - echo "No such module $module" - fi -} - -# Parsing. -if [ -z "$OPT" ]; then - echo "usage: $BASENAME <option> [arguments]" - exit 1 -elif [ "$OPT" == "ls" ]; then - ls -1 $MODULES -elif [ "$OPT" == "version" ]; then - ( cd $DOT && git log -n 1 ) -elif [ "$OPT" == "update" ]; then - if [ -d "$DOT/.git" ]; then - ( cd $DOT && git pull origin master && git submodule update --init ) - fi -elif [ "$OPT" == "backup" ]; then - shift - metadot_backup $1 -elif [ "$OPT" == "load" ]; then - shift - - if [ -z "$1" ]; then - echo "usage: $BASENAME load [module(s)|--all]" - fi - - if [ "$1" == "--all" ]; then - modules="`ls $MODULES`" - else - modules="$*" - fi - - for module in $modules; do - metadot_load $module - done - echo "Backups saved at $BACKUPS." -fi |