When switching the current buffer to the Zettelkasten index page
(`<leader>ni`), we now also switch the working directory to the
corresponding notes directory.
Image nvim works mostly well (slow on wezterm but that will always be the case
with kitty protocol for now as far as I know).
Would love to be able to toggle images on/off dynamically but I don't see a
way to accomplish that now. (or really, get to any option of the plugin).
Molten itself also works well - the output is displayed more nicely than for
the Magma plugins and everything continues working mostly well (or rather,
just as wonky as I had it set up on my older magma install :)
For now, the molten - image.nvim integration seems to not work at all -
it simply errors out when it would produce an image as output. No clue why
and it also complains about the wrong image provider (which I have taken from
the molten readme). No time to bugfix now but maybe at some point.
To do - find a much better way of installing the image.nvim required
luarock magick - done manually with hardcoded path in setup now
Also extended the old `py` alias to a full-blown script which will in
addition to detecting the python repl also find any running molten
session for the current directory (i.e. any running jupy kernel) and let
the user choose the right one if there is multiple. Will then default to
starting a kernel-aware repl environment (euporia or jupyter-console).
Added a very simple `-c` option which lets you choose python command to
run manually.
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.
Add a simple alias to quickly use distrobox with `db` alias, and modify
pure prompt initialization slightly so that it displays a hostname when
in a distrobox container (akin to operating from ssh or normal container
usage).
HACKY implementation makes use of both an internal pure prompt api
(see here https://github.com/sindresorhus/pure/issues/585)
and a distrobox env var that I am not sure how exposed it is either.
Powerlevel10k uses a similar method though, so maybe it is fine
(see here 33916e91a7/internal/p10k.zsh (L8336)).
I rewrote and extended the nsxiv-rifle script recently, and this change
now: removes the old script, adds the new one as a submodule into the
repository and links a working binary into the path.
The new script is essentially still just an image grabber-and-opener,
but supports more image viewers, is a little more advanced and can for
example replace arbitrary parts of urls (and is documented a little more
nicely).
Make qutebrowser use new script and remove leftover references to
nsxiv-rifle. Qutebrowser also gets a third option of viewing images, now
there are:
,i -> open selected link in imageviewer
,I -> open current page in imageviewer
,<C-i> -> open selected image in imageviewer
Opens basically any path, local or remote in nsxiv.
Can take multiple paths to open all of them.
Additionally, alias whichever version of the image viewer is available
on the system as `iv`, using `nsxiv-rifle`, `nsxiv`, `sxiv` in order of
preference.
Fix sh module packages to make more extensive use of the exist program
that also ships with the sh module.
Simplifies intent of the code and makes it much easier to read.
Added some simple aliases that were missing from the vi → vim → neovim
chain.
Can be useful for the odd moment when one does not know which exact vim
is installed.
Moved previous default (paper) compilation target for pandoc to its own
file (paper.latex) and saved the current default as a backup file.
This should fix some issues with compilation to PDF, especially with
vertical spacing and quotes which would fail intermittently otherwise.
Prepending history with datestamps (which are already correctly saved in
my shell history), so I know WHEN I last run a command (roughly) and can
also search for the dates using `fzfhistory`.
`v` used to call nvim and nothing else.
Now, it checks for nvim and calls that,
checks for vim and calls that,
or checks for vi and calls that before failing.
The `nl` preview was still stuck in the default fzf options for a while
and does not work with most things that it is intended for. Removing it
is vastly preferable to the half useless preview window on any fzf
invocation.
A true default preview window may either be possible through a separate
script looking for the right command to invoke, or for individual fzf
invocations which then simple use the correct commands in the first
place (see e.g. `fzfyay`, or `fzfyayrns`).
`fzfyay` and `fzfyayrns` now also respect paru if it is installed on the
system. They will default to yay and fall back to paru.
Added function to fuzzily search through any documents using rga.
Function code adapted from https://github.com/phiresky/ripgrep-all
Can be interactively searched, should be reasonably fast once indexing
is finished.
`fzfman` will gather all manpage topics and display them in a fzf list
to choose from. Selection will open the corresponding manpage.
Other fzf- functions have been standardized in their naming scheme:
fzf and the function without any spaces, e.g.
`fzfhistory`, `fzfyay`, `fzfyayrns`.
Fixes tmux xdg-compliance (and, more importantly, Tmux Plugin Manager's)
by setting the environment variable TMUX_PLUGIN_MANAGER_PATH to follow
xdg specifications. Tmux, due to not being xdg-compliant, needs to be
aliased to start with the `-f` option pointing into the configuration
directory.
Fixes tmux vim nagigator's controls being overwritten by other control
schemes in tmux.
The only file left in $HOME is .zshenv, which sets up zsh to source everything from XDG_CONFIG_HOME/zsh.
Shell files are split into sh and zsh directories, for global assignments (which should be posix compliant, work on any posix shell) like environemnt variables, xdg vars, and global aliases. zsh contains zsh specific customization (prompt customization, plugin loading, zsh completions).
Zsh initialization will pull from sh directory first, loading the respective mirror to its startup file (`.zprofile` loads `sh/profile` and `profile.d/*`, `.zshenv` loads `sh/env` and `sh/env.d/*` and `zsh/env.d/*`, `.zshrc` loads `sh/alias`, `sh/alias.d/*` and `zsh/alias.d/*`)
Once all is done, it will have loaded both global variables, aliases and settings, and zsh-only specifications. Other stow modules, if they want to add shell functionality, can include their aliases and functions in one of the above directories to automatically be picked up by zsh.