Commit graph

1641 commits

Author SHA1 Message Date
b57f895093
nvim: Disable line length diagnostic for md files
By default disable the line length for any markdown file. I never use it
and I always turn it off. If I need it for a specific project I can
still figure out how to make the configuration override this.
2024-12-01 15:22:01 +01:00
73f9322a96
nvim: Render markdown todo active and deleted state
Additionally to the default states:

- [ ] new/empty entry
- [x] completed entry

we render two more:

- [-] active entry
- [_] deleted/not applicable entry
2024-11-22 21:18:22 +01:00
75a32b2a54
nvim: Fix deprecated typescript lsp mason name 2024-11-22 21:16:39 +01:00
c14710aa98
vcs: Fix writing module structure 2024-09-19 11:18:54 +02:00
fee876b87f
vcs: Fix jj program structure 2024-09-19 11:04:54 +02:00
f6b1c5ff2e
vcs: Fix git program structure 2024-09-19 11:03:36 +02:00
98bfbca738
nvim: Change nvim tree to neotree plugin 2024-09-19 10:39:23 +02:00
11d6a08bcc
vcs: Set default diff editor
Using neovim 'hunk.nvim' plugin
2024-09-19 10:07:32 +02:00
bfb4fadee0
vcs: Add aliases for jj 2024-09-19 10:07:04 +02:00
bcd93eb237
vcs: Restructure vcs module
Just like writing and qutebrowser modules, restructured the version
control software module to make more use of dotter's ability to
precisely link files. All contained programs have a top-level directory
and all the files that correspond to that specific software lie beneath
in the directory tree.
2024-09-18 17:38:44 +02:00
0b6f0c235d
vcs: Add jujutsu config file 2024-09-18 17:28:13 +02:00
4aec6b9ba3
vcs: Rename from git to support multiple vcs 2024-09-18 17:25:12 +02:00
1cce1a9a38
writing: Remove bib-due scripts and update README
Removed the left-over bib-due scripts. They were neat and fun when I
wrote them but they are not useful for me anymore. Additionally they are
very brittle and I do not want to deal with fixing or updating them.
2024-09-18 16:49:48 +02:00
85c152a07c
writing: Restructure module layout per-program
Similarly to the qutebrowser module we change the layout to have a
program name at the top-level and all required files for that specific
program within, whether they reside within .config, .local or anywhere
else.
We use dotter mappings to achieve this.
2024-09-18 16:43:15 +02:00
0903e7e443
writing: Remove pubs configuration
I have not used pubs (the reference management software) for year(s) now
and there is little chance I will in the near future. This removes the
leftover configuration.
2024-09-18 16:41:49 +02:00
b4edfe36e6
git: Add lazygit lg alias 2024-09-18 16:25:01 +02:00
15415ab7fa
papis: Add fediverse library
Individual sub-libraries should probably really be created in a dynamic
python configuration file, but for now we just add it manually.
2024-09-18 16:23:47 +02:00
5dff1db3db
river: Add monocle mapping if running filtile layout
When using filtile layout it also gives the option of using 'monocle'
mode which is similar to fullscreen in that it only shows one window at
a time (which also occupies the full screen, except for the statusbar)
but you can cycle between the windows shown as you would usually between
the different views in a tag. You can imagine the windows 'stacked' on
top of each other and cycling which one is on top or on the bottom.

Toggled with `Mod+Shift+F`, shifting up from fullscreen mode.

TODO: Ideally, it would be accompanied by an indicator in the statusbar
but I have no time to create one currently. Without one, it is sometimes
hard to remember that other windows exist on the tag after a while.
2024-09-16 20:33:17 +02:00
19bafa910e
river: Improve floating mode mappings
Simplify the system of mappings in floating:

- HJKL for moving a floating window around.
- C-HJKL for quickly snapping to screen edges (as before)
- Mod-HJKL for resizing the floating window.
- Mod-Shift-HJKL for changing the tag's setting:
  - HL to change size ratio of main/side pane
  - JK to change amount of windows in main pane
