Commit graph

85 commits

Author SHA1 Message Date
b6e3af4593
taskwarrior: Split today alias into scheduled and due
`td` will display things that are either due today or in the past, or
scheduled today or in the past.
`TD` will _only_ display things that are explicitly due today or in the
past.
2025-11-14 10:27:02 +01:00
9548bb3441
aerc: Change mail folder with menu 2025-11-14 10:26:58 +01:00
ac01db2d6d
aerc: Add scroll and unmark key binds 2025-10-10 22:16:23 +02:00
5c7b8ed564
aerc: Add ikhal calendar key bind
Open ikhal in an embedded terminal with <space>k.
2025-09-30 14:35:52 +02:00
d8d126e51e
office: Remove left-over calcurse alias
I have not used calcurse in a _long_ time, preferring khal nowadays.
This removes an old (vdir-enabling) alias in the office module.
2025-09-30 14:35:51 +02:00
36f6e0b30f
aerc: Split edit in compose view to edit headers by default 2025-09-30 14:35:51 +02:00
7289522380
mail: Add mail- prefix to mail cli utilities
Rename mail utility programs (yet again), to be prefixed with `mail-`
instead of `neomutt-`. Also did not substitute with other MUA like
`aerc-` since these utilities are mostly independent of specific
implementations.

The very specific `neomutt-filer` implementation script I completely
removed since for aerc the same can be achieved with a simple
configuration option.
2025-09-24 10:40:17 +02:00
40a0d45d6c
mail: Rename mail synchronization script to mail-sync
Since we do not use neomutt anymore. Additionally, perhaps a 'mail-'
prefixed system is better for scripts etc which run independent of a
specific MUA.
2025-09-24 10:40:16 +02:00
b5a1560970
mail: Remove neomutt configuration 2025-09-24 10:40:16 +02:00
926aee71e8
aerc: Enable mailto functionality for aerc
Explanation here:
https://man.sr.ht/~rjarry/aerc/configurations/mailto.md

