A “minimal” neovim distribution, crafted with love, and focused on lisps
- Minimalism, both in terms of installed dependencies and plugins
- Favour vim/neovim built-ins over plugins
- Performance
- Configurable with Fennel
Backup yourexisting nvim config.
mv ~/.config/nvim{,.bak}
Backup existing nvim state.
mv ~/.local/share/nvim{,.bak}
mv ~/.local/state/nvim{,.bak}
mv ~/.cache/nvim{,.bak}
Clone this repo.
git clone [email protected]:markwoodhall/mimis.git ~/.config/nvim
Run the install script.
cd ~/.config/
./bin/mimis install
Run nvim.
nvim
Check out mimis help.
:help mimis
The entry point for configuring mimis is ./fnl/init.fnl
.
You can enable a selection of modules using the package
module. package.enable
is an init
function that will register plugins.
(package.enable
{;; Keymaps
:modules.whichkey []
:modules.keymaps []
;; Structure and syntax
:modules.paredit [:fennel :clojure]
:modules.treesitter [:fennel]
;; Language support
:modules.fennel []
;; Editor integrations
:modules.lsp [:fennel]
:modules.git []
:modules.telescope []
:modules.statusline []
:modules.colors []})
You can setup a selection of modules using package.setup
. package.setup
handles configuring
plugins once they have been registered.
(package.setup
{;; Keymaps
:modules.whichkey []
:modules.keymaps []
;; Language Support
:modules.fennel []
;; Editor integration
:modules.lsp
{:servers [:fennel_ls]
:completion-sources
{:fennel
[{:name "nvim_lsp" :keyword_length 2}
{:name "buffer" :keyword_length 2}]}}
:modules.git []
:modules.colors
{:theme :catppuccin
:post-setup (fn []
(vim.api.nvim_set_hl 0 "WinSeparator" {:fg "#1e1e2e" :bg "#1e1e2e"}))}
:modules.telescope [:lsp :projects :finder :git :buffers]
:modules.statusline {:lsp true :theme :catppuccin}
;; Structure and syntax
:modules.paredit []
:modules.treesitter [:fennel]
})