system/home/modules/editor.nix

105 lines
2.8 KiB
Nix
Raw Normal View History

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;
2023-01-08 23:21:06 +03:00
extraConfig = ''
aug extra_ftdetect
au!
au BufNewFile,BufRead *.d2 setfiletype d2
au BufNewFile,BufRead *.ncl setfiletype nickel
au BufNewFile,BufRead *.psql setfiletype psql
aug END
'';
2022-11-19 20:24:04 +03:00
plugins = with pkgs.myneovim.nix2lua; {
nvimTree.settings = {
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
};
2023-01-08 15:58:00 +03:00
telescope.settings = {
extensions.live_grep_args = {
auto_quoting = true;
mappings.i = {
"<C-K>" = mkLuaRaw "require('telescope-live-grep-args.actions').quote_prompt()";
};
};
};
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 = {
2023-01-08 15:26:27 +03:00
nickel_ls = { };
2022-11-19 20:24:04 +03:00
nil_ls = { };
tsserver = { };
eslint = { };
volar = {
init_options = {
typescript.tsdk = "./node_modules/typescript/lib";
};
};
2022-11-19 20:24:04 +03:00
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;
};
};
2023-05-24 10:37:36 +03:00
pylsp = {
plugins = {
pycodestyle = {
maxLineLength = 100;
};
};
};
2022-11-19 20:24:04 +03:00
};
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";
}