diff --git a/docs/usage.md b/docs/usage.md index 2cbf1ec..9d3e375 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -255,3 +255,7 @@ export DOTDROP_FORCE_NODEBUG= ```bash export DOTDROP_TMPDIR="/tmp/dotdrop-tmp" ``` +* `DOTDROP_WORKDIR`: overwrite the `workdir` defined in the config +```bash +export DOTDROP_WORKDIR="/tmp/dotdrop-workdir" +``` diff --git a/dotdrop/settings.py b/dotdrop/settings.py index c29e97d..f1062dc 100644 --- a/dotdrop/settings.py +++ b/dotdrop/settings.py @@ -5,11 +5,16 @@ Copyright (c) 2019, deadc0de6 settings block """ +import os + # local imports from dotdrop.linktypes import LinkTypes from dotdrop.dictparser import DictParser +ENV_WORKDIR = 'DOTDROP_WORKDIR' + + class Settings(DictParser): # key in yaml file key_yaml = 'config' @@ -68,6 +73,8 @@ class Settings(DictParser): self.cmpignore = cmpignore self.instignore = instignore self.workdir = workdir + if ENV_WORKDIR in os.environ: + self.workdir = os.environ[ENV_WORKDIR] self.link_dotfile_default = LinkTypes.get(link_dotfile_default) self.link_on_import = LinkTypes.get(link_on_import) self.minversion = minversion diff --git a/tests-ng/workdir.sh b/tests-ng/workdir.sh index dae5751..bdc2d31 100755 --- a/tests-ng/workdir.sh +++ b/tests-ng/workdir.sh @@ -45,6 +45,7 @@ echo -e "$(tput setaf 6)==> RUNNING $(basename $BASH_SOURCE) <==$(tput sgr0)" ################################################################ # this is the test ################################################################ +unset DOTDROP_WORKDIR string="blabla" # the dotfile source diff --git a/tests.sh b/tests.sh index 05a4509..741e93f 100755 --- a/tests.sh +++ b/tests.sh @@ -50,6 +50,7 @@ export DOTDROP_DEBUG=yes unset DOTDROP_FORCE_NODEBUG # do not print debugs when running tests (faster) #export DOTDROP_FORCE_NODEBUG=yes +export DOTDROP_WORKDIR=/tmp/dotdrop-tests-workdir ## execute bash script tests [ "$1" = '--python-only' ] || {