119 lines
2.7 KiB
Nix
119 lines
2.7 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
inputs,
|
|
system,
|
|
...
|
|
}: let
|
|
unstablePackages = inputs.nixpkgs-nixos-unstable.legacyPackages."${system}";
|
|
nil = inputs.nil.packages."${system}".default;
|
|
cocPackage = unstablePackages.vimPlugins.coc-nvim;
|
|
nvimPackage = unstablePackages.neovim-unwrapped;
|
|
in {
|
|
home = {
|
|
file.".vimrc".source = ../../.vimrc;
|
|
packages = with pkgs; [ripgrep];
|
|
sessionVariables = {
|
|
EDITOR = "vim";
|
|
VISUAL = "vim";
|
|
};
|
|
};
|
|
|
|
programs.zsh.sessionVariables = {
|
|
EDITOR = "vim";
|
|
VISUAL = "vim";
|
|
};
|
|
systemd.user.sessionVariables = {
|
|
EDITOR = "vim";
|
|
VISUAL = "vim";
|
|
};
|
|
|
|
programs.neovim = {
|
|
enable = true;
|
|
package = nvimPackage;
|
|
coc = {
|
|
enable = true;
|
|
package = cocPackage;
|
|
settings = {
|
|
"suggest.noselect" = false;
|
|
"suggest.enablePreselect" = true;
|
|
"suggest.fixInsertedWord" = true;
|
|
"suggest.removeDuplicateItems" = true;
|
|
"suggest.virtualText" = true;
|
|
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.buildVimPlugin rec {
|
|
pname = "vim-tada";
|
|
version = "2022-04-22";
|
|
src = fetchFromGitHub {
|
|
owner = "dewyze";
|
|
repo = pname;
|
|
rev = "acfda7229fc487ee6da44650164cb770d1cc608c";
|
|
sha256 = "sha256-9kvLbzrVjtBTjbXmhJ7JTggXgFvGVF7sc2YiVW9fUGY=";
|
|
};
|
|
})
|
|
(vimUtils.buildVimPlugin 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
|
|
'';
|
|
};
|
|
}
|