Skip to content

A minimal neovim distribution, crafted with love, and focused on lisps

License

Notifications You must be signed in to change notification settings

markwoodhall/mimis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mimis

A “minimal” neovim distribution, crafted with love, and focused on lisps

Goals

  1. Minimalism, both in terms of installed dependencies and plugins
  2. Favour vim/neovim built-ins over plugins
  3. Performance
  4. Configurable with Fennel

Installation

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

Configuration

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]
   })

About

A minimal neovim distribution, crafted with love, and focused on lisps

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published