Commit graph

1827 commits

Author SHA1 Message Date
a3f30cf228
services: Add desktop environment programs as user services
Added a runit-managed kanshi, swaybg, waybar, wl-paste and wlsunset
service.
2025-02-25 23:25:27 +01:00
e08f88db9c
services: Move pipewire into user service
Will be managed by runit service manager under voidlinux.
2025-02-25 23:25:27 +01:00
4f18b548f4
services: Add example service to base new services off of 2025-02-25 23:25:26 +01:00
7c0bd5738f
river: Change to runit-managed user service
Switching to runit (and turnstiled, which in turn activates user-local
runit service supervision) we can now have river run supervised by our
service manager quite easily.

We make use of this, but have to take care to export the
river-established wayland variables (DISPLAY, WAYLAND_DISPLAY) back into
the user environment for other processes since river will not be the
one responsible for spawning them anymore.

On finishing the service (i.e. exiting the process), we ensure
that the variables get removed from the environment again so it is not
polluted in the future.

Additionally, we load the (default for void runit) 'turnstile-ready'
service which can define core user services that need to exist before
others on login, and the session-local dbus service which river and
other programs will make use of. It is marked as essential with
turnstile-ready.
2025-02-25 23:25:26 +01:00
ea1bd6c573
services: Prepare repo for runit user services 2025-02-25 23:25:25 +01:00
9270ec64bd
HACK: wezterm: Disable wayland temporarily
Since wezterm on wayland is an older release (does not track nightlies,
so currently last release is 2024023, a year old) it does not work as
well with wayland as I would hope.

There are two major issues:
- Cursor errors whenever a mouse pointer is above the window (can be
  partly fixed with the xcursor_theme option, though still erroring when
  hovering over links).
- Constant errors that inactive text input is sending updates in river
  logs.

Until those are fixed, or I jump to a nightly version, we keep it
xwayland.
2025-02-25 23:25:24 +01:00
aca7b60855
services: Disable systemd service linking
I have not used (most) of these services in a long time. This makes the
unlinking more official. Also paves the way for setting up simple
runit-managed user services.
2025-02-25 23:25:24 +01:00
1568ca0534
mpv: Update uosc
This repo is not including the binary 'ziggy' files. They are used for
clipboard management and subtitle downloading, which I personally do not
need.

We are including the uosc repo as a sparsely checked-out submodule
repository now, symlinking it into place.
It might be a little buggy and I am not sure how jj deals with it but
time will tell.

A concise explanation of the idea can be found here:
<https://gist.github.com/ZhuoyunZhong/2c08c8549616e03b7f508fea64130558>

WIP: Add UOSC as submodule
2025-02-25 23:25:23 +01:00
df78905778
mpv: Refactor into more simple config
Using some of the advice from here: <https://kenhv.com/blog/setting-up-mpv>,
we can simplify the configuration a little.
2025-02-25 23:25:23 +01:00
9a53fd5775 nvim: Update plugins
Updated plugins. Forced blink.cmp to stay on version 0.11.x since 0.12.x
versions have a new `exact` match comparator which breaks my config.

See <https://github.com/Saghen/blink.cmp/releases/tag/v0.12.0>.

This is perhaps a bug in the interaction with the nvim-cmp compatibility
layer, but for now we can just pin back the version until it is fixed.
2025-02-25 23:25:23 +01:00
295a598f50
git: Move git-bug completion sourcing to correct shell 2025-02-25 23:25:22 +01:00
8b4e9f31ba
zsh: Fix loading aliases from .zsh extensions
We should load alias files from .zsh extension files in the alias dir,
not .sh files.
2025-02-25 23:25:22 +01:00
e523aa74b2
git: Add git-bug status toggle alias gbo
Requires bug-id to be passed and toggles the corresponding bug open or
closed (`gbo <bug-id>`). Otherwise just passes through any arguments to
the `git-bug bug status` command.
2025-02-25 23:25:21 +01:00
133910be08
git: Show bug description if bug id passed to gb
The alias `gb` will list all bugs (or allows to query for them) by
default. But if only a single argument is provided, and that argument is
a bug id then it shows the bug.

This allows a nice workflow like:

