Commit graph

1614 commits

Author SHA1 Message Date
b0aabf719a
nvim: Add lsp references preview window
Add 'glances.nvim' plugin which shows the LSP references, definitions and
implementations in a very nice floating preview window. (Previously we
used Telescope which is still called if the glances plugin does not
exist.)

Can preview, scroll in the floating window, go to the destination, open
the destination in vert/horiz splits.
2024-03-01 10:36:16 +01:00
fcaaba9e8d
nvim: Improve auto spellfix mapping
If the cursor was on the very first letter of a word it would fix
the misspelled word instead - now it should stay and fix the
current word under cursor instead.
2024-03-01 10:33:36 +01:00
69da2610f4
qutebrowser: Add oss redirect for askubuntu 2024-02-24 09:42:30 +01:00
da8a9a02f9
nvim: Update spellfile 2024-02-24 09:13:39 +01:00
8f71703a4a
ncmpcpp: Hide unnecessary library info
Hide the years that ncpmpcpp always adds to the library albums, and
don't split them by date. Also importantly use 'album_artist' to
sort the corresponding artists instead of just 'artist' since beets
will often sort the individual acting artist for the latter, pulling
apart single songs from larger albums.
Lastly, add a 'data_fetching_delay' (of I believe 250ms) when quickly
scrolling through the artist/album list so it goes a little smoother
when loading data from remote sources.
2024-02-24 09:13:02 +01:00
6c6b01a822
river: Add shortcut to open papis library items
Added 'Mod+Shift+L' as shortcut to open the associated file of a
papis library item. May make more sense in a dedicated river
mode but for now is good enough to get an overview of papis items
and open them if needed. Could also probably use an equivalent
of 'open edit file' and 'open note if exists' but again -
let's see how much I use it first.

Takes a second to open with my library size.
2024-02-24 09:10:37 +01:00
ffededb995
river: Fix wallpaper screen order
Since reorganizing my screens we have to switch the output
order of wallpapers. Would be really useful to be able to
talk to `swww` like kanshi with the full screen ID instead
of just the output number for wallpaper setting.
2024-02-24 09:08:44 +01:00
572f7b29a4
nvim: Switch lightspeed to flash
Flash.nvim provides a very tasty remote editing functionality which lightspeed
does not. Otherwise it behaves *mostly* the same. For now, I have the flash
search label functionality activated (default) but if it is annoying I will
turn it off (It injects labels into the normal neovim search. So if you search
a word and want to go directly there, you just press the label key as part
of the search and it jumps there. This might be problematic if I quickly type
something that does not exist but it picks up a non-existent letter as label
instead.)

Otherwise, the remote editing functionality is activated by
<operator>r<label><movement>, such as `yr<label>iw` to yank inside a word
somewhere else and stay at the current position. Similarly for example
`cr<label>$` to change from the label to the end of the line and then jump
back to the original position and so on.
2024-02-18 11:14:37 +01:00
4c5d18d7e4
nvim: Change lualine design
Slightly adapt lualine to not have arrow section/component dividers,
but simple slanted lines. Gets rid of a tiny bit of noise while still
clearly subdividing the sections for me which I need.

Also, removed displaying the hostname. I know which host I am on
generally, and rarely make use of it so it's just unnecessary info
for me.
2024-02-18 10:24:46 +01: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
0c7ad09789
nvim: Move mini configuration into core plugin file
Since I would like to keep my plugin configurations as modular as possible
I think it is a good first step to move the mini configuration directly
into the core plugin file where mini is loaded. Since this is the plugin
spec I want to take to basically any nvim installation I have, having it
in a single file makes it much easier to be portable.
2024-02-15 09:02:39 +01:00
7c37baa565
nvim: Move toggleterm out of core plugins
Toggleterm, as nice as it is, is not one of my core dependencies.
I do not 'need' toggleterm on every nvim installation I have. Instead,
it can go into ui-related plugins since that is what it does, extend
nvim's UI functionality with new terminal dropdowns/floats.
2024-02-15 08:53:55 +01:00
9fb1f958e6
nvim: Remove fixed term sigwinch timer 2024-02-15 08:52:14 +01:00
1d0f47f2e8
flavours: Check for nvim plugin existence in template
Checks that mini.base16 plugin exists before executing its setup,
and checks that lualine exists before executing its setup.
2024-02-15 08:47:50 +01:00
1d70d0c649
nvim: Switch starter screen recent files order
First show recent files of the current directory, then follow up with
general recent files.
2024-02-10 14:14:17 +01:00
89ea7e9cf2
nvim: Switch to mini operators plugin
Removed vim-exchange which, while an amazing functionality, is also
exactly replicated in mini.nvim (along with even more operators).

Uses slightly different mapping - not `cx<movement>` anymore but
`gx<movement>`. But this actually makes sense and fits in well with
my other g-prefixed operators (`gc` for comment and `ga` for align).

It is also the prefix for the other additional operators supplied
by mini.operators: `gs` for sorting text, `gm` for multiplying,
`gr` for replacing, `g=` for evaluating.
2024-02-10 14:07:07 +01:00
044eedea32
neomutt: Add ics to calendar by printing it
By invoking 'print' for ics files from neomutt we can simply
add it to our local calendar directly from the interface.
Neat little 'cheat' to provide custom functions for specific
file types.
2024-02-10 13:41:30 +01:00
b47043d42b
papis: Fix mark opener setting name 2024-02-10 13:40:18 +01:00
7e65c42001
nvim: Update plugins 2024-02-10 13:39:44 +01:00
683cd64b26
nvim: Lazy load editing plugins after entering insert 2024-02-10 13:37:14 +01:00
7e3377d60d
nvim: Update spellfile 2024-02-10 13:36:42 +01:00
cf153808a2
nvim: Switch to mini base16 plugin
Since we already have the mini library installed in our setup, we don't
need to make use of external base16 plugins. It provides the same exact
functionality, and seems slim and bug-free. Nothing changes for the
user, but we have 1 plugin less to take care of (and it was
mis-behaving in new versions anyway).

