Archived
Watch
1
0
Fork
You've already forked nixos
0

nvf config-ing

This commit is contained in:
asnev 2026-07-12 13:12:13 +07:00
commit 59d469574b
Signed by: asnev
SSH key fingerprint: SHA256:8hagYq9hDUuS5clQ78FKhIoQDvg5crdkYMHX+3g7wB4
2 changed files with 142 additions and 4 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
.directory
*.swp
result
result/

View file

@ -1,8 +1,145 @@
{ ... }: {
{
pkgs,
...
}: {
programs.nvf.enable = true;
programs.nvf.settings.vim = {
viAlias = false;
vimAlias = false;
lsp.enable = true;
enableMan = true;
viAlias = true;
vimAlias = true;
options = {
mouse = "a";
clipboard = "unnamedplus";
showmode = false;
breakindent = true;
undofile = true;
ignorecase = true;
smartcase = true;
updatetime = 250;
timeoutlen = 300;
splitright = true;
splitbelow = true;
signcolumn = "yes";
scrolloff = 8;
completeopt = "menuone,noselect";
termguicolors = true;
expandtab = true;
shiftwidth = 4;
tabstop = 4;
softtabstop = 4;
};
colorschemes.gruvbox = {
enable = true;
settings.contrast = "hard";
};
treesitter = {
enable = true;
ensureInstalled = [
"org"
"python"
"rust"
"c"
"cpp"
"lua"
"html"
"css"
"javascript"
"typescript"
"json"
"yaml"
"nix"
"bash"
"go"
"make"
"clojure"
"scheme"
"commonlisp"
];
};
rainbow-delimiters.enable = true;
orgmode.enable = true;
extraPlugins = with pkgs.vimPlugins; {
orgmode-babel = orgmode-babel-nvim;
};
luaConfigRC = {
org-babel = ''require("orgmode-babel").setup()'';
indent = ''
local two_space_ft = {
"html", "htmldjango", "css", "scss", "less",
"nix", "javascript", "typescript",
"javascriptreact", "typescriptreact",
"json", "jsonc", "yaml", "lua"
}
local four_space_ft = {
"python", "rust", "c", "cpp",
"java", "scala", "kotlin", "swift"
}
local tab_ft = {
"make", "go", "odin"
}
local indent_augroup = vim.api.nvim_create_augroup("IndentSettings", { clear = true })
vim.api.nvim_create_autocmd("FileType", {
group = indent_augroup,
pattern = two_space_ft,
callback = function()
vim.opt_local.expandtab = true
vim.opt_local.shiftwidth = 2
vim.opt_local.tabstop = 2
vim.opt_local.softtabstop = 2
end,
})
vim.api.nvim_create_autocmd("FileType", {
group = indent_augroup,
pattern = four_space_ft,
callback = function()
vim.opt_local.expandtab = true
vim.opt_local.shiftwidth = 4
vim.opt_local.tabstop = 4
vim.opt_local.softtabstop = 4
end,
})
vim.api.nvim_create_autocmd("FileType", {
group = indent_augroup,
pattern = tab_ft,
callback = function()
vim.opt_local.expandtab = false
vim.opt_local.shiftwidth = 0
vim.opt_local.tabstop = 8
vim.opt_local.softtabstop = 0
end,
})
'';
lisp-indent = ''
local lisp_ft = { "lisp", "scheme", "racket", "clojure" }
local lisp_augroup = vim.api.nvim_create_augroup("LispIndent", { clear = true })
vim.api.nvim_create_autocmd("FileType", {
group = lisp_augroup,
pattern = lisp_ft,
callback = function()
vim.opt_local.lisp = true
vim.opt_local.lispwords:append({
"defun", "defmacro", "defvar", "defparameter",
"lambda", "let", "let*", "flet", "labels",
"progn", "when", "unless", "if", "cond"
})
end,
})
'';
};
};
}