nvf time!
This commit is contained in:
parent
216904f679
commit
86977f4ecf
57 changed files with 4076 additions and 217 deletions
8
modules/editors/nvf/plugins/settings/assistant.nix
Normal file
8
modules/editors/nvf/plugins/settings/assistant.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
assistant.copilot = {
|
||||
enable = true;
|
||||
cmp.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
16
modules/editors/nvf/plugins/settings/autocomplete.nix
Normal file
16
modules/editors/nvf/plugins/settings/autocomplete.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
autocomplete = {
|
||||
enable = true;
|
||||
type = "nvim-cmp";
|
||||
mappings = {
|
||||
# close = "<C-e>";
|
||||
confirm = "<C-y>";
|
||||
next = "<C-n>";
|
||||
previous = "<C-p>";
|
||||
scrollDocsDown = "<C-j>";
|
||||
scrollDocsUp = "<C-k>";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
5
modules/editors/nvf/plugins/settings/autopairs.nix
Normal file
5
modules/editors/nvf/plugins/settings/autopairs.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
autopairs.enable = true;
|
||||
};
|
||||
}
|
8
modules/editors/nvf/plugins/settings/binds.nix
Normal file
8
modules/editors/nvf/plugins/settings/binds.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
binds = {
|
||||
whichKey.enable = true;
|
||||
cheatsheet.enable = false;
|
||||
};
|
||||
};
|
||||
}
|
5
modules/editors/nvf/plugins/settings/comments.nix
Normal file
5
modules/editors/nvf/plugins/settings/comments.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
comments.comment-nvim.enable = true;
|
||||
};
|
||||
}
|
7
modules/editors/nvf/plugins/settings/dashboard.nix
Normal file
7
modules/editors/nvf/plugins/settings/dashboard.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
dashboard = {
|
||||
alpha.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
8
modules/editors/nvf/plugins/settings/debugger.nix
Normal file
8
modules/editors/nvf/plugins/settings/debugger.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
debugger.nvim-dap = {
|
||||
enable = true;
|
||||
ui.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
63
modules/editors/nvf/plugins/settings/filetree.nix
Normal file
63
modules/editors/nvf/plugins/settings/filetree.nix
Normal file
|
@ -0,0 +1,63 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
filetree = {
|
||||
nvimTree = {
|
||||
enable = true;
|
||||
openOnSetup = true;
|
||||
|
||||
mappings = {
|
||||
toggle = "<C-w>";
|
||||
};
|
||||
|
||||
setupOpts = {
|
||||
disable_netrw = true;
|
||||
update_focused_file.enable = true;
|
||||
|
||||
hijack_unnamed_buffer_when_opening = true;
|
||||
hijack_cursor = true;
|
||||
hijack_directories = {
|
||||
enable = true;
|
||||
auto_open = true;
|
||||
};
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
show_on_dirs = false;
|
||||
timeout = 500;
|
||||
};
|
||||
|
||||
view = {
|
||||
cursorline = false;
|
||||
width = 35;
|
||||
};
|
||||
|
||||
renderer = {
|
||||
indent_markers.enable = true;
|
||||
root_folder_label = false; # inconsistent
|
||||
|
||||
icons = {
|
||||
modified_placement = "after";
|
||||
git_placement = "after";
|
||||
show.git = true;
|
||||
show.modified = true;
|
||||
};
|
||||
};
|
||||
|
||||
diagnostics.enable = true;
|
||||
|
||||
modified = {
|
||||
enable = true;
|
||||
show_on_dirs = false;
|
||||
show_on_open_dirs = true;
|
||||
};
|
||||
|
||||
actions = {
|
||||
change_dir.enable = false;
|
||||
change_dir.global = false;
|
||||
open_file.window_picker.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
5
modules/editors/nvf/plugins/settings/gestures.nix
Normal file
5
modules/editors/nvf/plugins/settings/gestures.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
gestures.gesture-nvim.enable = false;
|
||||
};
|
||||
}
|
12
modules/editors/nvf/plugins/settings/git.nix
Normal file
12
modules/editors/nvf/plugins/settings/git.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
git = {
|
||||
enable = true;
|
||||
vim-fugitive.enable = true;
|
||||
gitsigns = {
|
||||
enable = true;
|
||||
codeActions.enable = false; # no.
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
59
modules/editors/nvf/plugins/settings/languages.nix
Normal file
59
modules/editors/nvf/plugins/settings/languages.nix
Normal file
|
@ -0,0 +1,59 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.neovim-flake.settings.vim = {
|
||||
languages = {
|
||||
enableLSP = true;
|
||||
enableFormat = true;
|
||||
enableTreesitter = true;
|
||||
enableExtraDiagnostics = true;
|
||||
|
||||
markdown.enable = true;
|
||||
nix.enable = true;
|
||||
html.enable = true;
|
||||
css.enable = true;
|
||||
tailwind.enable = true;
|
||||
ts.enable = true;
|
||||
go.enable = true;
|
||||
python.enable = true;
|
||||
bash.enable = true;
|
||||
typst.enable = true;
|
||||
zig.enable = true;
|
||||
dart.enable = false;
|
||||
elixir.enable = false;
|
||||
svelte.enable = false;
|
||||
sql.enable = false;
|
||||
java = let
|
||||
jdtlsCache = "${config.xdg.cacheHome}/jdtls";
|
||||
in {
|
||||
enable = true;
|
||||
lsp.package = [
|
||||
"${lib.getExe pkgs.jdt-language-server}"
|
||||
"-configuration ${jdtlsCache}/config"
|
||||
"-data ${jdtlsCache}/workspace"
|
||||
];
|
||||
};
|
||||
|
||||
lua = {
|
||||
enable = true;
|
||||
lsp.neodev.enable = true;
|
||||
};
|
||||
|
||||
rust = {
|
||||
enable = true;
|
||||
crates.enable = true;
|
||||
};
|
||||
|
||||
clang = {
|
||||
enable = true;
|
||||
lsp = {
|
||||
enable = true;
|
||||
server = "clangd";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
15
modules/editors/nvf/plugins/settings/lsp.nix
Normal file
15
modules/editors/nvf/plugins/settings/lsp.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
lsp = {
|
||||
formatOnSave = true;
|
||||
lspkind.enable = true;
|
||||
lsplines.enable = true;
|
||||
lightbulb.enable = true;
|
||||
lspsaga.enable = false;
|
||||
lspSignature.enable = true;
|
||||
nvimCodeActionMenu.enable = true;
|
||||
trouble.enable = false;
|
||||
nvim-docs-view.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
9
modules/editors/nvf/plugins/settings/minimap.nix
Normal file
9
modules/editors/nvf/plugins/settings/minimap.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
minimap = {
|
||||
# cool for vanity but practically useless on small screens
|
||||
minimap-vim.enable = false;
|
||||
codewindow.enable = false;
|
||||
};
|
||||
};
|
||||
}
|
9
modules/editors/nvf/plugins/settings/notes.nix
Normal file
9
modules/editors/nvf/plugins/settings/notes.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
notes = {
|
||||
todo-comments.enable = true;
|
||||
mind-nvim.enable = false;
|
||||
obsidian.enable = false;
|
||||
};
|
||||
};
|
||||
}
|
7
modules/editors/nvf/plugins/settings/notify.nix
Normal file
7
modules/editors/nvf/plugins/settings/notify.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
notify = {
|
||||
nvim-notify.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
5
modules/editors/nvf/plugins/settings/presence.nix
Normal file
5
modules/editors/nvf/plugins/settings/presence.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
presence.neocord.enable = false;
|
||||
};
|
||||
}
|
22
modules/editors/nvf/plugins/settings/projects.nix
Normal file
22
modules/editors/nvf/plugins/settings/projects.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
projects = {
|
||||
project-nvim = {
|
||||
enable = true;
|
||||
setupOpts = {
|
||||
manualMode = false;
|
||||
detectionMethods = ["lsp" "pattern"];
|
||||
patterns = [
|
||||
".git"
|
||||
".hg"
|
||||
"Makefile"
|
||||
"package.json"
|
||||
"index.*"
|
||||
".anchor"
|
||||
"flake.nix"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
8
modules/editors/nvf/plugins/settings/session.nix
Normal file
8
modules/editors/nvf/plugins/settings/session.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
session.nvim-session-manager = {
|
||||
enable = false;
|
||||
setupOpts.autoload_mode = "Disabled"; # misbehaves with dashboard
|
||||
};
|
||||
};
|
||||
}
|
10
modules/editors/nvf/plugins/settings/statusline.nix
Normal file
10
modules/editors/nvf/plugins/settings/statusline.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
statusline = {
|
||||
lualine = {
|
||||
enable = true;
|
||||
theme = "catppuccin";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
7
modules/editors/nvf/plugins/settings/tabline.nix
Normal file
7
modules/editors/nvf/plugins/settings/tabline.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
tabline = {
|
||||
nvimBufferline.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
5
modules/editors/nvf/plugins/settings/telescope.nix
Normal file
5
modules/editors/nvf/plugins/settings/telescope.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
telescope.enable = true;
|
||||
};
|
||||
}
|
4
modules/editors/nvf/plugins/settings/template.nix
Normal file
4
modules/editors/nvf/plugins/settings/template.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
};
|
||||
}
|
18
modules/editors/nvf/plugins/settings/terminal.nix
Normal file
18
modules/editors/nvf/plugins/settings/terminal.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
terminal = {
|
||||
toggleterm = {
|
||||
enable = true;
|
||||
mappings.open = "<C-t>";
|
||||
|
||||
setupOpts = {
|
||||
direction = "tab";
|
||||
lazygit = {
|
||||
enable = true;
|
||||
direction = "tab";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
10
modules/editors/nvf/plugins/settings/theme.nix
Normal file
10
modules/editors/nvf/plugins/settings/theme.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
theme = {
|
||||
enable = true;
|
||||
name = "catppuccin";
|
||||
style = "mocha";
|
||||
transparent = true;
|
||||
};
|
||||
};
|
||||
}
|
14
modules/editors/nvf/plugins/settings/treesitter.nix
Normal file
14
modules/editors/nvf/plugins/settings/treesitter.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{pkgs, ...}: {
|
||||
programs.neovim-flake.settings.vim = {
|
||||
treesitter = {
|
||||
fold = true;
|
||||
context.enable = false; # FIXME: currently broken, I do not know why.
|
||||
|
||||
# extra grammars that will be installed by Nix
|
||||
grammars = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [
|
||||
regex # for regexplainer
|
||||
kdl # zellij configurations are in KDL, I want syntax highlighting
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
34
modules/editors/nvf/plugins/settings/ui.nix
Normal file
34
modules/editors/nvf/plugins/settings/ui.nix
Normal file
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
ui = {
|
||||
noice.enable = true;
|
||||
colorizer.enable = true;
|
||||
modes-nvim.enable = false;
|
||||
illuminate.enable = true;
|
||||
|
||||
breadcrumbs = {
|
||||
enable = true;
|
||||
source = "nvim-navic";
|
||||
navbuddy.enable = false;
|
||||
};
|
||||
|
||||
smartcolumn = {
|
||||
enable = true;
|
||||
setupOpts = {
|
||||
columnAt.languages = {
|
||||
markdown = [80];
|
||||
nix = [150];
|
||||
ruby = 110;
|
||||
java = 120;
|
||||
go = [130];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
borders = {
|
||||
enable = true;
|
||||
globalStyle = "rounded";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
24
modules/editors/nvf/plugins/settings/utility.nix
Normal file
24
modules/editors/nvf/plugins/settings/utility.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{pkgs, ...}: {
|
||||
programs.neovim-flake.settings.vim = {
|
||||
utility = {
|
||||
ccc.enable = true;
|
||||
icon-picker.enable = true;
|
||||
diffview-nvim.enable = true;
|
||||
|
||||
vim-wakatime = {
|
||||
enable = true;
|
||||
cli-package = pkgs.wakatime-cli;
|
||||
};
|
||||
|
||||
motion = {
|
||||
hop.enable = true;
|
||||
leap.enable = false;
|
||||
};
|
||||
|
||||
preview = {
|
||||
glow.enable = true;
|
||||
markdownPreview.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
34
modules/editors/nvf/plugins/settings/visuals.nix
Normal file
34
modules/editors/nvf/plugins/settings/visuals.nix
Normal file
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
programs.neovim-flake.settings.vim = {
|
||||
visuals = {
|
||||
enable = true;
|
||||
nvimWebDevicons.enable = true;
|
||||
scrollBar.enable = true;
|
||||
smoothScroll.enable = false;
|
||||
cellularAutomaton.enable = false;
|
||||
highlight-undo.enable = true;
|
||||
|
||||
indentBlankline = {
|
||||
enable = true;
|
||||
fillChar = null;
|
||||
eolChar = null;
|
||||
scope.enabled = true;
|
||||
};
|
||||
|
||||
cursorline = {
|
||||
enable = true;
|
||||
lineTimeout = 0;
|
||||
};
|
||||
|
||||
fidget-nvim = {
|
||||
enable = true;
|
||||
setupOpts = {
|
||||
notification.window = {
|
||||
winblend = 0;
|
||||
border = "none";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue