Commit graph

1453 commits

Author SHA1 Message Date
2026f6d064
nvim: Switch to lsp-zero
lsp-zero offers a simple to set-up lsp configuration which is based
around the plugins I use anyway (lsp, cmp, luasnip) but integrates them
very well. I add a few small quality of life things on top (cmp
completion for / search and for vim command mode) as well as a boatload
of custom completion sources but otherwise make use of the nice presets.

This has de-bloated my _cmp.lua settings somewhat and allows me to have
a simple treesitter and a simple(r) lsp setup!

Additionally, switched to mason.nvim to manage my lsp sources (and
linters), which is both the new hotness and actually really useful.
Allows portable installation of most lsp servers into neovim data
directory so they do not clutter any other directories or global
namespaces.
2023-02-10 15:33:33 +01:00
ee4640b186
nvim: Fix dial.nvim
Added more rules to dial increment default group so it works on some
more cases. Fixed key bindings.
2023-02-10 14:06:45 +01:00
0484556f04
nvim: Fix spell dictionary not able to be found
Added the previously important 'site' directory to the runtime path of
neovim so it stops complaining about not finding spell dictionaries on
starting up with a spell-enabled file.
2023-02-10 12:08:16 +01:00
7965036eed
nvim: Add mapping description for which-key 2023-02-10 11:47:09 +01:00
e8d2183264
nvim: Remove notational-fzf-vim plugin
Removed the notation velocity plugin for vim. I have not been making use
of it for ages and should I need a vim-internal way of digging through
my wiki I can probably find easier (and more clear) ways of doing so.
Nice plugin, but of no more use to me.
2023-02-10 11:15:38 +01:00
fff6e60862
nvim: Remove cartographer plugin
Switch to use the nice new nvim-internal keymapping functions.
Cartographer was a really useful plugin when they did not yet exist but
now everything I wanted to do can be done without a mapping plugin, so
it is time to remove it.
2023-02-10 11:13:53 +01:00
08360ae7ff
nvim: Switch from quarto-vim to quarto-nvim
Switched to the neovim variant of quarto plugins since it may contain
improved integration with lsp and cmp - and offers completion and
diagnostics for code snippets *within* the overall markdown sources of
quarto, which is very exciting.
2023-02-10 09:19:27 +01:00
cd0d519a28
nvim: Move to lazy.nvim package manager
Migrated from packer.nvim to lazy.nvim - it gives really fast loading
times, easy lazy loading for any package and a snazzy package manager
overview page (invoked through `:Lazy`) which, importantly, all do not
rely on a compiled plugin list.

In essence it feels like an easier to manage and robust packer
replacement (even though packer is a really good manager as well) that
is well worth to switch to. Migration was pretty painless as well.

One thing I might do in the future is split up the plugin structure
itself from a single plugin list (which invokes plugin settings files)
to several files containing the plugins and their settings since it
might give more structure.
2023-02-10 09:15:56 +01:00
f08fa474d6
zsh: Remove double call of env scripts
On startup zsh would call all zsh env scripts (situated in `zsh/env`
or `zsh/env.d/*.zsh`) *and* all sh scripts (in `sh/env` or
`sh/env.d/*.sh`).
However, by that point, those scripts had already been sourced once - so
they just double up startup time.
2023-02-09 09:39:21 +01:00
0a137d1446
zathura: Show double page for first page 2023-02-08 19:36:12 +01:00
c306e30219
writing: Add papis configuration 2023-02-08 19:36:04 +01:00
9f5bca4a62
sh: Move gopath to cache
Moved the location of the gopath environment variable to point to the
user's cache to it can be cleaned more easily when cleaning cache and
also does not litter the project directory.
2023-01-31 10:15:10 +01:00
989886a936
nvim: Replace slime et al with magma
So far, my repl integration consisted of vim-slime and vim-ipython-cell.
I am basically purely working in the python repl for now and while the
two plugins (together with tmux) *worked* they didn't work well enough
that I used them in an extensive way. Just as often as I could make use
of their productivity enhacements, I had to wrangle with the plugins
themselves to get what I wanted out of them.

Hence the switch to magma. It integrates more deeply into python, and
neovim both - showing cell outputs in floating windows and so on.

It does not, on its own, recognize e.g. jupyter cells or quarto code
cells, so I have set up some simple key binds to improve
inter-operability between those. Especially [r and ]r to jump between
quarto cells and <localleader>R to execute the contents of the cell the
cursor is currently in may be of interest. They are fairly crude and
probably have edge cases where they will not work but until then they
provide an easy quality of life improvement.

Lastly, I silently added a plugin for markdown previews (that also
scrolls with the editing cursor). I don't foresee myself using it *too*
often but it might come handy for smaller articles and writing. It can
be invoked with <localleader>mp - a binding which I will no doubt also
have to overhaul at some point.
2023-01-31 10:06:55 +01:00
d4bbf7b573
sh: Greatly simplify ssh agent configuration
Whereas before there was a giant script (which worked well enough)
looking for and activating necessary ssh agents, all of it has been
replaced with a single invocation of the gpg-agent - which I have turned
into an ssh-enabled agent through its configuration file.

That means, first: I can massively simplify the looking for ssh agents
and since I am using fixed credentials (private keys supplied through
ssh host configurations) for most servers anyway it should not disrupt
my workflow and, second: I can use my private gpg key to log in to
servers if I set it up correctly.
2023-01-31 10:02:44 +01:00
953fdaaf1e
iosevka: Fix font naming scheme update
New versions of Iosevka seem to not be callable simply through 'Iosevka'
as before but require the full 'Iosevka Nerd Font' terminus for my case
of having the archlinux nerdfont package for the font installed.

This commit fixes wrong fonts in wayland and the wezterm terminal as
well as a longer running issue in mpv so they all correctly display
Iosevka.
2023-01-19 18:29:34 +01:00
1bcab1d5e7
bootstrap: Add Dockerfile to stow ignored files
Dockerfile would accidentally get placed in the home directory instead
of being ignored like the rest of bootstrap files.
2023-01-16 22:25:35 +01:00
9cd5fe3f99
sh: Add simple sc-im alias
Added `sc` as alias for sc-im since typing the dash every time is
cumbersome.
2023-01-16 22:01:07 +01:00
c985841776
office: Add basic khard configuration
I am using card (in conjunction with my vdirsyncer setup) to quickly get
an overview of my contacts and use them for email sending. This adds a
very simple config to the repo which gets khard up and running.
2023-01-16 21:59:00 +01:00
50264c2eac
nvim: Format plugins file 2023-01-16 18:53:56 +01:00
565a356ea8
nvim: Add bibtex source to cmp autocompletion
Added simple bibtex source display: Will show the bibtex entries
existing in the bib file set through `bibliography: path/to/mine.bib`.
Shows author, title, date on hovering.
2023-01-16 18:52:48 +01:00
df724c20ba
bootstrap: Add testing Dockerfile to bootstrap
Added Dockerfile which sets up a simple archlinux test environment for
the dotfiles/bootstrap process/playing around.

Will simply build a simple archlinux machine with a single user.
2023-01-16 18:50:50 +01:00
1a05ea8445
bootstrap: Split packages into stable and testing lists
Split the lists into two, with testing getting automatically updated on
packages added (and removed, but only if the package to be removed is
*not* in stable packages already).

This way, I can always be sure that I have my stable setup in the
repository, but packages that I am temporarily testing have a place
without being forgotten and I can more easily change them around until
they find a place in stable or get thrown out.
2023-01-16 18:47:47 +01:00
d56d0148f6
bootstrap: Fix initial package installation to work 2023-01-16 18:42:42 +01:00
6a0745dedb
qutebrowser: Extend page redirection
Extended redirection using open source frontends for a variety of
services: youtube, reddit, lbry, twitter, google translate and more.
2023-01-16 17:36:14 +01:00
bf8d6fb8a3
scripts: Update README
Updated readme a little for the new, changed and remaining scripts in
the module.
2023-01-13 00:05:40 +01:00
d09584e690
scripts: Remove compile script
Never used the compile script for years now, and I neither see that
changing nor the files being of any use anymore. They were something I
whipped up when I first started getting into Linux and bash scripting
(and as such a little nostalgic I suppose) but nothing that has actual
purpose anymore.
2023-01-13 00:04:21 +01:00
0a867ee992
nvim: Add fix last spelling mistake mapping
Added a quick way to fix the last spelling mistake: Use <c-s> while
writing (in insert mode) or localleader-s while in normal mode.
It will fix the mistake and keep your cursor at the current position.
2023-01-12 23:00:44 +01:00
369345880d
taskwarrior: Extend active task listing alias
Extended active task listing to show both the active task from
taskwarrior, but also any currently 'tracking' task from timewarrior.

