Taskwarrior is one of the most powerful command-line, task management tools available on Linux. It is an open-source project that is designed to be flexible for almost all task management work and is very much scalable. You can use it to manage your To-Do list, from the command line interface, and will find it to be ultra-fast and efficient. Furthermore, you can easily make it fit your workflow and even use it as an app for task management.
If you are a more advanced user, then you can use it to handle sophisticated and complex undertakings, such as a data query tool to help make your work more organized. The app is written in C++ and uses a simple text file format for storing your lists and organizing metadata. The great thing about this tool is that it is available across platforms, and supports most Linux distributions, even the niche ones. If you want to learn how to install Taskwarrior on Linux, no matter the distro, you can use the following guide.
What Is Taskwarrior?
Known as a simple yet versatile tool, Taskwarrior is a match made in heaven for budding developers, experienced administrators, and anyone in between. If you love mouse-free operation, then you will love Taskwarriror for what it brings to the table. You can use it within the Terminal to quickly modify and add tasks to a list, that you can then complete and delete too, without once leaving the command line interface.
You can make the most out of Taskwarrior by using its Tags and Attributes system, which can be pretty helpful in managing various lists and can help you prioritize your work. There are different tags available, such as Due Dates, Priority, Project, and any number of custom tags that you can define yourself, making Taskwarrior a user-friendly tool. It shines when you are working in larger groups, as the level of customization afforded is a much-welcome addition.
Why Choose Taskwarrior?
So, why use Taskwarrior? Here are a few features that could help you decide:
Command Line Interface
A simple, yet sleek, command line interface will ensure that you have a fast, unobtrusive, flexible yet efficient tool at your hand to easily manage your daily tasks. You can handle almost everything that Taskwarrior can do from within the command line, ensuring that you don’t have to switch windows.
User-friendly Syntax
The command line syntax is very user-friendly and easy to use. The tool is methodology-neutral, meaning, you can use a number of techniques, and the tool will still work, without getting in your way.
Community-Driven
You will also find a large and active community for Taskwarrior online that can help you with queries and other instructions. It has a lot of documentation online and a bunch of active forums where you can seek suitable advice. The developers even maintain an active Discord server so that you can get support anytime you need it.
Open-Source
The tool doesn’t have to hide how it works. You can even develop it as you want since the source code is available to all. There is even an SQLite database you can use.
Other features include the following:
- Files are stored as JSON, so they are easy to share.
- DOM access and available as an API.
- Several free scripts are also available, that too for free.
- You can even get a curses-based UI, i.e. Vit.
- Bug reporting is also very easy.
Installing Taskwarrior On Linux
There are a lot of methods you can install Taskwarrior on Linux. The most prominent being downloading the Tar file and unpacking it. However, you are free to choose the method you like the most. We have listed some of them below, for almost every Linux distribution:
Method 1. Compile Taskwarrior From Source
Step 1. First, install the relevant dependencies for the different distros:
On Debian/Ubuntu
sudo apt install cmake g++ libgnutls28-dev uuid-dev
For Fedora/RHEL
sudo dnf install cmake gcc-c++ gnutls-devel uuid-devel
And, For Arch Linux
sudo pacman -S cmake gcc gnutls uuid
Step 2. Now, clone the repository from Git:
git clone --recursive https://github.com/GothenburgBitFactory/taskwarrior.git
Step 3. Navigate to the Taskwarrior directory:
cd taskwarrior
Step 4. Then, create a build directory:
cmake -DCMAKE_BUILD_TYPE=release .
Step 5. Use the MAKE command to compile the code:
make
Step 6. Finally, install Taskwarrior
sudo make install
Method 2. Download .TAR package and Install Taskwarrior
Step 1. First, download the tar file containing Taskwarrior:
Step 1.1- For this, you need to go to the official website and get the file:
Step 2. Then, unpack the source tarball file. This will create a directory with the code.
tar xzf task-X.Y.Z.tar.gz
Step 3. Now, change the directory:
cd task-X.Y.Z
Step 4. Use CMAKE to scan for dependencies and generate the makefiles:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
Step 5. Finally, build Taskwarrior:
sudo cmake --install build
cd .. ; rm -r task-X.Y.Z
Method 3. Install Taskwarrior Using Native Package Managers:
Taskwarrior is also available via your native package managers on almost every Linux distribution, you can use the following steps to install it:
Debian/Ubuntu
Step 1. Update the package manager:
sudo apt update
Step 2. Install Taskwarrior:
sudo apt install taskwarrior
Step 3. Verify the installation:
task --version
Fedora
sudo dnf install task
CentOS (version 7 or below)
sudo yum install task
RHEL
If you want to use Taskwarrior on RHEL (version 9 or CentOS Stream 9) then, you will need to use the EPEL repository, for this, you will need to get the EPEL repo first and then use it to install Taskwarrior
Step 1. First, enable the EPEL repo:
For RHEL 9
subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms && dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
On CentOS Stream 9
dnf config-manager --set-enabled crb && dnf install https://dl.fedoraproject.org/pub/epel/epel{,-next}-release-latest-9.noarch.rpm
Step 2. Now, install Taskwarrior
sudo dnf install task
OpenSUSE
zypper install taskwarrior
Arch Linux
pacman -S task
Slackware
sbopkg -i task
Gentoo
emerge task
Sabayon
sudo equo install task
FreeBSD
Step 1. First, install the port:
cd /usr/ports/deskutils/taskwarrior/make install clean
Step 2. Then, add the package
pkg_add -r taskwarrior
Step 3. Finally, install Taskwarrior
pkg install taskwarrior
OpenBSD
For versions older than 5.8
sudo pkg_add -i taskwarrior
For version 5.8 and up
doas pkg_add -i taskwarrior
NixOS
pacman -S task
Method 4. Using Flatpak To Install Taskwarrior On Linux
Step 1. First, install Flatpak on your Linux device:
For Debian/Ubuntu
sudo apt install flatpak
For CentOS/Fedora/RHEL
sudo dnf install flatpak
Step 2. Then, add the Flathub repository:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Step 3. Finally, install Taskwarrior using Flatpak
flatpak install flathub org.taskwarrior.Taskwarrior
Method 5. Installing Taskwarrior Via Snap Packages
Step 1. First, install Snap:
sudo apt install snapd
Step 2. Then install Taskwarrior via Snap:
sudo snap install task --classic