```sh
$ gb
# -> returns list of bugs, pick one from it
$ gb <bug-id>
# -> returns detailed description of bug
```
2025-02-25 23:25:21 +01:00
5986206e51
git: Add git-bug select alias gbs 2025-02-25 23:25:20 +01:00
53a1c049e0
git: Add git-bug edit function gbe
Can edit either the description of a bug (`gbe <bug-id>`) or a specific
comment (`gbe <comment-id>`).
2025-02-25 23:25:08 +01:00
1d2dbc0df2 git: Update basic git-bug aliases
Update for newer git-bug versions (compiled from main trunk not tags).
2025-02-24 14:22:36 +01:00
6af3ba52dc qutebrowser: Add shellcheck search engine
Just run `sc <diagnosis number>` and you will instantly be beamed to the
correcsponding shellcheck wiki error page.

E.g. `sc 3001` will transport you to 'In POSIX sh, process substitution
is undefined'.
2025-02-24 14:22:36 +01:00
cbea1efbc0 vcs: Update user commit signing email
Changed to my more up-to-date main method of contact.
2025-02-24 14:22:36 +01:00
528a4e7fce sh: Add bat to cat alias
Always call `bat` when we invoke `cat`. There is not ever a time when I
want to use the bog standard `cat` in preference to `bat`.

However, on the very slight off-chance there is, we still have a
fallback alias on `rcat` which invokes 'raw' cat instead.
2025-02-24 14:22:36 +01:00
f04340acbd zsh: Use zr plugin manager if it exists
By default we use the 'zr' plugin manager for zsh. It is quick and
painless and takes managing the plugins across two environments not our
problem anymore.
2025-02-24 14:22:36 +01:00
1aa94aa866 HACK: river: Autostart pipewire on non-systemd systems
This is a temporary adjustment to start pipewire as a user process when
river starts up, targeting my new voidlinux installation. Ideally, we
want to have runit user services up and running and being responsible
for maintaining a running pipewire instance but until that is set up we
can simply start it with river.
2025-02-24 14:22:36 +01:00
e3742d43ec fonts: Fix for Iosevka on Voidlinux
Prefer regular 'Iosevka' font in most cases, not the highly specific
'Iosevka Nerd Font'. This may break some things back in Archlinux-land
but it is required for iosevka to be correctly displayed in Voidlinux,
and, to be honest, also feels more clean than using such a highly
specialized font for everything.

Additionally, we generally make use of both where possible, defaulting
to the more specific 'Nerd Font' family variant but falling back to
regular old Iosevka.

One exception is 'wezterm' which, though it nicely includes a font
fallback option (and a very configurable one at that), _always_ produces
a warning when the first font in a fallback list is not found -- even
when the specific 'warn_about_missing_glyphs' option is ticked. No clue
why but for now this works well enough for me.
2025-02-24 14:22:36 +01:00
b8bc65dfab qutebrowser: Add void packages to searchengines
Using `void <searchterm>` the void package repositories can now be
searched.
2025-02-23 19:14:35 +01:00
af7aaa068c eza: Fix aliases pointing to old exa executable 2025-02-23 13:41:24 +01:00
dd62c8a2d0 river: Automatically choose layout engine
Prefers filtile as layouting engine but falls back to rivertile if it
does not find it.
2025-02-23 01:02:57 +01:00
987e4459bf qutebrowser: Manually redirect youtube
Since farside is apparently also not capable of correctly redirecting to
invidious (the one functioning instance), we are doing it manually.
2025-02-22 21:28:34 +01:00
4c867d6564 bootstrap: Remove virtualbox packages
Have not used them for absolute ages, ever since switching to a
combination of virt-manager, libvirt, qemu and incus.
2025-02-22 21:12:22 +01:00
b7b643ddf9 jj: Add aliases to jump to most recent changes
`jed` allows editing the 'latest' (i.e. most recent, timewise) change we
can reach following the descendants of the current working copy.

In essence, this allows us to quickly jump to the head of whatever
branch we are on.

Similarly, `jet` goes to the newest descendant of the 'trunk' branch
(i.e. generally 'master' or 'main').
And `jel` just goes to the newest commit in general out of all commits
in the repo.