I built a custom script 'aerc-in-terminal' since I want to expand the
$TERMINAL env var and use that instead. `.desktop` files do not allow
expanding vars (since they don't run in a user shell), so this is a
compromise.
2025-09-24 10:36:36 +02:00
b4f5ad2e34
notmuch: Remove move-and-untag pre hook 2025-09-24 10:36:36 +02:00
55aa8be680
notmuch: Update hooks 2025-09-24 10:36:35 +02:00
690a2568d5
aerc: Add notmuch inbox mapping
Some simple mapping (inbox, sent, trash, archive, drafts) to the
Personal map file, with the option to extend for private mappings with
dotter.
2025-09-24 10:36:34 +02:00
5705bf9693
aerc: Add mail type formatting
Mails get symbols in the flag column if they are sent by me, CC or BCC
me, or they are tagged as a 'list' (from a mailing list).

Added some additional info to status bar (current folder, recent and
unread counts), and extended the flag column slightly to accomodate more
flags.
2025-09-24 10:36:34 +02:00
d92eaad036
aerc: Add flag formatting 2025-09-24 10:36:33 +02:00
4ab05e738a
aerc: Add configuration to replace neomutt usage
Starting to replace neomutt in my workflow with aerc:
it is a little more lightweight, directly supports notmuch directories
and has a relatively sane configuration style (mostly just ini-like)
with 'go-templating' baked in.

In general, the configuration just feels less 'cobbled-together' than
before. I can make changes without worrying what other things are going
to break by doing so. I understand the complete configuration and
styling, instead of mostly relying on other people's formatting lines
for the styles.

I am still learning some of the configuration possibilities but it
already functions as a neomutt replacement.
2025-09-24 10:36:33 +02:00
f88c80b129
aerc: Add accounts configuration template
Uses private from-email and email aliases fields.
2025-09-24 10:36:32 +02:00
87bc21ef19
neomutt: Add display and bind changes 2025-09-24 08:24:57 +02:00
0986892dce
goimapnotify: Add dotter templating
Fixed quotes for yaml file with new dotter templating.
2025-09-21 10:29:21 +02:00
60012b5d5c
notmuch: Ingore uidvalidity and mbsyncstate files
Will loudly complain about them otherwise.
2025-09-21 10:29:17 +02:00
a1a12cc54c
neomutt: Add html-email creation pipeline to compose menu
Hitting `,m` in the compose menu creates a dual txt/html email group
when the highlighted file is written in (djot) markdown.

Delete the original message afterwards to create a fully functional html
email with plaintext fallback.

Completely taken from: https://tom.wemyss.net/posts/neomutt-markdown-email/
with many thanks. What an amazing use of pipelines in neomutt!
2025-09-21 10:29:17 +02:00
4693f3f6dd
notmuch: Set default tags for incoming email 2025-09-21 10:29:16 +02:00
f36add111a
neomutt: Do not auto sort sidebar
The sidebar will be sorted in the order it is defined in the settings.
2025-09-21 10:29:15 +02:00
3ccd5b3032
neomutt: Set spell checker to enchant
We do not explicitly make use of the spell checker through neomutt yet
but just in case we default to the nice enchant 2 spellcheck API
wrapper.
2025-09-21 10:29:15 +02:00
821693dc7c
neomutt: New key mapping style
First we unbind all existing key mappings and then we slowly build up
our own again. May be somewhat unnecessary but I have been getting
_very_ confused with neomutt mappings just popping up all over the place
and never quite sure if they were from me or default settings or where
exactly they were configured.
This provides a clean slate to build upon.
2025-09-21 10:29:14 +02:00
bd24117af6
mail: Add goimapnotify configuration template
Runs neomutt-syncmail on new mail. Only comes with an 'example' service
which needs to be replaced by the actual connection details.
2025-09-17 12:08:55 +02:00
7fd3db3e53
mail: Syncmail checks for existence of dependencies before use
In its default pre- and post-hooks, `neomutt-syncmail` now checks if
`imapfilter` and `notmuch` exist before invoking them.

Similarly, it defaults to `pass open` opening a pass coffin if
`pass-coffin` exists.
2025-09-17 12:08:13 +02:00
93394129c0
neomutt: Rename neomutt-adjacent scripts
Renamed `mutt2task` to `neomutt-2task`, and renamed `sync-mail` to
`neomutt-syncmail`.

Changed key maps accordingly. Also systemd service even though I don't
think I'll use it again.
2025-09-16 21:37:04 +02:00
1a6b929e24
neomutt: Update message index colors
We have differentiated views of new (italic) and unread (underline, and
a bit of highlight on the author) messages.

Additionally the indicator highlighting works better with the rest of
the colors, and we have a better paperclip icon icon for attachments.
2025-09-16 21:28:32 +02:00
b02d0218c4
neomutt: Automatically mark seen messages old
E-Mails have 2-staged flag options for levels of 'seen':
Unseen/Seen and Unread/Read.

A message is unseen if it has arrived since the last time we had mutt
open. We do not have to have had the actual message open for it to be
marked seen (or 'old'). In other words, whichever messages we have seen
once on the index alone are not 'new' to us anymore, they have been
seen.

On the other hand, a message is only read if it is actually opened. So
even if we have seen it on the index page, or moved it to a different
mailbox or anything else, it can still be unread if we did not open it.
Additionally, I have it set up now so that the message only gets set to
'read' by neomutt after it has been open for 1 second.

This gives a tiny grace period if we are scrubbing through mails or
accidentally opened one we did not want.
2025-09-16 21:28:32 +02:00
3abc92ac08
neomutt: Format settings 2025-09-16 21:28:31 +02:00
79a9c4a227
neomutt: Rename render-prettyhtml to neomutt-renderhtml
Also ensure the temporary file

a) is always different, by using mktemp
and b) is always deleted with an EXIT trap
2025-09-16 21:28:31 +02:00
6b2a0e1918
neomutt: Ignore khard deprecation warnings 2025-09-16 21:28:30 +02:00
519e4ba803
neomutt: Add attaching/saving files with file manager 2025-09-16 21:28:30 +02:00
c381a0ffb6
task: Remove duplicate next report
While taskwarrior itself can handle the duplication, it errors other
programs like my taskopen python script.
2025-08-17 12:35:12 +02:00
7f1064370b
task: Only show annotation count in list view
In 'next' view (my default) we list all annotations as normal with their
full text.

