Commit graph

2061 commits

Author SHA1 Message Date
7003fe992f
qutebrowser: Add function to remove floating elements
Primarily used to get rid of cookie banners or
'subscribe-to-my-newsletter' annoyances.
2025-12-01 10:26:00 +01:00
9159ea177d
qutebrowser: Add cookie and social button blocklists 2025-12-01 10:25:59 +01:00
ce8c40e717
nvim: Fix diagnostic toggle mappings
Finally changed the 'show line diagnostics' (opening a popup with all
diagnostics on current line) mapping to fit to the other remappings
moving 'diagnostics' to the `e` key, with `<localleader>le`.

And fixed the ability to toggle diagnostics as virtual lines with
`<localleader>lO`.
2025-12-01 10:25:59 +01:00
726c7cf9c0
nu: Add jj aliases 2025-11-30 23:05:16 +01:00
dc71f747da
nu: Copy basic sh aliases
Held back a little by the issue that you can't really set aliases
conditionally (yet?) in nushell, which is kind of fundamental to my
zsh/sh alias setup. If a program exists, we add some nice aliases -- if
not, we simply degrade gracefully and don't add anything.

PR to track issue:
https://github.com/nushell/nushell/issues/5068
2025-11-30 23:05:15 +01:00
dc8030f905
nvim: Use snacks zen mode
Update to solely use snacks zen mode, removing both twilight and
zen-mode plugins.

For now, we switch to a personal fork of `snacks.nvim` which enables
explicit enabling and disabling of the zen mode.
If it gets upstreamed we can switch back to the regular snacks plugin.

Streamlined some snacks loading and optional lazy-loading.
2025-11-30 23:05:15 +01:00
04fc9b8017
nvim: Add optional snacks.nvim dependency for updated molten-nvim
Since the molten-nvim plugin supports setting `snacks.nvim` as
`molten_image_provider`, we add it as optional dependency.

It is _not_ enabled yet however, have to figure out how to accomplish
this from the embedded optional spec, and also fix molten-nvim before
adding more stuff to it.
2025-11-30 23:05:14 +01:00
e63681c16b
nvim: Use snacks.nvim for zenmode and papis if available
Remove dependency on 'twilight.nvim' and make dependencies on
'snacks.nvim' optional, but load it in the base plugins.
2025-11-30 23:05:14 +01:00
63c4952118
nvim: Add prompts to codecompanion plugin 2025-11-30 23:05:13 +01:00
054cbd9ff5
nvim: Update codecompanion plugin 2025-11-30 23:05:12 +01:00
4bea6507c0
wezterm: Add key to detach selected pane into new window
`<leader><c-s-Q>` activates the pane selector and lets you decide which
pane to detach from the current _window_ and move to a new one.

This mirrors the `<leader><c-q>` mapping moving a pane to a new tab,
only 'bigger', thus using shift in addition.

The binding is a little awkward, but with how rarely I have needed to
use it this was fine for me so far.
2025-11-30 23:05:12 +01:00
bfecbdcd59
nu: Add space prefix to keybind commands to prevent history adding
To prevent adding any of the keyboard-binding driven commands to the
user's command history, we simply prefix all of them with a single
space.
2025-11-14 14:15:04 +01:00
b305be8ad0
nu: Add partial auto suggestion completion
The suggested history completion on the reedline (i.e. fish-like
autosuggestion) can be fully completed with the `l` key in vi cmd mode.

This change adds the ability to complete the suggestion partially by
completing the current word using `e`. If no history suggestion exists
it moves to the end of the current word as usual.

This mimics the partial completion I have set up in zsh with the help of
the `zsh-autosuggestions` plugin.
2025-11-14 14:15:04 +01:00
26e8cc3ccc
nu: Add job control shortcuts
Using <c-z> when a process is running backgrounds it (default behavior)
using the new nushell job control system (since v0.103).
This change also lets you re-foreground the backgrounded program with
the same <c-z> key mapping.

Additionally we add the `fg` alias which does the same and thus mimics
the fg command of other shells like zsh.
2025-11-14 14:15:03 +01:00
37cc1a3d83
nu: Enable transient prompt
Enabled transient prompt for nushell so we only display the line
character and attempt to display command durations for past prompts.

Not sure if command duration is working correctly. If not, might have to
revert this change.
2025-11-14 14:15:03 +01:00
ae5470a5d8
nu: Add fuzzy tab completion, remove nvim hardcoding
Removed the buffer editor hardcoding to 'nvim', should use the EDITOR
env var instead.

Added the (currently undocumented?) config option to enable fuzzy
completion matching - essentially enables exactly the behavior the
'fzf-tab-complete' plugin does for zsh, only natively in the nushell
program.