Also set lualine to be reloaded on theme switch so it takes on the
colorscheme as well.
2024-02-10 13:27:37 +01:00
fbceea242d
nvim: Fully switch to zk-nvim
Removed my own plugin in favor of zk-nvim integration.
2024-02-07 22:29:48 +01:00
8512bbf2cf
nvim: Add existing zettel link insertion mappings
Added mapping to insert a link to an existing Zettel with
`<localleader>ni` (note insert), either from normal mode which creates
the complete link, or from visual selection mode which surrounds the
current selection (as visible link text) with the link.

New zettel links still use my own implementation so I have full control
over their naming scheme.
2024-02-05 15:44:07 +01:00
22b70a0639
nvim: Enter notes dir when calling zettel index
When switching the current buffer to the Zettelkasten index page
(`<leader>ni`), we now also switch the working directory to the
corresponding notes directory.
2024-02-05 15:07:22 +01:00
20b9d432ac
qutebrowser: Use farside for dynamic redirects
The redirector can now be fed with either a list of targets to pick from
(as before) or a "farside" entry which points to a farside service
redirect or multiple.

The dict entry then looks like:

```python
"quora": {
    "source": ["quora.com"],
    "farside": ["quetre"],
}
```

It has the source service url as usual, but then instead of a "target"
entry contains a "farside" entry.

A redirect dict entry can take both "target" and "farside" entries, but
will then always give precedence to farside choices.

This should go a long way in helping keep OSS frontends up to date. It
now mostly depends on farside entries in turn being updated.
One potential concern is the new centralization in relying on farside as
the redirect authority.
2024-02-05 12:16:09 +01:00
a91f553f58
task: Add git-sync script hook
Synchronizes a git repository for the taskwarrior data directory,
automatically committing any changes after each command; and pushing and
pulling on syncing taskwarrior.
2024-02-04 21:26:13 +01:00
b0c5176f1e
git: Add git-bug quick access aliases 2024-02-04 21:25:36 +01:00
2fa52d6b90
repo: Add booster installation to stable packages 2024-01-18 10:28:34 +01:00
f7a4dedfb8
vifm: Fix video thumbnail preview 2024-01-18 10:25:17 +01:00
32bf7d1f38
nvim: Update packages 2024-01-18 10:25:00 +01:00
d468a62a42
jrnl: Use plus symbol for tags
Mirroring the taskwarrior setup, we use `+something` for tags, not the
`@something` which (I think?) is the default.
2024-01-11 18:01:51 +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
ba56e6f546
nvim: Add ft detection for dvc files
Added ftdetect folder for files from dvc.
2024-01-11 17:59:46 +01:00
2f69b955d2
git: Fix deprecated subsection config syntax
Apparently marking subsections like `[section.subsection]` (toml-like)
is deprecated in the configuration. This commit fixes this by using the
recommended `[section "subsection"]` syntax.

See: https://git-scm.com/docs/git-config#_syntax
2024-01-11 17:41:11 +01:00
506b6cb2f6
nvim: Update plugins and spellfile 2023-12-30 21:33:21 +01:00
d10db1be7d
taskwarrior: Fix taskopen script
Fixed taskopen script not opening the correct numbered task
when passed one (either on the command line with `to <id>`
or through taskwarrior with `t <id> open`).
Now it does directly open the correct note.
2023-12-30 21:33:20 +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
8e3ef257d3
nvim: Create global option to disable linting
Setting `vim.g.disable_autoformat` to true will disable automatic linting globally,
though I have not set up commands or mappings for manual linting. It is also
missing buffer-local linting which could be copied from buffer-local formatting.
2023-12-30 21:33:16 +01:00
c977bfea06
nvim: Simplify linter loading function 2023-12-30 21:33:15 +01:00
a5fee8959f
nvim: Move base16 functionality to plugin config
Moved loading and setting up file watching to the loading of the plugin itself.
Will make it a little more self-contained and not crash or complain if we are
missing the plugin.

HACK
At the same time, reverted back to pinned base16 commit since the new one did
not work again. Gotta figure it out at some point but no time now.
2023-12-30 21:33:14 +01:00
df10d40510
nvim: Remove reliance on lspconfig for python path
Localize the path joining function to the utility module.
2023-12-30 21:33:11 +01:00
49f6a0ef58
nvim: Refactor plugin mappings to loading code 2023-12-12 23:24:16 +01:00
8aec761a20
git: Fix diff dark light setting automation 2023-12-12 16:35:55 +01:00
747e9bc2f5
repo: Turn mail account files into templates
Since we have extracted changes into private repository, change the files
containing them into templates so they do not get overwritten by branch
changes.
2023-12-12 16:32:00 +01:00
ca7d43ba51
nvim: Update plugins and lazy loading 2023-12-12 15:43:44 +01:00
116cbe79be
nvim: Refactor lualine configuration
Configure in its lazy loading file to not have an extra file flying around.
2023-12-12 15:11:14 +01:00