Commit graph

2021 commits

Author SHA1 Message Date
7fa4b06eea
carapace: Alias cat to bat
For some reason the regular 'cat' completion does not work, perhaps
because it is regularly aliased to 'bat' on my systems. This manually
fixes it with a spec alias for carapace
(https://carapace-sh.github.io/carapace-bin/spec/run.html#alias)

Should find a better implementation over time but for now this is a
simple workaround. I do _not_ know how it interacts with systems when no
'bat' command is found.
2025-09-30 14:35:50 +02:00
c3e2720b3c
wezterm: Rename tabs
Rename tabs with `<leader><S-R>`. This will provide a (full-screen)
prompt in which you can exit with esc (not changing anything), provide a
static name for the tab, or hit enter with nothing on the prompt to
return to the default naming behavior.
2025-09-30 14:35:50 +02:00
1f328d2663
nvim: Add copilot suggestions to blink
Suggestions are given at the top of the completion menu. Additionally,
since that can get really annoying really quick there have been some
changes specifically for copilot.lua:

We start with it disabled. It can be enabled with `<leader>ap` and
disabled again with `<leader>aP` for Ai>coPilot. If the plugin at some
point exposes functionality to toggle itself on/off completely I would
gladly switch to that. The current toggle command only attaches/detaches
the buffer but still runs the client in the background. This is less
desirable for me, plus it means the completions are still done
automatically in blink.
2025-09-30 14:35:49 +02:00
6106cfcbde
kanshi: Fix transform change between vertical and normal docked mode
Since I have two configurations for my dual-screen desktop setup, with
one having the two screens side-by-side and the other having the left
screen vertically rotated 90 degrees, I need two different kanshi
setups.

The vertical setup is called 'dockedvert' and is the default when the
two screens are detected. The horizontal setup is only called 'docked'
and can be switched to manually. Before, it would not correctly revert
the left screen from its vertical 90 degree rotation when going from the
vertical setup to the horizontal one.

So I applied the `transform` output directive but kanshi refused to
start. That is because to revert the transform into the default
horizontal position you do not use `0` but `normal` as the value.
With this fix everything works as expected.
2025-09-27 11:17:57 +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
99fd7a78a5
wezterm: Remove emoji picker key bind
I use my own 'bemoji' picker everywhere, including wezterm.
2025-09-24 10:36:37 +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
9dcda2a53d
dotter: Add sample file containing all private variables
This helps to show what is 'hidden' in the public repository and also
shows me at a glance all the dotter-supplied variables to keep an
overview of where we inject stuff.
2025-09-24 08:24:57 +02:00
87bc21ef19
neomutt: Add display and bind changes 2025-09-24 08:24:57 +02:00
b52d58dd58
services: Kill waybar processes before starting service 2025-09-24 08:24:54 +02:00
1c95446ce0
dotter: Remove unnecessary explicit symbolic links 2025-09-24 08:24:53 +02:00
c2e64a17e0
mako: Include color configuration
Include the color config for mako from ~/.local/state/mako/style instead
of hardcoding it or templating it into the config file.

This means we have to ensure the directory and file exist before running
mako which we do with an `env.d` startup script.
2025-09-24 08:24:52 +02:00
6086f47023
sh: Use dotter default var helper for credentials 2025-09-24 08:24:52 +02:00
e57cfb77fc
dotter: Add default variable template helper 2025-09-24 08:24:51 +02:00
0986892dce
goimapnotify: Add dotter templating
Fixed quotes for yaml file with new dotter templating.
2025-09-21 10:29:21 +02:00
91b523dac5
sh: Get llm credentials from dotter 2025-09-21 10:29:21 +02:00
d1c37d36a9
dotter: Default to symlinks
Dotter can default any found file to symbolic links as described here:
https://github.com/SuperCuber/dotter/wiki/5.-Built%E2%80%90ins,-Helpers,-and-Settings#settings

This way whenever we add a file we do not have to set it for files which
contain the '{{ }}' pattern - which dotter otherwise automatically picks
up as template files.
2025-09-21 10:29:20 +02:00
8ca75b4a14
dotter: Add llm and goimapnotify template links 2025-09-21 10:29:20 +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
eb7f47fee5
wezterm: Unmap debug overlay mappings
Unmap the custom set Debug overlay mapping since I haven't had to use it
in absolute ages. Additionally we also unmap the default mapping for the
debug overlay - which frees up the key combination to be passed through
to TUIs.
2025-09-21 10:29:14 +02:00
5a4d0051be
zsh: Fix carapace and fzf-tab compatibility
As mentioned in
https://github.com/carapace-sh/carapace-bin/issues/2819#issuecomment-3092307945,
fzf-tab directory completes are empty if you try to complete on a
directory without any prior input.

I.e.:

`ls -hal ~/.config/a<tab>` shows output (dirs starting with a).
`ls -hal ~/.config/<tab>` is empty.

This fixes the issue by making the query string use the full inserted
value.
2025-09-21 10:29:13 +02:00
bb8a41725a
services: Remove turnstile-ready service run file
It is automatically supplied by turnstile runit backend and does not
need need to be manually set by us.
2025-09-17 13:07:17 +02:00
6ea43fb199
mail: Add goimapnotify user service 2025-09-17 13:07:17 +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
b3e8e371ed
services: Remove left-over systemd services 2025-09-17 12:08:09 +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
fcb6bcb924
nvim: Update groq models
Remove deprecated models and update to new moonshot version.
2025-09-13 13:35:06 +02:00
2bdd40ab72
nvim: Update jj-diffconflicts
Update to version which includes hiding instructions message on startup.
2025-09-13 13:35:06 +02:00
c770ea1db1
nvim: Show LLM model choices on selection
This used to be default (and according to the docs still is?) but I had
to set it manually to still show all models to select from. Perhaps
because we explicitly set 'show_defaults' we also have to be explicit
about this.
2025-09-13 13:35:05 +02:00