Commit graph

1843 commits

Author SHA1 Message Date
67ac2da785
vifm: Remove chafa preview iterm hard-coding
We are using chafa to preview the image and video files but would always
default to the iterm implementation. This has been removed: The foot
terminal does not support iTerm and hard-coding makes us too tightly
coupled to wezterm. But even wezterm functions well with chafa without
the forced iterm usage - we simply use sixels instead.

Remove video preview frame hard-coded file caching and instead pipe
directly into chafa preview.
2025-05-09 10:38:51 +02:00
9db181c35e
task: Change 'tod' alias to 'td' for task today 2025-05-09 10:38:50 +02:00
2c72d2ee1f
river: Set Adwaita xcursor theme if available
Currently we do not set any cursor theme in our river compositor. This
commit changes it to be set if the Adwaita/cursor icon directory is
available.

This does _not_ mean all applications will use Adwaita cursors
unfortunately. In Wayland applications themselves decide what to do, so
some applications do not respect the setting, e.g. GTK applications.

See the following links for more info: 

https://reddit.com/r/voidlinux/comments/wnfwy5/some_apps_not_inheriting_mouse_cursor_theme/

https://codeberg.org/river/wiki

https://codeberg.org/river/river/issues?state=all&type=all&labels=&milestone=0&project=0&assignee=0&poster=0&q=xcursor
2025-05-09 10:38:50 +02:00
bd1fe2eb1f
jrnl: Update version number 2025-05-09 10:38:49 +02:00
bcf94703ec
nvim: Update plugins 2025-05-09 10:38:49 +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
3dd6e7b254
qute: Update deprecated taskadd mapping
Uses (not-so-) new 'cmd-set-text' syntax instead of the deprecated
version. Retains all other functionality.
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
9915fcd2bf
wezterm: Fix italic font display
Accidentally displayed as italic and bold by default, now displaying
regular weight except for actually bold italic fonts.
2025-05-04 19:55:08 +02:00
62301917da
nvim: Prefer vim.o option getter 2025-05-04 19:55:08 +02:00
96cab3d9a6
nvim: Update lsp diagnostics keys
Can show hide diagnostics, virtual text and virtual lines independently.
2025-05-04 19:55:07 +02:00
642d422007
nvim: Update yank highlight for vim 0.11 2025-05-04 19:55:07 +02:00
ecf26880ed
task: Substitute taskopen for my own topen
https://github.com/marty-oehme/topen
2025-05-04 19:55:06 +02:00
af5d5783a5
nvim: Update plugins and spellfile 2025-05-04 19:55:06 +02:00
03a68a9fdb
nvim: Change snippets to vscode json style
Translated markdown snippets to json style.
Could completely remove quarto snippets since they are integrated into
friendly snippets by now.
2025-05-04 19:55:05 +02:00
36936142f6
services: Fix user profile path spelling
Fixes loading the user environment variables into user services again,
this time by fixing a missing `$` creating a false path to load from.
2025-05-04 19:55:02 +02:00
d69a0f40e1
qutebrowser: Make xdg-utils optional
Replace all hard-coded instances of using xdg-open with at least one
non-xdg alternative. Mostly falling back to either mimeo or a custom
open script.
2025-03-19 21:30:02 +01:00
ff2ae79878
nvim: Move to image.nvim fork which works with typst
Though ostensibly compatible with typst, there is a show-stopping issue
with the main image.nvim fork which means an error message whenever
there is more than one typst buffer open (e.g. two side-by-side, or
opening a fzf-lua windows with typst previews, and so on).

Until that is fixed, use this fork. Issue here: https://github.com/3rd/image.nvim/pull/280
2025-03-19 21:30:02 +01:00
2f618d65d5
qutebrowser: Remove xdg-utils dependency from recently-downloaded
First uses the 'open' command if there is one, then the 'mimeo' command
and only then falls back to 'xdg-open'.
2025-03-19 21:30:01 +01:00
caae3513a9 bootstrap: Add argument passing to dotlink
Dotlink now takes arbitrary arguments which it all simply passes through
to dotter underneath.
Also made the directory changing a little more flexible.
2025-03-19 21:30:01 +01:00
0942a9bc9f repo: Fix linking quarto snippets symlink
Dotter recognized it as a jinja template and so we explicitly need to
tell it that it's a symlink instead.
2025-03-19 21:30:01 +01:00
3bb2e67275
services: Remove example user service
it does not serve any appreciable function anymore now that I have
created a sufficient amount of custom user services.
2025-03-19 21:30:01 +01:00
2e9701ea26
services: Fix missing environment variables for user services
We add an additional 'core' user service (i.e. one that gets loaded
before all others by turnstile) which populates the TURNSTILE_ENV_DIR
with all manner of custom set env vars that are important for other
applications.

