https://github.com/abeldekat/nvim_pde
My personal development environment for Neovim based on MiniMax
https://github.com/abeldekat/nvim_pde
lua mini-nvim neovim neovim-config nvim-config pde
Last synced: 18 days ago
JSON representation
My personal development environment for Neovim based on MiniMax
- Host: GitHub
- URL: https://github.com/abeldekat/nvim_pde
- Owner: abeldekat
- License: apache-2.0
- Created: 2024-01-12T19:56:00.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2026-02-28T19:13:09.000Z (27 days ago)
- Last Synced: 2026-02-28T22:42:27.825Z (27 days ago)
- Topics: lua, mini-nvim, neovim, neovim-config, nvim-config, pde
- Language: Lua
- Homepage:
- Size: 1.5 MB
- Stars: 26
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Neovim pde


My _personal development environment_ for Neovim based on [MiniMax]
> [!NOTE]
> Tag [with_submodules] references the version containing `git submodules`,
> `lazy.nvim` and `mini.deps`
>
> Tag [with_lazynvim] references the version containing `lazy.nvim` and `mini.deps`
>
> Tag [without_minimax] references the version before switching to `minimax`
## Install
> Requirements: Neovim latest version or nightly. See [MiniMax requirements]
>
> Always review the code before trying a configuration.
Clone the repository:
```sh
git clone https://github.com/abeldekat/nvim_pde ~/.config/ak
```
Open Neovim and install the plugins:
```sh
NVIM_APPNAME=ak nvim
```
Remove the config:
```sh
rm -rf ~/.local/share/ak ~/.local/state/ak ~/.cache/ak
rm -rf ~/.config/ak
```
## Structure
See [MiniMax]. However, in case the `setup` of a plugin is customized,
the corresponding code will be contained in a dedicated lua module.
## Workflow
- Leader: `space`
- Main plugins: [mini.visits], [mini.files], [mini.pick], [mini.jump2d]
- Menu: [mini.clue]
- Keyboard: Halcyon Ferris, a split keyboard with 34 keys
### PickHinted
Pickers from [mini.pick] can display hints using internal module [akextra.pick_hinted]
### Kitty
- Custom [kitty-sessionizer]
- Kitty sessions at the top of the screen
- Most mappings use tmux bindings: `ctrl space`
- navigation:
- `kitty-sessionizer`: leader h
- existing sessions: leader k
- alternate session: leader j
- alternate tab: leader l
- switch window: leader o
### UI
- `mini.statusline`, no colors, except on:
- mode change
- diagnostics
- current buffer has current label (mini.visits)
- macro recording
- many color schemes
Change color schemes:
- on each startup, see [scripts], `vim_menu_owns`
- mini.pick, `leader f T`
- change the variant of the current theme using [leader o c]
Script `vim_menu_owns` writes to `lua.ak.colors`.
Ignoring changes to that file:
```sh
git update-index --assume-unchanged lua/ak/colors.lua
```
## Mini
Relevant discussions:
- [Visits tweaked to operate like `grapple` or `harpoon`](https://github.com/nvim-mini/mini.nvim/discussions/1158).
- [Augment pickers with labels and hotkeys](https://github.com/nvim-mini/mini.nvim/discussions/1109).
See internal module [akextra.pick_hinted]
- [Pick bufferlines with treesitter highlighting](https://github.com/nvim-mini/mini.nvim/discussions/988).
- [Apply tokyonight dev environment](https://github.com/nvim-mini/mini.nvim/discussions/1012).
- [Optimized jumping with jump2d](https://github.com/nvim-mini/mini.nvim/discussions/1033).
- [Beta testing mini.deps](https://github.com/nvim-mini/mini.nvim/issues/689#issuecomment-1962327624).
- [MiniNotify replacing fidget](https://github.com/nvim-mini/mini.nvim/discussions/1602).
- [MiniCompletion using blink fuzzy algorithm](https://github.com/nvim-mini/mini.nvim/discussions/1771).
- [Jump with second character from each spot](https://github.com/nvim-mini/mini.nvim/discussions/1860)
## Environment
[arch linux](https://archlinux.org/)
[awesome](https://github.com/abeldekat/awesome)
[kitty](https://github.com/abeldekat/kitty)
[zsh](https://github.com/abeldekat/zsh)
[scripts](https://github.com/abeldekat/scripts)
## Acknowledgements
This config is based on [MiniMax].
Additionally, code and ideas have been used from the following repositories:
- [nvim](https://github.com/echasnovski/nvim) `@echasnovski`
- [nvim](https://github.com/pkazmier/nvim) `@pkazmier`
- [mini.deps](https://github.com/nvim-mini/mini.deps)
- [LazyVim](https://github.com/LazyVim/LazyVim)
[scripts]: https://github.com/abeldekat/scripts
[kitty-sessionizer]: https://github.com/abeldekat/scripts/blob/main/kitty_sessionizer_owns
[leader o c]: plugin/29_colors.lua
[MiniMax]: https://github.com/nvim-mini/MiniMax
[MiniMax requirements]: https://github.com/nvim-mini/MiniMax?tab=readme-ov-file#software
[mini.files]: https://github.com/nvim-mini/mini.files
[mini.jump2d]: https://github.com/nvim-mini/mini.jump2d
[mini.pick]: https://github.com/nvim-mini/mini.pick
[mini.visits]: https://github.com/nvim-mini/mini.visits
[mini.clue]: https://github.com/nvim-mini/mini.clue
[akextra.pick_hinted]: lua/akextra/pick_hinted.lua
[with_submodules]: https://github.com/abeldekat/nvim_pde/tree/with_submodules
[with_lazynvim]: https://github.com/abeldekat/nvim_pde/tree/with_lazynvim
[without_minimax]: https://github.com/abeldekat/nvim_pde/tree/without_minimax