{ pkgs, lib, config, ... }: { config = { programs.nixvim = { autoCmd = [ # Turn off relativenumber only for insert mode { event = "InsertEnter"; pattern = "*"; command = "set norelativenumber"; } { event = "InsertLeave"; pattern = "*"; command = "set relativenumber"; } ]; extraConfigLua = builtins.readFile ./feline.lua; extraPlugins = with pkgs.vimPlugins; [ nvim-scrollview # Scroll bar # Status line feline-nvim # Customizable status line. # TODO Abandonned. Maybe use lualine? ]; keymaps = [ # barbar { key = ""; action = "BufferPrevious"; options = { silent = true; }; } { key = ""; action = "BufferNext"; options = { silent = true; }; } # TODO https://www.reddit.com/r/neovim/comments/mbj8m5/how_to_setup_ctrlshiftkey_mappings_in_neovim_and/ { key = ""; action = "BufferMovePrevious"; options = { silent = true; }; } { key = ""; action = "BufferMoveNext"; options = { silent = true; }; } # TODO gotos don't work { key = ""; action = "BufferGoto 1"; options = { silent = true; }; } { key = ""; action = "BufferGoto 2"; options = { silent = true; }; } { key = ""; action = "BufferGoto 3"; options = { silent = true; }; } { key = ""; action = "BufferGoto 4"; options = { silent = true; }; } { key = ""; action = "BufferGoto 5"; options = { silent = true; }; } { key = ""; action = "BufferGoto 6"; options = { silent = true; }; } { key = ""; action = "BufferGoto 7"; options = { silent = true; }; } { key = ""; action = "BufferGoto 8"; options = { silent = true; }; } { key = ""; action = "BufferGoto 9"; options = { silent = true; }; } { key = ""; action = "BufferLast"; options = { silent = true; }; } { key = "gb"; action = "BufferPick"; options = { silent = true; }; } # TODO Other useful options? ]; options = { title = true; number = true; relativenumber = true; }; plugins = { # Tabline barbar.enable = true; }; }; }; }