These have a lot of overlap and I might end up removing the latter two
if I am not using them much, which may be the case.
2025-02-22 21:11:37 +01:00
72eda6a992
vifm: Fix Makefile and yaml icons 2025-02-22 19:35:40 +01:00
225641c1f0
zk: Create aliases for creating new note/draft/log 2025-02-22 19:35:39 +01:00
068fc77019
nvim: Only enable markdown mdeval mappings if available
Check for the existence of the 'mdeval' plugin before setting the
corresponding key mappings in markdown type files.
2025-02-22 19:35:39 +01:00
613df98520
zk: Ensure global wiki cmds are always executed in wiki
We use a custom zk indirection which ensures that any short alias for
interacting with the zk wiki will actually act on the globally assigned
wiki (by ensuring notebooks dir is "$WIKIROOT").
2025-02-22 19:35:38 +01:00
44cd4481a2
zk: Only create aliases if local wiki found
Local wiki requires the '$WIKIROOT' env var to be set, pointing to the
root of the (zk) wiki. So we only create associated aliases if the wiki
actually exists on a machine.
2025-02-22 19:35:38 +01:00
5ab95c724f
jj: Rework jj bookmark main alias
Changed into a function which takes the revision to set the bookmark to
as an argument. This should work without interfering much since the
bookmark name that the `bookmark set` function _usually_ takes as
argument is already given by the alias (always 'main') and thus we do
not have to manually provide other arguments.

It default to the current working copy just like the command and
otherwise can point to any change.
2025-02-22 19:35:37 +01:00
89737536ea
jj: Revert js to simple jj status alias
I have gotten more used to using `jw` to 'show' the current changes in
the working copy, and having `js` be _both_ status and show has become
more confusing than helpful. For now, we just revert it to be a simple
alias for the status command.
2025-02-22 19:35:37 +01:00
5a9be5479d
jj: Add an alias to abandon a commit
I have begun abandoning more commits recently, so this seems a good time
to introduce an alias for it. It is not _so_ common as to require a 1 or
2-letter alias so we can go with the mnemonic `jab` for jj abandon.
2025-02-22 19:35:36 +01:00
dc7bf66052
jj: Add revset alias for current git head
Adds a very simple 'githead' revset alias. This is not much simpler than
directly invoking `git_head()` but it will remind me in the future of
its existence.
2025-02-22 19:35:36 +01:00
98dca7ec04
jj: Extend log aliases
The new log aliases follow one logic: small letters are default and
capital letters show 'all' changes. Thus, `j` defaults to showing the
simple log and `J` the same log but for all changes.
`jl` shows oneline logs, `JL` oneline logs for all changes.
`jlo` shows log summaries, `JLO` for all changes.
And finally `jloo` and `JLOO` show the details patches for each change.
2025-02-22 19:35:35 +01:00
f9d0401132
jj: Mirror edit next with edit previous alias
This new alias setup provides four quick traversal options:
Moving ahead one commit (`jen` for edit next), backwards (`jep` for edit
previous), as well as doing the same but creating new 'working copies'
instead of going directly to a commit (`jenn` and `jepp`).
2025-02-22 19:35:35 +01:00
66005a9948
jj: Switch manual commit splitting alias to use split
Currently `ji` (for jj insert) does a 'manual' `jj split` by creating an
empty commit underneath, squasing interactively and then moving back to
the original. All of that is done by the existing `jj split` command.

So we simply use it. I am keeping the `ji` alias for now, could still be
'jj insert' or 'jj spl(I)t' I suppose.
2025-02-22 19:35:34 +01:00
612b92d148
jj: Make private commit matching case insensitive
Whether you prefix your commit with 'WIP:' or 'wip:',
'private:' or 'PRIVATE:' it will be caught.
2025-02-22 19:35:34 +01:00
86306afc08
qutebrowser: Manually redirect to FOSS genius frontends
Since farside linking currently does not work we take the work into our
own hands.
2025-02-22 19:35:33 +01:00
dc1a02ebeb
jrnl: Move default location to be under notes 2025-02-22 19:35:32 +01:00
18ce017b8a
nvim: Add djot filetype to prose plugins
Since it is (basically) markdown, we add it to markdown-like filetypes.
2025-02-18 22:41:41 +01:00
395bf80abe
zk: Fix note dir location and add cd alias
The note dir is in fact our `$WIKIROOT` so we set it to that by default.
Also took the chance and added a small 'cd' command into the note dir,
using `ncd`
2025-02-18 22:41:40 +01:00
65bb7aa034
nvim: Add djot filetype detection 2025-02-18 22:41:39 +01:00
f3fb0998f5
vifm: Replace glow with bat markdown preview
For some reason (glow 2.0.0 release?) markdown preview with glow does
_not_ work anymore within my vifm. It regresses to showing errors all
over the place instead.
2025-02-18 22:41:39 +01:00
23086828d3
jj: Add bookmark aliases 2025-02-18 17:58:37 +01:00
637230ad04
qutebrowser: Enable javascript for docker hub 2025-02-18 17:58:37 +01:00