Commit graph

78 commits

Author SHA1 Message Date
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
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
e36ed17a97
wezterm: Re-enable wayland mode
While there are errors that pop up when inserting text (_each time_), it
is still much preferable to the unbearable slowdowns that happen after a
while when running it in XWayland mode.
2025-03-06 21:22:01 +01:00
19577a7c83
zsh: Show help when hitting K from vi mode
We load the 'run-help' function to quickly show us documentation for the
command under cursor when we enter vi mode and then hit 'K'.
This mimics the actual vim setup where K will generally show
documentation/hover info/help as well.

The command invocation requires an 'even amount of arguments' which I
don't fully understand but have no time to read into and fix currently,
so it just gets another superfluous 'run-help' tacked on at the end.
2025-03-06 21:21:57 +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
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
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
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
af7aaa068c eza: Fix aliases pointing to old exa executable 2025-02-23 13:41:24 +01:00
72eda6a992
vifm: Fix Makefile and yaml icons 2025-02-22 19:35:40 +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
14e3364155
starship: Remove general custom component display 2025-02-14 10:47:53 +01:00
a0802d69f8
terminal: Add starship prompt configuration
I have been relying on my starship configuration for a *long* time now,
but seemingly never added it into my dotfiles. This rectifies that.
2025-01-04 14:37:10 +01:00
6bc3f0e8c1
vifm: Make external commands conditional on executables
Only create shortcuts for external commands if those have associated
executables on the system. If we don't have an `atool` installed, it
does not make sense to have shortcuts for invoking it - likewise for
vidir, find, and so on.
2025-01-04 14:36:23 +01:00
086ad20add
vifm: Switch from vidir to edir invocation
edir is a slightly improved version of the morutils tool 'vidir'. We
switch to it to change directories, files and only sub-directories
(Invoked with ,rr / ,rf / ,rd respectively).
2025-01-04 14:19:44 +01:00
2c1487ab93
repo: Remove traces of tmux configuration
While I never disliked tmux I have not been using it for absolute ages
now, ever since starting to multiplex with wezterm. Wezterm can (at
least with my current setup) *not* replace all tmux functionality -
especially running multiple sessions in a detachable way on a remote
server - but I have never needed those in a long time now.

Detachable sessions I can create instead with `abduco`.
2025-01-04 10:57:48 +01:00
dc067c860d
vifm: Add zoxide integration
If zoxide is found on the system, vifm will automatically add any paths
traversed into the zoxide database.
It will also have a new internal command 'zoxide' with which you can
open a menu to search all zoxide-known paths - it is also added as a
mapping to <space>z.
2025-01-04 10:45:06 +01:00
81bf5b46e5
vifm: Prefer vimiv to other viewers 2025-01-03 22:33:16 +01:00
94b0d93926
wezterm: Add experimental tab naming mapping
This is something I used to use quite a bit in tmux. I have a feeling I
will not be making extensive use of it in wezterm, but can always remove
it if I reach the point of forgetting the mapping later.
2024-08-13 22:55:14 +02:00
2dd5f6e02d
wezterm: Change pane movement mappings
Added mapping `<leader><c-q>` to select a pane which will be moved out
to a new tab.

Slightly changed pane switching on `<leader><s-q>` to keep focus on the
pane instead of switching to the other pane.

Finally, added two simple relative tab movement maps to cycle forward
with `<leader>.` and reverse with `<leader>,`. This replaces the old tab
movement (moving the actual tab around) left and right which are now on
`<leader><s-,>` and `<ledaer><s-.>` respectively.
2024-08-13 22:53:27 +02:00
9deacabbef
vifm: Add batch file modification shortcut
Use `,r` to enter an $EDITOR instance in which you can
rename/delete/modify the files in the current directory. (using vidir
program under the hood)
2024-07-20 16:45:55 +02:00
c4f2522f2b
wezterm: Ensure CTRL and SHIFT mods passed through
These bindings ensure that wezterm understands (and informs the shell)
that `<C-Return>` and `<S-Return>` are different key binds than just
`<Return>` on its own.

For example 'euporie' uses it to mimic the python notebook 'enter means
newline but ctrl-enter means execute' style of quick coding.
2024-06-17 08:30:06 +02:00
d8823d4661
wezterm: Switch navigator and tab hiding maps around
Since I (almost) never use the navigator, it has been put behind
`<leader>T`. The tab-hiding I used a (little) more often so that now
lies behind `<leader>t`. Simple change.
2024-06-17 08:27:35 +02:00
b8cbc8bc5d
vifm: Add simple file and folder diff command
The newly added `:cmp` command can compare the contents of either two
files or two directories.

Works in two ways: If nothing is selected, compares the currently
hovered-over object with that in the other pane.
If things are selected, compares those instead.
2024-05-28 21:39:47 +02:00
a2d60202b9
vifm: Fix tabular data visidata opening and preview
Tabular data was only opened in visidata if it was a csv file,
now we also correctly open xlsx, tsv, and even json files.
Also do not display an extra file title in the tabular previewer
since we already know which file we are pointing at to gain some
space.
2024-04-19 11:33:42 +02:00
cddf8618ce
vifm: Add markdown icon to quarto files
.qmd files now also display the markdown symbol.
2024-04-19 11:32:07 +02:00
ab123a4c36
wezterm: Allow toggling tab bar display
Tab display can be toggled on or off with `Ctrl+Shift+T`. The toggling
takes place per-window and not globally, so we can have a wezterm
terminal on desktop 1 with a tabbar and on desktop 2 without. Opening
a new terminal always defaults to an enabled tab bar.
2024-02-16 11:01:41 +01:00
f7a4dedfb8
vifm: Fix video thumbnail preview 2024-01-18 10:25:17 +01:00
8ef81d39ef
vifm: Fix favicon slash display
Slashes should only be displayed for directory-like objects. They were
displayed for all sorts of files. This commit fixes that.
2024-01-11 18:01:03 +01:00
97114d74fb
terminal: Add unified history for shells
Added atuin for nice shell history. Trying it out for now
but seems non-intrusive enough that I will probably keep
it for a while even if I don't use it.
2023-12-30 21:33:19 +01:00
a5727c135b
zsh: Change cursor shape for vi modes 2023-12-30 21:33:18 +01:00
e2f77e6faa
vifm: Fix pdf preview 2023-12-30 21:33:17 +01:00
546195ad56
terminal: Switch to starship prompt
Switched terminal environments (bash,zsh,nushell) to starship
prompt (from pure-prompt/no prompt). Is mimicking the pure-
prompt however, so no big change visible. Needs additional
package on the system, which is added to the packages.

