dotfiles/nixos/home-manager/programs/vim.nix

101 lines
2.6 KiB
Nix

{ config, pkgs, lib, inputs, system, ... }:
let nil = inputs.nil.packages."${system}".default;
in {
home.file.".vimrc".source = ../../../.vimrc;
home.packages = with pkgs; [ ripgrep ];
programs.neovim = {
enable = true;
package =
inputs.nixpkgs-nixos-unstable.legacyPackages."${system}".neovim-unwrapped;
coc = {
enable = true;
package = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "coc.nvim";
version = "v0.0.82";
src = pkgs.fetchFromGitHub {
owner = "neoclide";
repo = "coc.nvim";
rev = "v0.0.82";
sha256 = "sha256-TIkx/Sp9jnRd+3jokab91S5Mb3JV8yyz3wy7+UAd0A0=";
};
meta.homepage = "https://github.com/neoclide/coc.nvim/";
};
settings = {
languageserver = {
nix = {
command = "${nil}/bin/nil";
rootPatterns = [ "flake.nix" ];
filetypes = [ "nix" ];
};
};
};
};
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
withNodeJs = true;
withPython3 = true;
withRuby = true;
plugins = with pkgs;
with pkgs.vimPlugins; [
(vimUtils.buildVimPluginFrom2Nix rec {
pname = "vim-tada";
version = "2022-04-22";
src = fetchFromGitHub {
owner = "dewyze";
repo = pname;
rev = "acfda7229fc487ee6da44650164cb770d1cc608c";
sha256 = "sha256-9kvLbzrVjtBTjbXmhJ7JTggXgFvGVF7sc2YiVW9fUGY=";
};
})
(vimUtils.buildVimPluginFrom2Nix rec {
pname = "srht.vim";
version = "2022-01-04";
src = fetchFromSourcehut {
owner = "~willdurand";
repo = pname;
rev = "825e685f75464cbd41a5f8eded974e46f416355e";
sha256 = "sha256-9/Yeqmq/1ZIIsEgsrLLZ7o0cjOt/wlUgeLEzJoK7eco=";
};
})
ack-vim
coc-go
coc-highlight
coc-rust-analyzer
coc-yaml
committia-vim
ctrlp-vim
editorconfig-vim
fzf-vim
lsp-colors-nvim
nvim-tree-lua
nvim-web-devicons
quickfix-reflector-vim
rainbow
tabular
vim-airline
vim-airline-themes
vim-autoformat
vim-colors-solarized
vim-devicons
vim-dirdiff
vim-dispatch
vim-fugitive
vim-gitgutter
vim-markdown
vim-nix
vim-sensible
vim-startify
vim-surround
vim-toml
];
extraConfig = ''
if filereadable($HOME . "/.vimrc")
source $HOME/.vimrc
endif
'';
};
}