112 lines
2.4 KiB
Nix
112 lines
2.4 KiB
Nix
|
{pkgs, ...}: {
|
||
|
programs = {
|
||
|
nixvim = {
|
||
|
enable = true;
|
||
|
defaultEditor = true;
|
||
|
viAlias = true;
|
||
|
vimAlias = true;
|
||
|
|
||
|
extraPlugins = with pkgs.vimPlugins; [telescope-ui-select-nvim];
|
||
|
|
||
|
colorschemes.ayu = {
|
||
|
enable = true;
|
||
|
# mirage = true;
|
||
|
};
|
||
|
|
||
|
keymaps = [
|
||
|
{
|
||
|
key = "<c-p>";
|
||
|
action = "<cmd>Telescope fd<cr>";
|
||
|
}
|
||
|
];
|
||
|
|
||
|
plugins = {
|
||
|
lsp = {
|
||
|
enable = true;
|
||
|
onAttach = ''
|
||
|
vim.cmd [[autocmd BufWritePre <buffer> lua vim.lsp.buf.format { async = false }]]
|
||
|
'';
|
||
|
servers = {
|
||
|
gopls.enable = true;
|
||
|
nixd.enable = true;
|
||
|
};
|
||
|
};
|
||
|
lualine = {
|
||
|
enable = true;
|
||
|
iconsEnabled = true;
|
||
|
};
|
||
|
telescope = {
|
||
|
enable = true;
|
||
|
enabledExtensions = ["ui-select"];
|
||
|
extensionConfig.ui-select = {};
|
||
|
extensions.frecency.enable = true;
|
||
|
};
|
||
|
|
||
|
comment-nvim.enable = true;
|
||
|
treesitter.enable = true;
|
||
|
gitsigns.enable = true;
|
||
|
nix.enable = true;
|
||
|
nvim-autopairs.enable = true;
|
||
|
illuminate.enable = true;
|
||
|
};
|
||
|
|
||
|
# TODO: get rid of hacks
|
||
|
highlight = {
|
||
|
SignColumn.bg = "none";
|
||
|
GitSignsAdd.bg = "none";
|
||
|
GitSignsChange.bg = "none";
|
||
|
GitSignsDelete.bg = "none";
|
||
|
DiffAdd.bg = "none";
|
||
|
DiffChange.bg = "none";
|
||
|
DiffDelete.bg = "none";
|
||
|
};
|
||
|
|
||
|
options = {
|
||
|
# colorcolumn = "80";
|
||
|
# cursorline = true;
|
||
|
number = true;
|
||
|
numberwidth = 4;
|
||
|
relativenumber = true;
|
||
|
signcolumn = "number";
|
||
|
synmaxcol = 1024;
|
||
|
|
||
|
sidescrolloff = 8;
|
||
|
scrolloff = 8;
|
||
|
wrap = false;
|
||
|
|
||
|
autoindent = true;
|
||
|
smartindent = true;
|
||
|
|
||
|
splitbelow = true;
|
||
|
splitright = true;
|
||
|
|
||
|
expandtab = true;
|
||
|
shiftwidth = 4;
|
||
|
showtabline = 4;
|
||
|
softtabstop = 4;
|
||
|
tabstop = 4;
|
||
|
|
||
|
hlsearch = true;
|
||
|
ignorecase = true;
|
||
|
smartcase = true;
|
||
|
|
||
|
timeout = true;
|
||
|
timeoutlen = 500;
|
||
|
updatetime = 300;
|
||
|
ttimeoutlen = 10;
|
||
|
|
||
|
backup = false;
|
||
|
swapfile = false;
|
||
|
|
||
|
clipboard = "unnamedplus";
|
||
|
mouse = "a";
|
||
|
|
||
|
showmode = false;
|
||
|
pumheight = 10;
|
||
|
background = "dark";
|
||
|
# termguicolors = true;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|