nix/home-manager/common/software/cli/nixvim.nix
2024-02-08 14:26:53 +09:00

91 lines
No EOL
2.6 KiB
Nix

{ inputs, pkgs, config, lib, ... }: {
imports = [
inputs.nixvim.homeManagerModules.nixvim
];
programs.nixvim = {
enable = true;
viAlias = true;
vimAlias = true;
globals.mapleader = " ";
globals.maplocalleader = " ";
options = {
number = true;
shiftwidth = 2;
# Indent wrapped text.
breakindent = true;
colorcolumn = "100";
# This is the default value. `:help cot` to see the available options.
completeopt = "menu,preview";
cursorline = true;
};
plugins = {
treesitter.enable = true;
lualine.enable = true;
luasnip.enable = true;
nix.enable = true;
nix-develop.enable = true;
bufferline.enable = true;
chadtree.enable = true;
which-key.enable = true;
neo-tree.enable = true;
gitsigns.enable = true;
toggleterm.enable = true;
rainbow-delimiters.enable = true;
startify.enable = true;
telescope = {
enable = true;
extensions = {
ui-select.enable = true;
frecency.enable = true;
};
};
lsp = {
enable = true;
servers = {
rust-analyzer = {
enable = true;
installCargo = true;
installRustc = true;
};
nixd.enable = true;
pylsp.enable = true;
html.enable = true;
cssls.enable = true;
bashls.enable = true;
};
};
nvim-cmp = {
enable = true;
autoEnableSources = true;
sources = [
{ name = "nvim_lsp"; }
{ name = "path"; }
{ name = "buffer"; }
];
};
};
# TODO: Add this to stylix configs
colorscheme = lib.mkForce "everforest";
colorschemes = {
tokyonight.enable = true;
gruvbox.enable = true;
oxocarbon.enable = true;
nord.enable = true;
catppuccin.enable = true;
base16.enable = true;
kanagawa.enable = true;
dracula.enable = true;
};
extraPlugins = with pkgs.vimPlugins; [
everforest
];
};
}