refactor: move home manager modules around

This commit is contained in:
Mohammad Rafiq 2025-03-27 02:00:31 +08:00
parent 5d9230d64f
commit e181c1c4f3
No known key found for this signature in database
38 changed files with 64 additions and 183 deletions

View file

@ -0,0 +1,69 @@
{ lib, ... }:
{
programs.nvf.settings.vim = {
autopairs.nvim-autopairs.enable = true;
snippets.luasnip = {
enable = true;
setupOpts.enable_autosnippets = true;
};
autocomplete = {
blink-cmp = {
enable = true;
friendly-snippets.enable = true;
setupOpts = {
enabled =
lib.generators.mkLuaInline
# lua
''
--- Disable completion for markdown
function()
return not vim.tbl_contains({"markdown"}, vim.bo.filetype)
and vim.bo.buftype ~= "prompt"
and vim.b.completion ~= false
end
'';
cmdline = {
enabled = true;
sources = null;
completion.menu.auto_show = false;
};
#completion.menu.auto_show =
# lib.generators.mkLuaInline
# # lua
# ''
# function(ctx)
# --- Get the cursor position from the current window
# local row, column = unpack(vim.api.nvim_win_get_cursor(0))
# --- Get the current row (1 is Neovim API giving us 1-based indexing)
# --- Get the current column but don't return negative numbers
# --- ignore_injections are to ignore embedded code
# --- success is the result, node is the syntax node object
# local success, node = pcall(vim.treesitter.get_node, {
# pos = {row - 1, math.max(0, column - 1)},
# ignore_injections = false
# })
# --- Types of nodes to ignore
# local reject = {"comment", "line_comment", "block_comment", "string_start", "string_content", "string_end" }
# --- If the node type is in the reject table, don't show the completion
# if success and node and vim.tbl_contains(reject, node:type()) then
# return false;
# end
# -- whatever other logic you want beyond this
# return true
# end
# '';
# menu.auto_show = false;
completion.documentation.auto_show_delay_ms = 0;
signature.enabled = true;
};
};
};
utility = {
motion = {
hop.enable = true; # <leader>h
precognition.enable = false;
};
yanky-nvim.enable = true;
};
};
}

View file

@ -0,0 +1,19 @@
{
programs.nvf.settings.vim.languages = {
# The below settings enable defaults for all languages
enableDAP = true;
enableExtraDiagnostics = true;
enableFormat = true;
enableLSP = true;
enableTreesitter = true;
# Enable specific languages
nix.enable = true;
nix.format.type = "nixfmt";
rust.enable = true;
clang.enable = true;
lua.enable = true;
python.enable = true;
css.enable = true;
};
}

52
users/programs/nvf/ui.nix Normal file
View file

@ -0,0 +1,52 @@
{
programs.nvf.settings.vim = {
lsp = {
formatOnSave = true;
lightbulb.enable = true;
lspkind.enable = true;
otter-nvim.enable = true;
trouble.enable = true;
};
binds = {
cheatsheet.enable = true;
whichKey.enable = true;
};
debugger.nvim-dap = {
enable = true;
ui.enable = true;
};
notes.todo-comments.enable = true;
telescope.enable = true;
statusline.lualine.enable = true;
treesitter = {
enable = true;
autotagHtml = true;
fold = true;
};
notify.nvim-notify.enable = true;
visuals = {
fidget-nvim.enable = true;
indent-blankline.enable = true;
rainbow-delimiters.enable = true;
nvim-web-devicons.enable = true;
tiny-devicons-auto-colors.enable = true;
};
ui = {
borders.enable = true;
breadcrumbs.enable = true;
breadcrumbs.navbuddy.enable = true;
colorizer.enable = true;
noice.enable = true;
nvim-ufo.enable = true;
};
utility = {
ccc.enable = true;
images.image-nvim = {
enable = true;
setupOpts.backend = "kitty";
};
yazi-nvim.enable = true;
yazi-nvim.setupOpts.open_for_directories = true; # FIXME: does this work with neotree?
};
};
}

View file

@ -0,0 +1,22 @@
{
programs.nvf.settings.vim = {
utility = {
direnv.enable = true;
nix-develop.enable = true;
leetcode-nvim = {
enable = true;
setupOpts = {
image_support = true; # requires image.nvim
lang = "rust";
};
};
mkdir.enable = true;
new-file-template = {
enable = true;
# add a directory containing lua/tempaltes/*.lua to vim.additionalRuntimePaths
# TODO: add for nix
};
};
session.nvim-session-manager.enable = true;
};
}