aboutsummaryrefslogtreecommitdiff
path: root/metadot
diff options
context:
space:
mode:
Diffstat (limited to 'metadot')
-rwxr-xr-xmetadot106
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