From db211c7f310a5de18c7803a1ebfbb7ab2b1e3f0d Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Fri, 29 Jul 2016 20:06:28 +0200 Subject: make my dotfiles location independent This is achieved by storing the absolute path to the dotfile directory in the variable $DOTFILES_LOCATION. And change every hardcoded location into the dotfiles with this var. The Variable $DOTFILES_LOCATION populated with the output of get_dotfiles_location.sh at 3 places: 1) config.fish | zshrc 2) xinitrc (should be allready exported) get_dotfiles_location uses the assumption that it is symlinked into the dotfiles directory. offlineimap: * include patch for offlineimap * change config to the small one * include environment file in systemd unit setup.py: * handle offlineimap situation * print a warning and prompt for proceeding * write the environment file for the systemd unit * add pseudo dependency (get_dotfiles_location) to [fish-config, offlineimap, i3] * print errors on stderr * don't exit if a function fails config.fish: * export $DOTFILES_LOCATION * change hardcoded links * add perl tools to path * export some yaourt specific vars if yaourt is available zshrc: export $DOTFILES_LOCATION xinitrc: export $DOTFILES_LOCATION i3/*: change hardcoded links scripts/* change hardcoded links README.md: mention $DOTFILES_LOCATION --- README.md | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index ac5a6dd..2ff0c0b 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,26 @@ --- ## Installation -Some scripts use a hardcoded location so please locate the dotfile repo -at $HOME/.dotfiles. -To do this run -```git clone https://github.com/fischerling/dotfiles $HOME/.dotfiles```. + +For some scripts/snippets you don't know where they will be executed. +Whenever a absolute path into the dotfile directory is needed the environment +variable `DOTFILES_LOCATION` is used. + +The variable is exported in zshrc or config.fish or xinitrc. +If you don't set it that way, please remember to export `DOTFILES_LOCATION` +somewhere else. + +Good places are: + ++ shell configs ++ at session start + + +### Easy Installation + +If you just want to install all my dotfiles without customisation run: +```sh +git clone https://github.com/fischerling/dotfiles ~/.dotfiles +cd ~/.dotfiles +./setup.py +``` -- cgit v1.2.3