10 python3.pkgs.buildPythonApplication rec {
15 src = fetchFromGitHub {
18 rev = "refs/tags/v${version}";
19 hash = "sha256-5tQaNT6QVN9mxa9t6OvMux4ZGy4flUqszTAwet2QL0w=";
22 SETUPTOOLS_SCM_PRETEND_VERSION = version;
26 ] ++ (with python3.pkgs; [
30 propagatedBuildInputs = with python3.pkgs; [
44 nativeCheckInputs = with python3.pkgs; [
54 LC_ALL = "en_US.UTF-8";
57 installShellCompletion --bash contrib/completion/bash/_todo
58 substituteInPlace contrib/completion/zsh/_todo --replace "jq " "${lib.getExe jq} "
59 installShellCompletion --zsh contrib/completion/zsh/_todo
63 # Testing of the CLI part and output
64 "test_color_due_dates"
66 "test_default_command"
68 "test_missing_cache_dir"
69 "test_sorting_null_values"
71 # Tests are sensitive to performance
75 pythonImportsCheck = [
80 homepage = "https://github.com/pimutils/todoman";
81 description = "Standards-based task manager based on iCalendar";
83 Todoman is a simple, standards-based, cli todo (aka task) manager. Todos
84 are stored into iCalendar files, which means you can sync them via CalDAV
85 using, for example, vdirsyncer.
87 Todos are read from individual ics files from the configured directory.
88 This matches the vdir specification. There is support for the most common TODO
89 features for now (summary, description, location, due date and priority) for
91 Unsupported fields may not be shown but are never deleted or altered.
93 changelog = "https://todoman.readthedocs.io/en/stable/changelog.html#v${builtins.replaceStrings ["."] ["-"] version}";
94 license = lib.licenses.isc;
95 maintainers = with lib.maintainers; [ leenaars antonmosich ];