Ideally, those should be the same - but if they mismatch or timwarrrior
is not correctly tracking the active task, this is still good
information to have at a glance.
2023-01-12 22:55:18 +01:00
274cc8026a
sh: Add distrobox alias and enable displaying host
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)).
2023-01-10 16:55:25 +01:00
99a3c0d314
sh: Add conditionals to plugin loading 2023-01-10 15:37:45 +01:00
d3d13b3083
wezterm: Add url-opening to quickselect
Added new quickselect mode to quickly open a displayed url. Changed
original quickselect to use leader-f mapping (instead of shift+f) and
made new mode callable through the shift+f version.

from: https://github.com/wez/wezterm/issues/1362

Delegated scroll mode invocation to leader-b, as in original setup.
2023-01-10 13:57:23 +01:00
cb57e83540
river: Add ability to spawn floating terminal
Can spawn floating terminal with mapping: super+ctrl+return.
2023-01-10 13:49:31 +01:00
ab14c37aa7
vifm: Make compression mappings work in any mode 2023-01-10 00:15:04 +01:00
dac7e7deee
taskopen: Fix expansion using environment var 2023-01-10 00:14:40 +01:00
6cf34a5aee
beets: Add lyrics fetching 2023-01-10 00:14:00 +01:00
8912a09a39
scripts: Change nxsiv-rifle to uoeia
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
2023-01-08 21:05:16 +01:00
a0b3ed6c1f
LICENSE: Fast forward four years 2023-01-08 01:55:40 +01:00
de792cf742
mopidy: Extend scan timeout to 5 seconds 2023-01-08 01:54:52 +01:00
01445aa3ed
lockscreen: Update script for new waylock version 2023-01-07 16:46:09 +01:00
3dbc9f47d9
jrnl: Add to writing module
Added base configuration of my digital journaling tool of choice jrnl to
the writing package.
2023-01-07 16:25:50 +01:00
3514e0afb5
bat: Add simple configuration 2023-01-07 16:20:31 +01:00
9781b26b22
terminal: Create module to consolidate term utils
Terminal application, a variety of shell configurations, terminal file
and session management all consolidated in one place.
2023-01-07 16:11:40 +01:00
2e0c992a54
wayland: Consolidate with mako into desktop module
Since the existing wayland module basically describes everything about
my 'desktop environment' setup already anyway, might as well rename it
accordingly. Additionally, mako is important for notifications in this
environment so it moves here as well.
2023-01-07 16:06:00 +01:00
4c33a6da56
mpv: Move into multimedia module 2023-01-07 16:01:41 +01:00
5a1c779a0d
repo: Remove deprecated modules
Removed rofi (long-since not used), kitty (switched to wezterm) and
dunst (switched to mako) from the repository.
2023-01-07 15:57:05 +01:00
04c02fde72
writing: Consolidate into module
For now, contains bibtex and zathura options, though it will undoubtedly
increase as I add more writing utilities (such as jrnl) into the repo.
2023-01-07 15:56:03 +01:00
e9659a2829
bootstrap: Update package list 2023-01-07 15:27:17 +01:00
f975e5885e
wezterm: Add timeout to scrolling mode 2023-01-07 15:12:44 +01:00
e224f7f20a
kanshi: Update profiles and notify on change 2023-01-07 15:11:51 +01:00
56c9f66d72
river: Add experimental map to hide views
mod-Shift-M to switch to an always-unused tag for all connected outputs
to simply hide all application that can currently be seen. Would
probably be more useful with an option to reverse but that probably
requires a more extensive script to implement (perhaps using `lswt`?) so
this will be good enough for now.

I am not even entirely sure how much I will be using it.
2023-01-07 15:03:17 +01:00