mirror of
https://github.com/itme-brain/nixos.git
synced 2026-03-24 00:29:43 -04:00
84 lines
2 KiB
Nix
84 lines
2 KiB
Nix
{ pkgs, lib, config, ... }:
|
|
|
|
with lib;
|
|
let cfg = config.modules.neovim;
|
|
|
|
github-theme = pkgs.vimUtils.buildVimPlugin {
|
|
name = "github-theme";
|
|
src = pkgs.fetchFromGithub {
|
|
owner = "projekt0n";
|
|
repo = "github-nvim-theme";
|
|
rev = "62b7b54a90c70c20cd1641f9facfced46bdd3561";
|
|
sha256 = "0cwr3b5r2ac7aizxmwb3mlhdc2sh0pw670vcwps79x9jp52yrj2y";
|
|
};
|
|
};
|
|
in {
|
|
options.modules.neovim = { enable = mkEnableOption "neovim"; };
|
|
config = mkIf cfg.enable {
|
|
|
|
home.file.".config/nvim" = {
|
|
source = ./nvim;
|
|
recursive = true;
|
|
};
|
|
|
|
programs.neovim = {
|
|
enable = true;
|
|
viAlias = true;
|
|
vimAlias = true;
|
|
|
|
plugins = with pkgs.vimPlugins; [
|
|
|
|
{
|
|
plugin = github-theme;
|
|
config = ''
|
|
lua << EOF
|
|
vim.cmd('colorscheme github_dark_high_contrast')
|
|
EOF
|
|
'';
|
|
}
|
|
|
|
lazygit.nvim
|
|
{
|
|
plugin = LazyVim;
|
|
config = ''
|
|
lua << EOF
|
|
return {
|
|
{'williamboman/mason.nvim', enabled = false },
|
|
{'nvim-treesitter/nvim-treesitter', enabled = false },
|
|
}
|
|
EOF
|
|
'';
|
|
}
|
|
|
|
{
|
|
plugin = lsp-zero-nvim;
|
|
config = ''
|
|
lua << EOF
|
|
branch = 'v2.x'
|
|
requires = {
|
|
{'neovim/nvim-lspconfig'},
|
|
{'hrsh7th/nvim-cmp'},
|
|
{'hrsh7th/cmp-nvim-lsp'},
|
|
{'L3MON4D3/LuaSnip'},
|
|
}
|
|
'';
|
|
}
|
|
|
|
{
|
|
plugin = nvim-treesitter.withAllGrammars
|
|
config = ''
|
|
lua << EOF
|
|
|
|
EOF
|
|
'';
|
|
}
|
|
];
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
nil nixfmt
|
|
sumneko-lua-language-server stylua
|
|
haskell-language-server hlint
|
|
];
|
|
};
|
|
}
|