However, in 'list' view, we only show how many annotations are on a task
(if any) and do not display their contents. This turns it into actually
more of a list if there are many annotated tasks.
2025-07-16 17:53:55 +02:00
20741b3ca0
Add idea aliases for running topen in the repository
Notes can be opened/written by either executing `idea note <id>` or
`idean <id>`.
2025-06-22 22:21:51 +02:00
a4bbb0ed3a
task: Add new repository for idea collection
Following this blogpost:
https://eshapard.github.io/code/a-separate-taskwarrior-configuration-for-ideas.html

I think it is a really good idea to try this out.
At first I was collecting ideas in my regular taskwarrior repository --
this was no good as every task list was flooded by somedays and maybes
which would never leave. But I still wanted to have a nice repository to
collect all my ideas in.

So, the second strategy was to have one big (markdown) file which would
simply collect all my ideas. But now I was doubling and tripling them up
because the list was so long, and it was more of a chore to find where
to put everything than just a quick 'idea add'.

This may be the best of both worlds: making use of the nice interface to
a task database using the full strength of taskwarrior querying, without
cluttering up my main task repository.

The workflow is exactly as with regular taskwarrior, only the executable
is not called `task` (or `t` in my case) but `idea`. So you e.g. add an
idea with `idea add`, or query all diy ideas with `idea +diy`.
Just like regular taskwarrior.
2025-06-22 22:21:50 +02:00
d42593edfe
task: Remove configuration files for taskopen
Since I am exclusively using `topen`
(https://git.martyoeh.me/Marty/topen) for my task notes currently, this
commit gets rid of any left-over config files setting up `taskopen`.
Starts to simplify the taskwarrior setup a tiny bit.
2025-06-22 22:21:49 +02:00
21844e3a30
task: Ensure compdef options only get set in zsh 2025-06-22 22:21:48 +02:00
f68a62f377
task: Add aliases for showing tasks done
Can show tasks accomplished today (tdd, 'Task Done toDay'), since
yesterday (tdy, 'Task Done since Yesterday'), or in the last week (tdw,
'Task Done in the Week').
2025-05-22 14:00:09 +02:00
d1f4c4ab8f
task: Remove taskwarrior hooks
Taskwarrior hooks are removed from this general dotfiles repo, as they
are instead included in my taskwarrior 'task' folder (and project)
itself. Each hook belongs to exactly one taskwarrior repository and thus
they should also exist there and not anywhere else, is my current
opinion.

This is especially so since I believe most people use exactly one
taskwarrior repository (me included). So for the moment it just makes
the most sense to have these two things live side-by-side instead of in
this more general configuration repository.
2025-05-22 14:00:08 +02:00
9db181c35e
task: Change 'tod' alias to 'td' for task today 2025-05-09 10:38:50 +02:00
c30ad4ba4b
task: Fix path separator in taskrc
Remove redundant path separator at end of data path.
2025-05-09 10:38:48 +02:00
727800a56a
mutt: Prefer bat to glow for html text display
WIP: Try out nvim taskwarrior stuff
2025-05-04 19:55:09 +02:00
ecf26880ed
task: Substitute taskopen for my own topen
https://github.com/marty-oehme/topen
2025-05-04 19:55:06 +02:00
df48e29fb7
task: Fix git-backup output to be stable
By default sort the exported output by creation date and modify date.
Also use the jq expanded (prettified) output. Will take a little more
space, but ultimately makes it easier to see task changes since each
value is on a single line.
2025-03-15 20:08:44 +01:00
c6de9b0686
task: Add new git backup hook for version 3
First exports tasks to plaintext before backing them up with git.
2025-03-10 20:22:04 +01:00
5e1a20adf0
task: Rename today completed report to donetoday 2025-01-31 09:44:30 +01:00
7761018507
task: Change taskrc includes to absolute paths
In preparation for integrating bugwarrior into these dotfiles I am
changing the taskwarrior include options to absolute paths (though still
retaining the `~` home shortcut).

This seems necessary as bugwarrior, both in its current 1.8.0 and its
git HEAD version, just absolutely refuses to run when the includes are
relative to the taskrc file. A little sad but not too bad overall since
the taskrc in these dotfiles will always live in the XDG_CONFIG_HOME
directory anyway.
2024-06-14 22:07:17 +02:00