{ pkgs, lib, ... }: let nixvim = import (builtins.fetchGit { url = "https://github.com/nix-community/nixvim"; ref = "nixos-23.05"; }); in { imports = [ nixvim.homeManagerModules.nixvim ]; programs.nixvim = { enable = true; colorschemes.base16 = { # FIXME Dynamic... or use stylix enable = true; colorscheme = "solarized-light"; }; plugins = { # Catches attention when cursor changed position # TODO Unmapped, do I still want to use it? specs = { enable = true; min_jump = 5; }; # Tabline barbar.enable = true; }; extraPlugins = with pkgs.vimPlugins; [ nvim-scrollview ]; # 23.11: Use keymaps, seems better maps = { # barbar normal."" = { action = "BufferPrevious"; silent = true; }; normal."" = { action = "BufferNext"; silent = true; }; # TODO https://www.reddit.com/r/neovim/comments/mbj8m5/how_to_setup_ctrlshiftkey_mappings_in_neovim_and/ normal."" = { action = "BufferMovePrevious"; silent = true; }; normal."" = { action = "BufferMoveNext"; silent = true; }; # TODO gotos don't work normal."" = { action = "BufferGoto 1"; silent = true; }; normal."" = { action = "BufferGoto 2"; silent = true; }; normal."" = { action = "BufferGoto 3"; silent = true; }; normal."" = { action = "BufferGoto 4"; silent = true; }; normal."" = { action = "BufferGoto 5"; silent = true; }; normal."" = { action = "BufferGoto 6"; silent = true; }; normal."" = { action = "BufferGoto 7"; silent = true; }; normal."" = { action = "BufferGoto 8"; silent = true; }; normal."" = { action = "BufferGoto 9"; silent = true; }; normal."" = { action = "BufferLast"; silent = true; }; normal."gb" = { action = "BufferPick"; silent = true; }; # TODO Other useful options? }; }; }