2023-05-09 17:43:25 +02:00
|
|
|
{ config, lib, nixpkgs, home-manager, ... }: {
|
|
|
|
imports = [ home-manager.nixosModule ];
|
|
|
|
home-manager.users.user = { pkgs, ... }: {
|
|
|
|
programs.neovim = {
|
|
|
|
enable = true;
|
2023-05-10 03:13:31 +02:00
|
|
|
extraConfig = ''
|
|
|
|
set undofile
|
|
|
|
set spell
|
|
|
|
'';
|
2023-05-09 17:43:25 +02:00
|
|
|
plugins = with pkgs.vimPlugins; [
|
|
|
|
{
|
|
|
|
plugin = nvim-tree-lua;
|
|
|
|
type = "lua";
|
|
|
|
config = ''
|
|
|
|
require("nvim-tree").setup()
|
|
|
|
'';
|
|
|
|
}
|
|
|
|
{
|
|
|
|
plugin = indent-blankline-nvim;
|
|
|
|
type = "lua";
|
|
|
|
config = ''
|
2023-05-09 20:08:27 +02:00
|
|
|
require("indent_blankline").setup()
|
2023-05-09 17:43:25 +02:00
|
|
|
'';
|
|
|
|
}
|
2023-05-09 20:08:27 +02:00
|
|
|
{
|
|
|
|
plugin = barbar-nvim;
|
|
|
|
type = "lua";
|
2023-05-10 03:13:31 +02:00
|
|
|
config = ''
|
|
|
|
vim.g.barbar_auto_setup = false
|
|
|
|
require'barbar'.setup {
|
|
|
|
auto_hide = true,
|
|
|
|
sidebar_filetypes = {
|
|
|
|
NvimTree = true,
|
|
|
|
},
|
|
|
|
}
|
|
|
|
'';
|
2023-05-09 20:08:27 +02:00
|
|
|
}
|
|
|
|
{
|
|
|
|
plugin = gitsigns-nvim;
|
|
|
|
type = "lua";
|
|
|
|
config = ''
|
|
|
|
require('gitsigns').setup()
|
|
|
|
'';
|
|
|
|
}
|
|
|
|
{
|
|
|
|
plugin = nvim-web-devicons;
|
|
|
|
type = "lua";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
plugin = autoclose-nvim;
|
|
|
|
type = "lua";
|
|
|
|
config = ''require("autoclose").setup()'';
|
|
|
|
}
|
|
|
|
{
|
|
|
|
plugin = nvim-scrollbar;
|
|
|
|
type = "lua";
|
|
|
|
config = ''require("scrollbar").setup()'';
|
|
|
|
}
|
|
|
|
{
|
|
|
|
plugin = nvim-base16;
|
|
|
|
type = "lua";
|
2023-05-10 17:31:57 +02:00
|
|
|
config = "vim.cmd('colorscheme base16-monokai')";
|
2023-05-09 20:08:27 +02:00
|
|
|
}
|
|
|
|
{
|
|
|
|
plugin = lualine-nvim;
|
|
|
|
type = "lua";
|
|
|
|
config = "require('lualine').setup()";
|
|
|
|
}
|
2023-05-10 03:13:31 +02:00
|
|
|
{
|
|
|
|
plugin = nvim-cursorline;
|
|
|
|
type = "lua";
|
|
|
|
config = ''
|
|
|
|
require('nvim-cursorline').setup {
|
|
|
|
cursorline = {
|
2023-05-10 05:43:37 +02:00
|
|
|
enable = false,
|
2023-05-10 03:13:31 +02:00
|
|
|
},
|
|
|
|
cursorword = {
|
|
|
|
enable = true,
|
|
|
|
min_length = 3,
|
|
|
|
hl = { underline = true },
|
|
|
|
}
|
|
|
|
}
|
|
|
|
'';
|
|
|
|
}
|
|
|
|
{
|
|
|
|
plugin = comment-nvim;
|
|
|
|
type = "lua";
|
|
|
|
config = ''require('Comment').setup()'';
|
|
|
|
}
|
|
|
|
{
|
|
|
|
plugin = plenary-nvim;
|
|
|
|
type = "lua";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
plugin = telescope-nvim;
|
|
|
|
type = "lua";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
plugin = clipboard-image-nvim;
|
|
|
|
type = "lua";
|
|
|
|
}
|
2023-05-09 17:43:25 +02:00
|
|
|
];
|
|
|
|
};
|
2023-05-09 20:08:27 +02:00
|
|
|
editorconfig = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
"*" = {
|
|
|
|
charset = "utf-8";
|
|
|
|
end_of_line = "lf";
|
|
|
|
insert_final_newline = true;
|
|
|
|
indent_size = 2;
|
|
|
|
indent_style = "space";
|
|
|
|
trim_trailing_whitespace = true;
|
|
|
|
};
|
|
|
|
"*.md" = { indent_style = "tab"; };
|
|
|
|
"Makefile" = {
|
|
|
|
indent_style = "tab";
|
|
|
|
indent_size = 4;
|
|
|
|
};
|
|
|
|
"*.html" = {
|
|
|
|
indent_style = "tab";
|
|
|
|
indent_size = 4;
|
|
|
|
};
|
|
|
|
"*.go" = {
|
|
|
|
indent_style = "tab";
|
|
|
|
indent_size = 4;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-05-09 17:43:25 +02:00
|
|
|
};
|
|
|
|
}
|