diff --git a/configs/todo-txt.nix b/configs/todo-txt.nix index ca4ef47..b98adde 100644 --- a/configs/todo-txt.nix +++ b/configs/todo-txt.nix @@ -1,11 +1,19 @@ { pkgs, ... }: -let todo-txt-config = pkgs.writeText "todo.cfg" '' - export TODO_DIR="$(echo "$(${pkgs.git}/bin/git rev-parse --show-toplevel 2>/dev/null)/.todo" || echo "$HOME/cloud/Dropbox/todo")" +let + get-todo-dir = pkgs.writers.writeDash "git-toplevel-todo" '' + if GIT_TOPLEVEL=$(${pkgs.git}/bin/git rev-parse --show-toplevel); then + echo "$GIT_TOPLEVEL/.todo" + else + echo "$HOME/cloud/Dropbox/todo" + fi + ''; + todo-txt-config = pkgs.writeText "todo.cfg" '' + export TODO_DIR="$(${get-todo-dir})" - export TODO_FILE="$TODO_DIR/todo.txt" - export DONE_FILE="$TODO_DIR/done.txt" - export REPORT_FILE="$TODO_DIR/report.txt" -''; + export TODO_FILE="$TODO_DIR/todo.txt" + export DONE_FILE="$TODO_DIR/done.txt" + export REPORT_FILE="$TODO_DIR/report.txt" + ''; in { environment = { systemPackages = [ pkgs.todo-txt-cli ];