2022-10-12 01:41:32 +03:00
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
let
|
|
|
|
myneovim = pkgs.myneovim.override {
|
|
|
|
viAlias = true;
|
|
|
|
vimAlias = true;
|
|
|
|
enableDevIcons = true;
|
|
|
|
enableTabby = true;
|
2022-10-22 23:38:53 +03:00
|
|
|
enableOrgMode = true;
|
2022-12-01 10:47:59 +03:00
|
|
|
extraPlugins = [ pkgs.vimPlugins.d2-vim ];
|
2022-10-19 11:54:48 +03:00
|
|
|
grammarFileTypes = [
|
|
|
|
"nix"
|
|
|
|
"lua"
|
|
|
|
"bash"
|
|
|
|
"yaml"
|
|
|
|
"json"
|
|
|
|
"rust"
|
|
|
|
"haskell"
|
|
|
|
"typescript"
|
|
|
|
"javascript"
|
2022-10-22 23:36:56 +03:00
|
|
|
"python"
|
2022-11-08 11:41:47 +03:00
|
|
|
"sql"
|
2022-10-19 11:54:48 +03:00
|
|
|
"html"
|
|
|
|
"pug"
|
|
|
|
"ledger"
|
2022-10-22 23:38:53 +03:00
|
|
|
"org"
|
2022-10-19 11:54:48 +03:00
|
|
|
];
|
2022-11-19 20:24:04 +03:00
|
|
|
plugins = with pkgs.myneovim.nix2lua; {
|
|
|
|
nvimTree.settings = {
|
|
|
|
open_on_setup = true;
|
|
|
|
renderer = {
|
|
|
|
group_empty = true;
|
|
|
|
full_name = true;
|
|
|
|
};
|
2022-12-12 00:50:00 +03:00
|
|
|
tab.sync = {
|
|
|
|
open = true;
|
|
|
|
close = true;
|
|
|
|
};
|
2022-11-19 20:24:04 +03:00
|
|
|
};
|
|
|
|
lspSaga.settings = {
|
|
|
|
border_style = "rounded";
|
|
|
|
symbol_in_winbar.enable = false;
|
|
|
|
code_action_lightbulb.enable = false;
|
|
|
|
code_action_keys = { quit = "<Esc>"; };
|
|
|
|
definition_action_keys = { quit = "<Esc>"; };
|
|
|
|
rename_action_quit = "<C-c>";
|
|
|
|
};
|
|
|
|
lspConfig = {
|
|
|
|
servers = {
|
|
|
|
nil_ls = { };
|
|
|
|
tsserver = { };
|
|
|
|
eslint = { };
|
|
|
|
denols = {
|
|
|
|
root_dir = mkLuaRaw "root_pattern(\"deno.json\", \"deno.jsonc\")";
|
|
|
|
};
|
|
|
|
rust_analyzer = {
|
|
|
|
settings.rust-analyzer = {
|
|
|
|
"server.path" = "rust-analyzer";
|
|
|
|
"updates.prompt" = false;
|
|
|
|
"updates.checkOnStartup" = false;
|
|
|
|
"checkOnSave.enable" = true;
|
|
|
|
"checkOnSave.command" = "clippy";
|
|
|
|
"cargo.autoreload" = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2022-11-19 23:59:58 +03:00
|
|
|
};
|
|
|
|
lualine.settings = {
|
|
|
|
options.ignore_focus = [ "NvimTree" ];
|
|
|
|
sections = {
|
|
|
|
lualine_a = [
|
|
|
|
[ "filename" (mkNamedField "path" 1) ]
|
|
|
|
];
|
|
|
|
lualine_b = [ "branch" "diff" "diagnostics" ];
|
|
|
|
lualine_c = [ "lsp_progress" ];
|
|
|
|
lualine_x = [ "filesize" "filetype" ];
|
|
|
|
lualine_y = [ "progress" ];
|
|
|
|
lualine_z = [ "location" "mode" ];
|
2022-11-19 20:24:04 +03:00
|
|
|
};
|
|
|
|
};
|
2022-11-19 23:59:58 +03:00
|
|
|
orgmode.settings = {
|
|
|
|
org_agenda_files = [ "~/orgs/**/*" ];
|
|
|
|
org_default_notes_file = "~/orgs/refile.org";
|
|
|
|
win_split_mode = "tabnew";
|
|
|
|
org_hide_leading_stars = true;
|
|
|
|
};
|
2022-11-19 20:24:04 +03:00
|
|
|
};
|
2022-10-12 01:41:32 +03:00
|
|
|
};
|
|
|
|
in
|
|
|
|
{
|
|
|
|
home.packages = [ myneovim ];
|
|
|
|
|
|
|
|
home.sessionVariables.EDITOR = "nvim";
|
|
|
|
}
|