Some remaining issues with nushell (vi prompt indicator).
2023-12-30 21:33:16 +01:00
8c9a233a8b
vifm: Improve file preview for tabular data
Slightly improved display of csv files and added tsv to same preview.
Added nice previews for json and excel files.
2023-12-12 12:21:59 +01:00
80f2afb1cf
vifm: Add alt file opening, option cycling mappings
Added cycling through (command mode) options with C-p/C-n since
I am used to doing this.

Added a quick short mapping to `o` to show all file openers
defined for the current file and be able to select one.
2023-12-04 08:42:56 +01:00
5941f6f77a
vifm: Extend fzf mapping functionality
Extended functionality to work in current directory with lower-case
letters and from home directory using upper-case. So, <leader>f
will search files in current dir, <leader>F in home dir.
Same for <leader>d/D and <leader>w/W.

HACK Also made it use fd instead of find by default for the speedup.
This should probably only be done after detecting if fd is even installed
on the system but I do not have time for this right now.
2023-12-04 08:41:24 +01:00
e90d1c9c39
vifm: Remove compatibility options
Removed the compatibility options set by default in vifm, which has 2 large
effects:
Will remove the default tab mapping to switch panes. I re-enabled it
for now since it has become somewhat part of my muscle memory but I believe
it is better to have it as an explicit mapping which I can change than
hunting for this option somewhere down the road.
Second, it makes dd/DD/yy behave very differently, *only* working on the
currently highlighted file. To operate on the currently selected files
like previously one uses ds/Ds/ys instead. I want to re-train my muscle
memory for this instead since it will make my usage more flexible in the
future. There is also dS/DS/yS for operating on non-selected files instead
which is even more flexible.
2023-12-04 08:36:43 +01:00
eeca1f3817
zsh: Remove path deduplication
Aside from some more needed things, the path deduplication function is
the most time-consuming invocation on zsh startup, taking almost
100ms on my system.

Perhaps it would be reasonable to re-introduce when the first invocation
from path is occurring but it is simply too much time taken for each
time I start a new shell instance for now.
2023-12-04 08:32:49 +01:00
3bd67eab3d
vifm: Add toggle icon mapping 'ti'
Added mapping to toggle classify prefix icons on or off quickly
using my semi-established 'toggle' submenu with the mapping
`ti` (for toggle icon).
2023-12-04 08:31:01 +01:00
b712d456dd
vifm: Move devicon classify setting into separate file
Will be sourced on startup and provide basically the same icon prefix
as before. Made sure to not invoke 'classify+=' too often since each
invocation slows down vifm startup a little.
(see: https://github.com/vifm/vifm/issues/542)

With it being sourced externally we can now do fun things with classify
itself and it is easier to update from the rest of our settings.
2023-12-04 08:29:33 +01:00
4cc03a611a
sh: Add default open script
Simple wrapper for xdg-open functionality. Simply refers
to xdg-open except if there exists mimeo on the system
which it will refer to instead.

So, a simple preference modificator for mimeo over
xdg-open since that is my preference too.

Also gave it a short name so I can do open whenever I
want and don't have to tax my left hand with tying xdg.
2023-12-04 08:26:59 +01:00
662549b6b0
bat: Add quarto and ino to synatx-enabled
Quarto now uses markdown syntax and ino files use C++ syntax
highlighting.
2023-10-07 11:32:00 +02:00
ba042db7df
vifm: Fix wezterm image preview with chafa
We now use chafa to preview images. We use its iterm mode
since that seems to be the best integrated into wezterm
currently.

We have to use uncached previews so it is a little slower,
but at least it functions perfectly after the first image
is displayed.
2023-10-03 13:01:30 +02:00
7ccd7e4757
vifm: Fancy markdown display with glow or bat
For anything markdown or that gets displayed as markdown
(e.g. docx files) in the vifm preview, we now use glow
or bat to display a nicely styled and colored version.

For glow I added a script which tries to detect the
current terminal background between dark/light to
correctly set the color scheme.
2023-10-03 13:01:29 +02:00
102cdbca1c
writing: Replace zathura with sioyek
Replaced or extended all default references to zathura with
sioyek so it will automatically take on any tasks meant
for pdf reading. With the current configuration, hardly a
change should be noticed.
2023-10-02 14:08:04 +02:00
334f3032e8
terminal: Exchange fasd for zoxide
fasd is unmaintained and slower than zoxide. The transferral
was painless. I imported my old database and can continue as
before. It does not care about files but that is completely
fine for me. Same `z` invocation as before. Has the
'interactive' mode on `zi` which is also completely fine.
2023-09-28 14:41:33 +02:00
9811d801b8
wezterm: Add ability to close current pane
Using <C-A>x you can close the currently highlighted
pane. Will not ask confirmation so be careful.
2023-07-23 19:29:12 +02:00