Added a vim config and put everything in my prefered indentation style.
This commit is contained in:
87
modules/home/vim.nix
Executable file
87
modules/home/vim.nix
Executable file
@@ -0,0 +1,87 @@
|
||||
{ pkgs, lib, nixvim, ... }:
|
||||
{
|
||||
imports = [ /*inputs.nixvim.nixosModules.nixvim*/ ];
|
||||
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
enableMan = true;
|
||||
|
||||
globals.mapleader = "`";
|
||||
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
|
||||
opts = {
|
||||
tabstop = 4;
|
||||
softtabstop = 0;
|
||||
shiftwidth = 4;
|
||||
expandtab = false;
|
||||
autoindent = true;
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
ignorecase = true;
|
||||
smartcase = true;
|
||||
};
|
||||
|
||||
plugins.lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
rust_analyzer = {
|
||||
enable = true;
|
||||
installCargo = false;
|
||||
installRustc = false;
|
||||
};
|
||||
nixd = {
|
||||
enable = true;
|
||||
# settings.formatting.command = [ "alejandra" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
plugins.treesitter = {
|
||||
enable = true;
|
||||
nixvimInjections = true;
|
||||
# ensure_installed = "all";
|
||||
settings = {
|
||||
highlight = {
|
||||
enable = true;
|
||||
disable = [ "org" ];
|
||||
};
|
||||
};
|
||||
grammarPackages = pkgs.vimPlugins.nvim-treesitter.allGrammars;
|
||||
};
|
||||
extraPlugins = with pkgs.vimPlugins; [
|
||||
orgmode
|
||||
vim-nix
|
||||
];
|
||||
|
||||
extraConfigLua = ''
|
||||
-- Tree-sitter configuration
|
||||
require'nvim-treesitter.configs'.setup {
|
||||
-- If TS highlights are not enabled at all, or disabled via ``disable`` prop, highlighting will fallback to default Vim syntax highlighting
|
||||
highlight = {
|
||||
-- enable = true,
|
||||
-- disable = {'org'}, -- Remove this to use TS highlighter for some of the highlights (Experimental)
|
||||
additional_vim_regex_highlighting = {'org'}, -- Required since TS highlighter doesn't support all syntax features (conceal)
|
||||
},
|
||||
-- ensure_installed = {'org'}, -- Or run :TSUpdate org
|
||||
}
|
||||
|
||||
require('orgmode').setup({
|
||||
org_agenda_files = {'~/Org/Agenda/agenda.org', '~/Public/Org/Agenda/agenda.org'},
|
||||
org_default_notes_file = '~/Dropbox/org/refile.org',
|
||||
})
|
||||
'';
|
||||
|
||||
extraConfigVim = ''
|
||||
filetype indent off
|
||||
set noexpandtab
|
||||
set list
|
||||
set listchars=tab:▸\ ,trail:·
|
||||
autocmd FileType nix setlocal noexpandtab tabstop=4 shiftwidth=4 softtabstop=0
|
||||
'';
|
||||
|
||||
#colorschemes.base16.enable = true;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user