todotxt / todo.txt-cli

☑️ A simple and extensible shell script for managing your todo.txt file.
http://todotxt.org
GNU General Public License v3.0
5.55k stars 712 forks source link

My setting a config directory in the Makefile was ignored/overruled #408

Closed McUsr closed 1 year ago

McUsr commented 1 year ago

Do you want to request a feature or report a bug?

The CONFIG_DIR I specified in the Makefile is ignored.

What is the current behavior?

I specified CONFIG_DIR = $(HOME)/.config/todo.txt and yet there were made directories under that so that the full path became $(HOME)/.config/todo.txt/todo/config

That didn't work so well anyways, as I learned that I needed to have the file in one of the standard locations. Maybe those standard locations should be written in the Makefile?

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.

I did above.

What is the expected behavior?

I'd expect it to use $(HOME)/.config/todo.txt as config dir.

Which versions todo.sh are you using?

Run todo.sh -V

TODO.TXT Command Line Interface v2.12.0.dirty

Which Operating System are you using?

Debian 11.5 (Bullseye)

Which version of bash are you using?

Run bash --version GNU bash, version 5.1.4(1)-release (x86_64-pc-linux-gnu)

inkarkat commented 1 year ago

No, it's not ignored, but CONFIG_DIR is just a preset for sysconfdir; that's the system-wide default for the configuration template. Users are expected to copy that template into their home directory as a base for their custom configuration - that's why the Makefile doesn't reference those locations used by the todo.sh command.

The Readme unfortunately isn't very clear about this; improvements have been done but not yet merged back (ping @karbassi).

If you just want to have a todo.txt installation for personal use, you actually aren't required to use the Makefile (which at least partially is meant for package maintainers to build distribution-dependent packages): simply put the todo.sh script somewhere on the PATH, copy and adapt the config file for your user, and you're basically done. (The third file is the Bash completion which is handy but not essential.) Like the task management itself, the program is rather simple and minimalistic ;-)