2024-09-16 20:29:55 +02:00
1cc47ac7df
river: Add passhthrough mode to disable river keys
`super+F11` enters passthrough mode (displayed on waybar) which disables
all normal keybinds that river listens to and - surprise - passes them
through to whatever application is running. The same binding exits the
mode.
2024-09-16 20:11:56 +02:00
290ddbf5a8
nvim: Format lua files 2024-09-15 22:14:38 +02:00
2ac6842720
sh: Add make-and-enter directory function
`mcd` will, similarly to `md` create a directory and all the necessary
top-level directories but, unlike `md`, afterwards also enter the
created directory for the current shell.
2024-09-15 22:13:55 +02:00
45e1a8bb2f
nvim: Update plugins 2024-09-15 22:12:21 +02:00
f15a64c121
nvim: Extract statusline plugin into separate file
Extract lualine into its own 'statusline.lua' plugin file. This makes
the ui plugin file a little more lean but also prepares the way of
tinkering with statusline alternatives, like heirline.
2024-09-15 22:11:20 +02:00
03f18bea3a
nvim: Simplify prose filetype grouping
Simply have a markdown-like group and a org-like group for the plugins
that only target those specific prose modes.
2024-09-15 22:09:58 +02:00
65d5ac12ef
nvim: Load mini files earlier
Since sometimes it is necessary to have correct access to the files
functionality earlier than was possible with the old lazy loading this
instead loads it at program start as well.
2024-09-15 22:09:18 +02:00
44c3361c10
nvim: Add golang and typst LSP and formatters 2024-09-15 22:08:23 +02:00
0d41481763
river: Fix filter rules for new version
Riverwm changed the way filters are applied at some point, this fixes
the applied rules (for floating and client side decoration windows).
2024-09-15 22:06:46 +02:00
ff7adb859b
nvim: Move undotree to pickers plugins 2024-08-15 18:37:37 +02:00
56951911f6
nvim: Check trouble before adding telescope maps
Check that the trouble plugin exists before adding its maps to the
telescope buffer. Should probably go into trouble setup instead but
works as a quick safeguard for now.
2024-08-15 09:40:47 +02:00
ec791fda5f
nvim: Move next/prev spell error to z Z keys
From [s ]s [S ]S, we move all to [z ]z [Z ]Z.
2024-08-15 09:33:59 +02:00
787c0b0fc4
nvim: Deprecate buffer-option settings group for switches
Remove `<localleader>s` 'set' group of mappings (setting buffer wrapping
mode, setting colorizing) and replace it with explicit on/off mappings
via [o<setting> and ]o<setting>.

Wrapping can be set to soft with `[ow`, hard with `]ow`.
Colorizer can be disabled with `[oc`, enabled with `]oc`.
Colorizer can highlight virtual text with `[oC`, highlight background
with `]oC`.
2024-08-15 08:53:30 +02:00
b574ba5947
nvim: Rename core plugin spec to base.lua
This should make it hopefully still clear that they are expected plugins
for the configuration while also delineating it from the 'core' module
which bootstraps lazy and sets fundamental options and so on.
2024-08-15 08:29:40 +02:00
f8625f35f0
nvim: Only load plugin spec if plugin files exist
Before we load the lazy spec from the 'lua/plugins' directory, we check
that the directory exists and contains at least one .lua file. We do not
check that the file returns a valid spec but that is just assumed in
this case.
2024-08-15 08:26:38 +02:00
3e369ee31e
nvim: Refactor completion plugins
Begin a larger refactor with nvim-cmp, which separates out the different
nvim-cmp modules to be loaded at different times and for different files
(such as beancount completion on loaded for beancount files and so on).
This is by no means complete but the start of a larger overhaul process.
2024-08-14 23:12:55 +02:00
7723f43a5b
nvim: Add grug rg find and replace picking plugin 2024-08-14 23:11:49 +02:00
86dfc5ecbc
nvim: Lazy load most mini.nvim modules
Except for mini.starter which we need right at the - well - start, we
can lazy load most other modules. It's a little awkward since we lazy
load them *within* the setup function with a manual autocommand but it
should work fine for the time being.
2024-08-14 23:11:02 +02:00
b2e0621d12
wezterm: Decouple toggleterm plugin from ui module
For now lives in a 'terminal.lua' module instead.
2024-08-14 12:03:23 +02: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
bec8f4e2e7
nvim: Unify file browsers and telescope as pickers
Since they are all used for file picking (among editing and creating)
I'll just have them run under pickers for now. If the name turns out to
be confusing or not descriptive anymore I can still change it at any
time.
2024-08-13 13:47:10 +02:00
18f12f9068
nvim: Improve markdown rendering
Remove redundant conceallevel fix (not required for quarto files
anymore), add additional filetype injections and do not highlight
codeblocks as much (no sign colum entry, bg not over whole doc width).
2024-08-13 13:19:56 +02:00
bd29839910
qutebrowser: Fix visual selection errors, typehints 2024-08-12 21:26:29 +02:00
9750e943b9
nvim: Update plugins 2024-08-12 21:25:41 +02:00
ca0e08fab5
nvim: Fix python venv utility function 2024-08-12 21:25:31 +02:00
bfbe4c36cd
nvim: Update dial version and changed key maps
Changed maps to increment on <C-S> (instead of the usual <C-A>) and
decrement on the typical <C-X>. This makes it work much better with
wezterm leader key (<C-A>) and as far as I can see does not directly
clash with any other binds.
2024-08-12 21:16:50 +02:00
d4727a3402
nvim: Fix newly linted errors 2024-08-12 21:16:49 +02:00
61d34e49c7
nvim: Switch to lazydev lua lsp setup
Much easier lua development setup.
2024-08-12 21:16:48 +02:00
4be3a42ffa
nvim: Simplify formatter loading
Since we use Mason to automatically install any formatter we need, there
is (currently) no need for the more complicated logic of deciding
between multiple formatters (since the one we prefer should always be
available). This also fixes an issue that we can set 'prettier' specific
options in conform.nvim but those do not apply to 'prettierd' the same
way - we now just use prettier and ignore prettierd.
2024-08-12 19:45:11 +02:00
be842ce622
nvim: Simplify molten statusline function
Instead of doing all kinds of security checks beforehand, we simply wrap
the molten kernel check into a lua protected call and return an empty
result if we would error. We only return the symbol if we don't error
and we have an active kernel.
2024-08-12 19:45:10 +02:00