See: https://github.com/nushell/nushell/issues/1275#issuecomment-2964573062
2025-11-14 14:15:02 +01:00
07d36e3132
starship: Restyle continuation prompt
When entering multiline commands, display a slightly more pronounced line
prefix so we can recognize faster that it expects more input.
2025-11-14 14:15:01 +01:00
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
f514ebe008
starship: Enable terraform and typst modules
Explicitly enable terraform and typst version displays (if in directory
with terraform state files or .typ files for typst), and change the
symbol for the typst module to a feather (which is much nicer than the
plain 't' it would display otherwise).
2025-11-14 10:27:02 +01:00
51fd5b51c7
nu: Remove startup banner
Now that we can see at a glance which shell we are running with a
starship shell indicator, we don't need the huge nushell startup banner
anymore.
2025-11-14 10:27:01 +01:00
7f2520ece5
starship: Add shell indicators for bash and nu
Added little single-character displays at the front of the prompt if we
are in a shell different from zsh to remind myself (since they all look
exactly the same with starship).
2025-11-14 10:27:01 +01:00
c1eb686cd3
nu: Add sudo toggling key
Toggle sudo prefix for command line with <alt-s>. Not sure if I will
keep this binding in the long run but it is a good example of command
execution using nushell through a key binding.

From: https://github.com/nushell/nushell/discussions/16043
2025-11-14 10:27:00 +01:00
56916f90d1
nu: Add dot-repeat key mapping
We have to manually enable the <a-.> keybinding for nushell, which
emulates the 'insert last token of last command' functionality of e.g.
zsh.
2025-11-14 10:26:59 +01:00
4e3edc7832
nvim: Remove manual nushell tresitter installation
It is no longer necessary to manually install the nushell tresitter as a
lazy plugin spec, according to:
https://github.com/nushell/tree-sitter-nu/blob/main/installation/neovim.md

Instead we just enable the treesitter 'nu' language in the
`languages.lua` file as usual and it works out of the box.
2025-11-14 10:26:59 +01:00
72f0651bd9
services: Refactor goimapnotify default variables 2025-11-14 10:26:58 +01:00
9548bb3441
aerc: Change mail folder with menu 2025-11-14 10:26:58 +01:00
0ce2c1b7da
jj: Add raw log command alias
Added `jlr` which, contrary to all the other jj log commands simply
gives quicker access to the actual raw `log` command for custom
operations.
2025-11-14 10:26:57 +01:00
24120f55b2
sh: Use relative alias for cat command
Fixes https://github.com/carapace-sh/carapace-bin/issues/2971
until the merge is in the new release version.
2025-11-14 10:26:54 +01:00
acc2496bd6
terminal: Move bash and zsh into config directory
With the power of dotter for dotfile management we can move the files we
want to link anywhere in our repository.

So finally we're making use of it to keep the bash config files in the
`terminal/.config/bash` directory, as well as removing the leading dot
from both the zsh configuration files.
2025-10-13 11:26:22 +02:00
fa7e740249
terminal: Add fzf file insertion and zoxide cd key binds
The following is added to all three shells bash, zsh, nushell:

Pressing c-t at any time lets you insert a file/dir at the current
cursor location using fzf. Same for 'T' in vicmd mode.

Pressing alt-c at any time lets you jump to that directory using zoxide,
with the zle editor content intact. Same for 'C' in vicmd mode.

Zsh implementation from: https://github.com/ajeetdsouza/zoxide/issues/357
Bash implementation: https://github.com/ajeetdsouza/zoxide/issues/516

Nushell implementation taken from: https://github.com/junegunn/fzf/issues/4122

TODO: Nushell fzf mapping has one problem in that it does not quote the
selected file in any way. So any file with e.g. a space in it will have
to be manually fixed afterwards.
2025-10-13 11:26:22 +02:00
40e8287213
nvim: Add fidget spinner to codecompanion 2025-10-13 11:26:21 +02:00
77d8758ded
nvim: Rename plugins folder to modules 2025-10-13 11:26:21 +02:00
7b32a7998e
nvim: Add markdown snippets to mdx files 2025-10-13 11:26:17 +02:00
30adb52d3c
nvim: Add mdx filetype support
Added suport for the mdx filetype. With the mdx.nvim plugin it will be
recognized and applied to `*.mdx` files. The plugin also associates the
markdown parser with it, and adds some queries for mdx features.

Lastly, added mdx to the list of markdown-like languages in our prose
module so plugins like render-markdown also recognize the language and
work with it.
2025-10-10 22:16:25 +02:00
36bd07a7e5
nvim: Enable markdown rendering for vimwiki and djot
The reason render-markdown was not working for either is that it
requires the markdown treesitter active for the respective language.
With this, for the filetypes in question we simply tell the markdown
treesitter to also parse these.

This _might_ be a problem in the future if the djot treesitter (which
also exists and can be enabled by TS in nvim) diverges more or some
other unforeseen change happens. For now, it seems to work fine. Might
not support all the features in djot that diverge from md? I have not
used them extensively enough to notice.
2025-10-10 22:16:25 +02:00
eb6e72c58d
nvim: Add htmx lsp and mdslw markdown formatting
mdslw will format markdown sentence-wise, in addition to 80-col width.
Let's see if it's gonna be useful or super annoying.
2025-10-10 22:16:24 +02: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
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