{ config, pkgs, lib, ... }: with lib; let cfg = config.dadada.home.vim; vimPlugins = pkgs.callPackage ../../../pkgs/vimPlugins { }; in { options.dadada.home.vim = { enable = mkEnableOption "Enable VIM config"; }; config = mkIf cfg.enable { programs.vim = { enable = true; extraConfig = builtins.readFile ./vimrc; plugins = [ pkgs.vimPlugins.vim-nix #pkgs.vimPlugins.kotlin-vim pkgs.vimPlugins.ale pkgs.vimPlugins.fzf-vim pkgs.vimPlugins.rust-vim pkgs.vimPlugins.base16-vim pkgs.vimPlugins.typescript-vim pkgs.vimPlugins.vim-airline pkgs.vimPlugins.vim-airline-themes pkgs.vimPlugins.vim-fish pkgs.vimPlugins.vim-gitgutter vimPlugins.vim-buftabline vimPlugins.spacemacsTheme vimPlugins.filetype pkgs.vimPlugins.vim-ledger ]; }; home.packages = with pkgs; [ languagetool nixpkgs-fmt shellcheck perlPackages.PerlCritic texlab ]; }; }