TL;DR
Todoman + vdirsyncer + tasks + Nextcloud to sync across your Linux desktop and Android devices.

Introduction

Why switched away fro Todoist?

  • Proprietary
  • I want a command-line tool

proprietary

The above solution does take some time to set up. But it’s mostly set-and-forget.

Tools

  • Todoman: command-line TODO manager
  • vdirsyncer: synchronizes TODOs between devices using Nextcloud
  • autovdirsyncer: monitors our TODO collections and upload automatically when there are changes
  • tasks: Android client so that we can use our TODO on the go
  • Nextcloud: server that glues everything together

Getting Started

  1. Install the packages
pacman -Syu todoman vdirsyncer autovdirsyncer
Note
The binary for todoman is just todo.
  1. Install tasks for your Android phone

  2. To get started with Nextcloud, check out my article How to Migrate From OneDrive to Nextcloud.

Tips

  1. ~/.config/vdirsyncer/config:
[storage calendar_remote]
type = "caldav"
url = "https://efss.qloud.my/remote.php/caldav/"

username.fetch = ["shell", "echo $NEXTCLOUD_USERNAME"]
password.fetch = ["shell", "echo $NEXTCLOUD_PASSWORD"]

I set NEXTCLOUD_USERNAME and NEXTCLOUD_USERNAME in the file /etc/environment so that autovdirsyncer can read the values when autovdirsyncer.service starts up.

  1. tasks credentials

Open Settings > Add account > CalDAV, and the URL field is https://your.cloud.instance/remote.php/dav/calendars/youremail@mail.com/.

Conclusion

tasks is feature parity with Todoist, if not better. Using FOSS tools is not an inferior option.