Sick Gaming
Fedora - Manage tasks and projects on Fedora with Taskwarrior - Printable Version

+- Sick Gaming (https://www.sickgaming.net)
+-- Forum: Computers (https://www.sickgaming.net/forum-86.html)
+--- Forum: Linux, FreeBSD, and Unix types (https://www.sickgaming.net/forum-88.html)
+--- Thread: Fedora - Manage tasks and projects on Fedora with Taskwarrior (/thread-93864.html)



Fedora - Manage tasks and projects on Fedora with Taskwarrior - xSicKxBot - 03-05-2020

Manage tasks and projects on Fedora with Taskwarrior

<div><p>There are a multitude of applications to manage your todo list. One of these apps is <a href="https://taskwarrior.org/">Taskwarrior</a>, it allows you to manage your task in the terminal without a GUI. This article will show you how to get started using it.</p>
<p> <span id="more-30458"></span> </p>
<h2>What is Taskwarrior?</h2>
<p><a href="https://taskwarrior.org/">Taskwarrior</a>&nbsp;is CLI task manager and organizer. It is flexible, fast, and unobtrusive. It does its job then gets out of your way.</p>
<p>Taskwarrior uses <em>$HOME/.taskrc</em> and <em>$HOME/.task</em> to store your settings and tasks respectively.</p>
<h2>Getting started with Taskwarrior</h2>
<p>It’s easy to use the Taskwarrior to add your daily missions. These are some simple commands. To add tasks:</p>
<pre class="wp-block-preformatted">$ <strong>task add buy milk</strong> Created task 1. $ <strong>task add buy eggs</strong> Created task 2. $ <strong>task add bake cake</strong> Created task 3.</pre>
<p>To list your tasks, you can use the <em>task</em> command on its own for the simplest listing:</p>
<pre class="wp-block-preformatted">$ task ID Age Description Urg 1 17s buy milk 0 2 14s buy eggs 0 3 11s bake cake 0 3 tasks.</pre>
<p>To mark a task as complete, use the <em>done</em> keyword:</p>
<pre class="wp-block-preformatted">$ <strong>task 1 done</strong> Completed task 1 'buy milk'. Completed 1 task.
$ <strong>task 2 done</strong> Completed task 2 'buy eggs'. Completed 1 task.
$ <strong>task</strong> [task next] ID Age Description Urg 1 57s bake cake 0 1 task</pre>
<h2>Diving deeper into Taskwarrior</h2>
<h3>Priority management</h3>
<p>Taskwarrior (task) is designed to help prioritize your tasks. To do this, task has multiple implicit and explicit variables it can use to determine an “Urgency” value. </p>
<p>Consider the following list.</p>
<pre class="wp-block-preformatted">$ <strong>task</strong> [task next] ID Age Description Urg 1 2min buy eggs 0 2 2min buy flour 0 3 2min bake cake 0 4 2min pay rent 0 5 3s install fedora 0 5 tasks</pre>
<p>One could argue that paying your rent and installing Fedora have a higher priority than baking a cake. You can tell task about this by using the <em>pri </em>modifier. </p>
<pre class="wp-block-preformatted">$ <strong>task 4 mod pri:H</strong> Modifying task 4 'pay rent'. Modified 1 task.
$ <strong>task 5 mod pri:M</strong> Modifying task 5 'install fedora'. Modified 1 task.
$ <strong>task</strong> [task next] ID Age P Description Urg <strong> 4 4min H pay rent 6</strong>
<strong> 5 2min M install fedora 3.9</strong> 1 4min buy eggs 0 2 4min buy flour 0 3 4min bake cake 0 5 tasks</pre>
<p>Rent is very important, it has a due date that we need to pay it by, such as within 3 days from the 1st of the month. You can tell task this by using the <em>due</em> modifier. </p>
<pre class="wp-block-preformatted">$ <strong>task 4 mod due:3rd</strong> Modifying task 4 'pay rent'. Modified 1 task.
$ <strong>task</strong> [task next] ID Age P Due Description Urg 4 12min H 2d pay rent 13.7 5 10min M install fedora 3.9 1 12min buy eggs 0 2 12min buy flour 0 3 12min bake cake 0 5 tasks
$ <strong>date</strong> Sat Feb 29 11:59:29 STD 2020</pre>
<p>Because the 3rd of next month is nearby, the urgency value of rent has skyrocketed, and will continue to do so once we have reached and passed the due date. </p>
<p>However, not all tasks need to be done right away. Say for example you don’t want to worry about paying your rent until it is posted on the first of the month. You can tell taskwarrior about this using the <em>wait</em> modifier. (Hint: in the following example, <em>som</em> is short for “start of month,” one of the shortcuts taskwarrior understands.)</p>
<pre class="wp-block-preformatted">$ <strong>task 4 mod wait:som</strong> Modifying task 4 'pay rent'. Modified 1 task.
$ <strong>task</strong> [task next] ID Age P Description Urg 5 14min M install fedora 3.9 1 16min buy eggs 0 2 16min buy flour 0 3 16min bake cake 0 4 tasks</pre>
<p>You will no longer be able to see the pay rent task until the start of the month. You can view waiting tasks by using <em>task waiting</em>:</p>
<pre class="wp-block-preformatted">$ <strong>task waiting</strong> ID Age P Wait Remaining Due Description 4 18min H 2020-03-01 11h 2020-03-03 pay rent 1 task</pre>
<p>There are a few other modifiers you can define. <em>Schedule</em> and <em>until</em> will place a “start” date and remove a task after a date respectfully.</p>
<p>You may have tasks that require other tasks to be completed. To add a dependency for other tasks, use the <em>dep</em> modifier:</p>
<pre class="wp-block-preformatted">$ <strong>task</strong> [task next] ID Age P Description Urg 5 30min M install fedora 3.9 1 33min buy eggs 0 2 33min buy flour 0 3 33min bake cake 0 4 tasks
$ <strong>task 3 mod dep:1,2</strong> Modifying task 3 'bake cake'. Modified 1 task. $ <strong>task</strong> [task next] ID Age Deps P Description Urg 1 33min buy eggs 8 2 33min buy flour 8 5 31min M install fedora 3.9 3 33min 1 2 bake cake -5 4 tasks</pre>
<p>This will modify the priorities of any tasks that is blocking a task. Now buying eggs and flour is more urgent because it is preventing you from performing a task. </p>
<h3>Annotations</h3>
<p>You can add notes to a task using <em>task &lt;number&gt; annotate:</em> </p>
<pre class="wp-block-preformatted">$ <strong>task 3 anno No blueberries</strong> Annotating task 3 'bake cake'. Annotated 1 task. $ <strong>task</strong> [task next] ID Age Deps P Description Urg 1 1h buy eggs 8 2 1h buy flour 8 5 1h M install fedora 3.9 3 1h 1 2 bake cake -4.2 2020-02-29 No blueberries 4 tasks</pre>
<h3>Organizing tasks</h3>
<p>Tasks can being assigned to projects and tags by using the <em>project</em> modifier and adding a tag using the + sign followed by the tag name, such as <em>+problem</em>.</p>
<h2>Putting it all together</h2>
<p>You can combine everything you learned to create a task in one line with all the required options. </p>
<pre class="wp-block-preformatted">$ <strong>task add Write Taskwarrior post \
pri:M due:1m wait:som until:due+2w sche:15th \
project:magazine +taskwarrior +community +linux</strong> Created task 6. The project 'magazine' has changed. Project 'magazine' is 0% complete (1 task remaining).
$ <strong>task 6</strong> No command specified - assuming 'information'. Name Value ID 6 Description Write Taskwarrior post Status Waiting Project magazine Entered 2020-02-29 13:50:27 (6s) Waiting until 2020-03-01 00:00:00 Scheduled 2020-03-15 00:00:00 Due 2020-03-30 14:50:27 Until 2020-04-13 14:50:27 Last modified 2020-02-29 13:50:27 (6s) Tags taskwarrior community linux Virtual tags SCHEDULED TAGGED UDA UNBLOCKED UNTIL WAITING YEAR LATEST PROJECT PRIORITY UUID 27768737-f6a2-4515-af9d-4f58773c76a5 Urgency 5.3 Priority M</pre>
<h2>Installing Taskwarrior on Fedora</h2>
<div class="wp-block-group">
<div class="wp-block-group__inner-container">
<p>Taskwarrior&nbsp;is available in the default Fedora repository. To install it use this command <a href="https://fedoramagazine.org/howto-use-sudo/">with sudo</a>:</p>
<pre class="wp-block-preformatted">$ sudo dnf install task</pre>
</div>
</div>
<div class="wp-block-group">
<div class="wp-block-group__inner-container">
<p>For rpm-ostree based distributions like Fedora Silverblue:</p>
</div>
</div>
<div class="wp-block-group">
<div class="wp-block-group__inner-container">
<pre class="wp-block-preformatted">$ sudo rpm-ostree install task </pre>
</div>
</div>
<h2>Tips and tricks</h2>
<ul>
<li>Taskwarrior has a hook system, meaning that there are many tools you can plug in, such as <a href="http://pypi.python.org/pypi/bugwarrior">bugwarrior</a>!</li>
<li>Taskwarrior can connect to a <a href="https://gitpitch.com/GothenburgBitFactory/taskserver-setup#/">taskserver</a> for server/client setups. (This is left as an exercise for the reader for now.)</li>
</ul>
<hr class="wp-block-separator" />
<p><em>Photo by <a href="https://unsplash.com/@kupriets?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Bogdan Kupriets</a> on <a href="https://unsplash.com/s/photos/warrior?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></em>.</p>
</div>


https://www.sickgaming.net/blog/2020/03/05/manage-tasks-and-projects-on-fedora-with-taskwarrior/