2023-03-21 10:37:27 +01:00
|
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
|
with lib.my;
|
2023-03-21 14:42:39 +01:00
|
|
|
|
|
|
|
|
let cfg = config.modules.editor.vim;
|
2023-03-21 10:37:27 +01:00
|
|
|
in {
|
2023-03-21 14:42:39 +01:00
|
|
|
options.modules.editor.vim = { enable = mkBoolOpt false; };
|
|
|
|
|
|
2023-03-21 10:37:27 +01:00
|
|
|
config = mkIf cfg.enable {
|
|
|
|
|
home-manager.users.${config.user.name} = {
|
|
|
|
|
programs.neovim = {
|
|
|
|
|
enable = true;
|
|
|
|
|
vimAlias = true;
|
|
|
|
|
plugins = with pkgs; [
|
|
|
|
|
vimPlugins.gruvbox-community
|
|
|
|
|
vimPlugins.vim-airline
|
|
|
|
|
vimPlugins.vim-airline-themes
|
|
|
|
|
vimPlugins.vim-gitgutter
|
|
|
|
|
vimPlugins.nerdtree
|
|
|
|
|
vimPlugins.nerdtree-git-plugin
|
|
|
|
|
vimPlugins.ctrlp-vim
|
|
|
|
|
vimPlugins.tabular
|
|
|
|
|
];
|
|
|
|
|
extraConfig = ''
|
|
|
|
|
let g:gruvbox_italic=1
|
|
|
|
|
colorscheme gruvbox
|
|
|
|
|
set background=dark
|
|
|
|
|
let g:airline_powerline_fonts = 1
|
|
|
|
|
autocmd VimEnter * hi Normal ctermbg=NONE guibg=NONE
|
|
|
|
|
|
|
|
|
|
"Toggle NERDTree with Ctrl-N
|
|
|
|
|
map <C-n> :NERDTreeToggle<CR>
|
|
|
|
|
|
|
|
|
|
"Show hidden files in NERDTree
|
|
|
|
|
let NERDTreeShowHidden=1
|
|
|
|
|
|
|
|
|
|
set number relativenumber
|
|
|
|
|
set ignorecase
|
|
|
|
|
|
|
|
|
|
vnoremap . :norm.<CR>
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|