Python complains if you point it to a different configuration file (as
we do with the changes to XDG directories) but it doesn't exist. So, we
simply check for its existence and create it if necessary when setting
up an environment.
The beginning of what I hope can be a useful integration: send mails to
taskwarrior as tasks and open the corresponding mail from tasks in
taskwarrior.
To make a task out of an e-mail, in neomutt, simply press `t` when the
mail is selected or opened. It will create an automatic task in
taskwarrior with the description "Reply to [mail] by [sender]" and tag
it as mail.
If you press `T` instead, you can give the task your own description and
tags.
In taskwarrior, you can simply `t open <taskid>` on a task that came
from neomutt to show the message content on the command line (using
notmuch). This is still a bit rudimentary and I would like an improved
display, but it works for now.
Since I am striving for closer connection between my task management, my
mail suite and my calendar appointments, it makes sense to unify all
'office' tasks into the single office module instead of keeping
taskwarrior outside of it.
Custom note extensions can be set and opened through annotating a task
with `Note.ext` instead of just the usual `Note` - the extension will
automatically be opened.
Additionally, tasks annotated with links can now have their links opened
through xdg-open with `to`.
Added aliases for task adding (`ta`), logging (`tal`), annotating (`tan`);
listing next upcoming (`tn`), listing next urgent (`tun`);
showing active (`tra`) and getting a report of recently (1 week)
completed (`trw`) and, finally, `to` to invoke taskopen on the task
passed in.
Added alias within taskwarrior to invoke taskopen through
(unsurprisingly) `task open`. Importantly, the difference to other
taskwarrior commands is that the number of the task to open should come
AFTER the command, not before as a filter as for all the others. Perhaps
that can be changed in the future.
There are some includes in taskwarrior which make the program error out
if they don't exist on start. This little hook ensures that they get
created each time a new environment is created.
Wrapped calcurse into function that imports all external calendar events
on startup. Does NOT yet export anything added in calcurse to the
outside world again, for now khal is required for that.
Renamed script to sync local mbox directory with remote from `mail-check`
to `sync-mail`. Changed necessary integrations accordingly (neomutt and
system service).
Added configuration of khal calendar, making use of the previously set
up vdirsyncer configuration. It will dump calendar events into the
specified folder in documents, which will in turn be picked up by khal
and displayed. Any creations/edits can be synced back to the remote
Caldav server with vdirsyncer.
Set up vdirsyncer to have synchronization with my nextcloud instance.
Pulls credentials from local pass set up and always gives priority to
remote instances so nothing gets lost on local data issues.
Now that I have time to enjoy a game every now and again once more,
pcgamingwiki is a wonderful resource to start looking into all sorts of
compatibility issues and troubleshooting, so it is added as a
qutebrowser search engine as `pcw`.
Neovim sometimes errors out when enabling spelling without having all
the necessary spellfiles available. This ensures on setting up the
environment that a spellfile is downloaded.
Added continuous wallpaper setting and different settings for laptop use
(only one screen enabled) and docked use (two screens enabled and laptop
screen disabled) using the wonderful `kanshi` program.
Had to disable automatic formatting since it was messing with my
contributions to other git projects, if they did either not have a
formatter enabled (most of the time) or had different formatters or
those set up differently than this setup (fixable, but I don't think
it's worth the time).
Instead, formatting can be invoked with `<localleader>f`/`F` to format
or format and save respectively.
Generalized the font used from special ligaturized Iosevka to the
standard Iosevka installed in the bootstrap process.
Changed from a blindingly bright default color scheme to a nice dark one
(Nord).
Changed opening images by default to do so on the commandline itself,
using timg.
Other openers can still be invoked through the `:file` command like
before.
Added shell aliases for 'image listings' which aims to mimic the `ls`
command in a very simple way.
Invoke it via `il` to display a grid of all images residing in current
directory. Images are being detected not by their extension but by
running a `file` operation on, so in very large directories this might
take a little (though, your terminal will probably buckle under the
weight of displaying thousands of images anyway, so use with care).
`IL` provides the same functionality but recurses into an arbitrary
amount of subdirectories. Very useful to get an overview of a certain
directory and its children but, again, think for a second before using
since this could easily spew thousands of pictures into your term.
Updated buffer navigation to make use of the <c-w>hjkl paradigm instead
of the <c-hjkl> since it adheres closer to vanilla nvim and works better
with the new navigation features of Navigator.nvim.
Switched out the old distraction-free writing plugins for neovim
variants zen-mode and twilight by folke - they are simple (one command
to invoke zen-mode, mapped to `F11`, and that's it), they are written in
lua and they work together beautifully (invoking zen-mode also invokes
twilight paragraph highlighting).
Added the automatic display of calendar events or ics files to neomutt,
using the mutt-ics script (available in AUR).
Will display start/end time and participants directly in mail body.
Finally updated tmux scroll-mode yanking to use more vim-style bindings:
Use `v` to select text normally, `V` to select line-wise and `C-v` to
enable rectangle select. `y` yanks to the clipboard (and the internal
tmux register as previously).
Lastly, removed some left-over deprecated code concerning neovim cursor
shape behavior. Was already commented out but now removed completely.
HACK - the yanking to clipboard only works on wayland currently since it
uses `wl-copy` directly instead of the `clip` script. The `clip` script
is not invoked correctly with data being piped since it apparently does
not recognize that it is in a piped call?
Added `git fetchall` (or `gfa`) alias which allows fetching the current
branch from all connected remotes simultaneously. May have some
unintended side effects when branches diverge, this is untested.