Most importantly, this sets up the XDG directory compliance for
applications either managed by turnstile or applications started through
turnstile on my system. So, for example `pass` knows to search for its
database in `XDG_DATA_HOME` and river knows to search for binaries in a
PATH which has been prefixed with my custom user binary location.
2025-03-19 21:30:00 +01:00
5f6627e7e7
qutebrowser: Add hypothesis annotation function
Can be activated through the command alias ':hypothesis' or just the
shortcut `<localleader>+a`, so `,a`.
2025-03-19 21:29:58 +01:00
930cbbc47c
qutebrowser: Switch out shaarli integrations for linkding
Use linkding for the 'l' search engine and add a linkding adding
userscript which we use with the ";s" keymap. Add user command
'add-linkding'.
2025-03-16 00:52:43 +01:00
55c4a600c1
jj: Fix jlof and jloof to be case insensitive
Aligns them with the shorter-form `jlf` alias which has been case
insensitive for a while.
2025-03-15 20:08:51 +01:00
7306d860b7
nvim: Remove blink-cmp version pinning
Everything is working well again with newer versions of blink-cmp. And
the development velocity is crazy, we are already two major versions
ahead. Some breaking changes but seemingly nothing that my relatively
simple configuration is affected by.
2025-03-15 20:08:50 +01:00
71c5ac3f19
atuin: Set up configuration 2025-03-15 20:08:49 +01:00
22af0cf46e
nu: Add md and mcd aliases 2025-03-15 20:08:49 +01:00
ab5db2877a
nu: Start setting up new nushell config
Remove most of the old cruft that was left over from nushell version
0.87 - we are now on version 0.102!

Many of the old options are actually not helpful anymore so let's just
get rid of them entirely (never configured the shell for me too much).
Also there was a lot of 'default' commented code which made it harder to
keep an overview rather than help.

For now just set up a minimal shell experience with vi editing mode, and
the trifecta of startship prompt, zoxide movement and atuin history
enabled.
2025-03-15 20:08:48 +01:00
9857cb8953
nvim: Add nushell lsp 2025-03-15 20:08:48 +01:00
c98fa26e91
nvim: Create single source of truth for language features
All additional languages features (LSPs, treesitter parsers, linters and
formatters) are now defined in a single place in 'core/languages'.

This file simply sets up a big table which contains all the enabled
programs and parsers, divided by type. They adhere to the structure
given by the respective plugin.

HACK: We are still cheating a bit currently for treesitter parsers since
I have not had the heart to go through all of them to
activate/deactivate what I could need. Most of them are simply still
loaded, not connected to a specific language. Will have to be sorted out
at some point but it is good enough for now.
2025-03-15 20:08:47 +01:00
62b0188fcc
nvim: Fix treesitter textobjects
Was not installed correctly, and neither set up correctly. Now should be
fully working, with objects targeting Functions, Loops, Conditionals,
Statements and (nushell) Pipelines.
2025-03-15 20:08:47 +01:00
4d6270a9b0
nvim: Add treesitter context line maximum number
Show a maximum of three context lines at any time.
2025-03-15 20:08:46 +01:00
9c4ef56905
nvim: Update treesitter context plugin source
Seems to have since been transferred to nvim-treesitter group ownership.
Probably still worked under the old link, but better to be safe and use
the up-to-date source.

Have gotten LSP, Linters, Treesittesr into one list under core/languages

Missing formatters still, then it's done.
2025-03-15 20:08:45 +01:00
13ef79079b
nvim: Update to newer nushell treesitter version 2025-03-15 20:08:45 +01:00
8555021527
zk: Split nnn quicknote and nni idea alias
nni Quickly lets me dump an idea, while nnn quickly lets me create a new
note in the notes inbox.
2025-03-15 20:08:44 +01: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
faaaa81f91
nvim: Switch to external luarocks dependency
Using external luarocks instead of a luarocks plugin for now. The amount
of dependencies to install is not smaller the other way now (having to
install libreadline-devel) so this should be fine.

