Replaced several plugins with snacks.nvim.
Added zk keybinds.
This commit is contained in:
parent
3bd72ab98f
commit
132d57fc3f
11 changed files with 216 additions and 525 deletions
45
README.md
45
README.md
|
|
@ -1,43 +1,4 @@
|
|||
# Example `nixCats` Configuration
|
||||
# Gabes `nixCats` Configuration
|
||||
|
||||
This directory contains an example of the suggested, idiomatic way to manage a neovim configuration using `nixCats`. It leverages [`lze`](https://github.com/BirdeeHub/lze) for lazy loading, although [`lz.n`](https://github.com/nvim-neorocks/lz.n) can be used instead to similar effect. It also includes a fallback mechanism using `paq` and `mason`, allowing you to load the directory without `nix` if needed.
|
||||
|
||||
This setup serves as a strong starting point for a `Neovim` configuration—think of it as `kickstart.nvim`, but using `nixCats` **instead of** `lazy.nvim` and `mason`, rather than in addition to them. It also follows a modular approach, spreading the configuration across multiple files rather than consolidating everything into one.
|
||||
|
||||
While this is not a "perfect" configuration, nor does it claim to be, it is **a well-structured, recommended way to use `nixCats`**. You are encouraged to customize it to fit your needs. `nixCats` itself is just the `nix`-based package manager, along with its associated [Lua plugin](https://nixcats.org/nixCats_plugin.html).
|
||||
|
||||
## Why Use This Approach?
|
||||
|
||||
Using `nixCats` in this way provides a **simpler, more transparent** experience compared to solutions like `lazy.nvim`, which hijack normal plugin loading.
|
||||
|
||||
It leverages the normal packpath methods of loading plugins both at startup and lazily, allowing you to know what is going on behind the scenes.
|
||||
|
||||
It avoids duplicating functionality between nix and other nvim based download managers, avoiding compatibility issues.
|
||||
|
||||
You can still have a config that works without nix using this method if desired without undue difficulty.
|
||||
|
||||
## Directory Structure
|
||||
|
||||
This configuration primarily uses the following directory structure:
|
||||
|
||||
- The `lua/` directory for core configurations.
|
||||
- The `after/plugin/` directory to demonstrate compatibility.
|
||||
|
||||
While this structure works well, you are encouraged to further modularize your setup by utilizing any of the runtime directories checked by Neovim:
|
||||
|
||||
- `ftplugin/` for file-type-specific configurations.
|
||||
- `plugin/` for global plugin configurations.
|
||||
- Even `pack/*/{start,opt}/` work if you want to make a plugin inside your configuration.
|
||||
- And so on...
|
||||
|
||||
If you are unfamiliar with the above, refer to the [Neovim runtime path documentation](https://neovim.io/doc/user/options.html#'rtp').
|
||||
|
||||
---
|
||||
|
||||
> "Idiomatic" here means:
|
||||
>
|
||||
> - This configuration does **not** use `lazy.nvim`, and does not use `mason.nvim` when nix is involved.
|
||||
> - `nixCats` is responsible for downloading all plugins.
|
||||
> - Plugins are only loaded if their respective category is enabled.
|
||||
> - The [Lua utilities template](https://github.com/BirdeeHub/nixCats-nvim/tree/main/templates/luaUtils/lua/nixCatsUtils) is used (see [`:h nixCats.luaUtils`](https://nixcats.org/nixCats_luaUtils.html)).
|
||||
> - [`lze`](https://github.com/BirdeeHub/lze) or [`lz.n`](https://github.com/nvim-neorocks/lz.n) is used for lazy loading.
|
||||
My preferred way of setting up neovim. This configuration has organically grown since 2016,
|
||||
originally as a vimscript config, then as a lua config, then as a nixvim config, and finally a nix/lua hybrid.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue