123 lines
2.4 KiB
Nix
123 lines
2.4 KiB
Nix
{ pkgs, ... }: {
|
|
programs.nixvim = {
|
|
enable = true;
|
|
#TODO floaterm
|
|
|
|
# test tool
|
|
plugins.neotest = {
|
|
enable = true;
|
|
};
|
|
|
|
# TODO nvim-lspconfig
|
|
|
|
# a snippet engine
|
|
plugins.luasnip = {
|
|
enable = true;
|
|
};
|
|
|
|
# TODO lsp_signature idk if it exists
|
|
#plugins.lsp_signature = {
|
|
# enable = true;
|
|
#};
|
|
|
|
|
|
# TODO gen.nvim not in nixvim
|
|
|
|
# highlites colors (like #FFF)
|
|
plugins.nvim-colorizer = {
|
|
enable = true;
|
|
};
|
|
|
|
# todo-comments
|
|
|
|
# TODO feline-nvim and theme for it
|
|
|
|
# inline git blame
|
|
plugins.gitsigns = {
|
|
enable = true;
|
|
settings = {
|
|
current_line_blame = true;
|
|
trouble = true;
|
|
};
|
|
};
|
|
|
|
# inline error display
|
|
plugins.trouble = {
|
|
enable = true;
|
|
};
|
|
|
|
#plugins.nvimtree.enable = true;
|
|
|
|
# when adding " or any letter the selected word gets wrapped in it
|
|
plugins.surround.enable = true;
|
|
|
|
# file explorer
|
|
plugins.chadtree = {
|
|
enable = true;
|
|
};
|
|
|
|
# a cool summary searcher
|
|
plugins.navbuddy.enable = true;
|
|
|
|
# language server
|
|
plugins.lsp = {
|
|
enable = true;
|
|
servers.rust-analyzer = {
|
|
enable = false;
|
|
# for devshells
|
|
installRustc = false;
|
|
installCargo = false;
|
|
};
|
|
};
|
|
|
|
# a completion engine using LSP
|
|
# TODO language detection
|
|
plugins.coq-nvim = {
|
|
enable = true;
|
|
installArtifacts = true;
|
|
settings.completion.always = true;
|
|
# TODO start with nvim
|
|
};
|
|
|
|
# languages
|
|
plugins.rustaceanvim.enable = true;
|
|
plugins.nix.enable = true;
|
|
|
|
keymaps = [
|
|
{
|
|
key = "<leader>v";
|
|
action = "<cmd>CHADopen --always-focus<cr>";
|
|
}
|
|
{
|
|
key = "<leader>e";
|
|
action = "<cmd>CHADopen<cr>";
|
|
}
|
|
];
|
|
|
|
opts = {
|
|
number = true;
|
|
relativenumber = true;
|
|
};
|
|
globals.mapleader = " ";
|
|
|
|
# TODO shades of purple colorscheme
|
|
extraPlugins = [ pkgs.vimPlugins.gruvbox ];
|
|
colorscheme = "gruvbox";
|
|
# extraPlugins = [
|
|
# pkgs.vimUtils.buildVimPlugin
|
|
# {
|
|
# pname = "shades-of-purple";
|
|
# version = "1.1.1";
|
|
# src = pkgs.fetchFromGitHub {
|
|
# owner = "Rigellute";
|
|
# repo = "shades-of-purple.vim";
|
|
# rev = "e806d38190a6a2e8b9244824c2953d6567f141f3";
|
|
# hash = "sha256-iiGASgVlIXnnUNBlp9viKgDBfHiOP5P/yJx9XyELT9g=";
|
|
# };
|
|
# buildScript = ":";
|
|
# }
|
|
# ];
|
|
|
|
};
|
|
}
|