I have captured more info in daily log 2025-03-11 on my reasoning.
Suffice it to say: both lazy.nvim 'hererocks' installation, this
external luarocks dep and the luarocks.nvim plugin are brittle in their
own ways. 

For now, I have settled on the external dependency as it remains the
simplest way to achieve what I want (image.nvim) pictures. Though it
requires quite a few dependencies overall:

`xbps-install lua51 lua51-devel luarocks-lua51 ImageMagick libmagick-devel`
2025-03-15 20:08:43 +01:00
fe79287559
nvim: Update plugins 2025-03-15 20:08:40 +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
41754c5d24
qutebrowser: Fallback to wezterm terminal by default
Since the starting parameters are fairly hardwired for wezterm anyway I
don't see this making much sense with e.g. xterm. However, long-term, we
should rather change the hard-dependency instead of doing it this way.
2025-03-10 20:22:04 +01:00
15cf9b192b
nvim: Fix zk commands always being created
They were under a conditional which would only have them be created if
which-key plugin was found beforehand.
2025-03-10 20:22:03 +01:00
2eebe047f6
nvim: Remove fzf select one option
Removed the default option select one, it did not do anything. Now
trying with a 'default' opt for the actual plugin.
2025-03-10 20:22:03 +01:00
0ce49d758a
zk: Add new inbox note function
Add simple alias function which allows quickly creating a note destined
for the inbox by typing `nni`.
2025-03-10 20:22:02 +01:00
a01431609f
zk: Set working dir to wiki for aliases
Instead of finding the notebook at the wikiroot, we directly change the
current working dir to the notebook for the runtime of the zk command.

This has a couple advantages: Any other commands executed will also pick
up the correct directory, and creating notes in a specific directory
also just _works_ by giving a directory in the notes dir even if we are
somewhere else.
2025-03-10 20:22:02 +01:00
ea066eebb5
waybar: Fix event module spacing
Added a new state which should fix the icon spacing issues:

When we have no upcoming events or upcoming events but none today, we
only display the icon and so we do not add any additional spacing.
(This is alt state `event` or `no-event`)

Only if we have an upcoming event today (alt state `event-today`) are we
printing it directly on the status bar and only then should be have
additional spacing. So we have an icon (the same as for event) with the
correct spacing so that whether there is text on the statusbar or not,
we space correctly.
2025-03-10 20:22:01 +01:00
47a96a2d42
scripts: Fix powermenu log out without elogind
On my current voidlinux system I have no access to elogind and riverwm
will just be restarted when I exit it (since it is watched over by a
user service).

My session is started by the display manager 'greetd' (which in turn
runs tuigreet but that is not important here). So, to log out of the
session - we do a search for the 'greetd' process and if we find it we
search its _child_ processes which are the ones that we can kill without
being a super user.

If we kill the right process here, the session will close (since the
'watched' process exits and greetd just takes over again). This would be
a little easier if we started riverwm through greetd directly but I like
this indirection for stability (automatic service restarts), flexibility
(I can stop the riverwm service independent of my session), and adaption
(we can use Turnstile environment variables between my session
services).

So we just close all the processes that are children of greetd --
perhaps we accidentally catch a process which is _not_ the root session
process run by greetd but we'll kill it nevertheless since all child
processes might stop greetd from taking over (and they would be closed
anyway when ending the session afaik).

I have no linger enabled on my system so far (user processes staying
enabled after log-out) and I do not know how that would interact with
this method.
2025-03-10 20:22:00 +01:00
554e13cd36
river: Fix pass-pick invocation
Running pass-pick (or other gpg requiring software) through river was
not correctly accessing the gpg agent since being managed by runit user
service did not point them to the correct gpg agent socket.

This commit fixes it using keychain as auxiliary software to manage a
session-long gpg agent process which is also exported into the turnstile
environment so other runit services can make use of it.
2025-03-10 20:22:00 +01:00
07a619060a
nvim: Disable history when editing jrnl files 2025-03-10 20:21:59 +01:00