Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
f05549b
flake: remove nixvim nixpkgs follows, track nixos-unstable
May 19, 2026
5dca170
flake: update lockfile to latest upstreams
May 19, 2026
786b588
fix: update copilot-lua options to snake_case for NixVim compat
May 19, 2026
e88e66c
fix: remove copilot_node_command, use NixVim defaults
May 19, 2026
092030d
fix(nixvim): update plugin options for nixvim flake update
May 19, 2026
bf22c11
refactor: rename codeium-vim to windsurf-vim per NixVim upstream
May 19, 2026
db108f8
feat: enable mini.icons alongside web-devicons for NixVim compat
May 19, 2026
3c411ef
chore: remove disabled lsp-format dead code
May 19, 2026
88396c1
docs: add redundancy note to plenary.nix
May 19, 2026
36942cb
refactor: migrate dressing-nvim to native plugins.dressing module
May 19, 2026
de03bff
refactor: modernize staline.nix plugin installation
May 19, 2026
6b172e3
refactor: modernize sidebar.nix plugin installation
May 19, 2026
a24dc60
refactor: modernize ultimate-autopair.nix plugin installation
May 19, 2026
d410a8e
fix: remove orphaned config function wrapper in lualine extraConfigLua
May 19, 2026
8b8fbc8
fix: replace hardcoded store paths in jdtls.nix with package references
May 19, 2026
ca4620e
fix: correct mini.icons module path to mini.modules.icons
May 19, 2026
7d2cef4
feat: add wrapped package with Lua runtimepath fix for Neovim 0.12
May 19, 2026
9a9dbf7
fix: lazy.nvim rtp reset breaks neocord autoload
May 19, 2026
82af393
fix: migrate lualine.nix harpoon API from v1 to v2 (harpoon2)
May 19, 2026
49f5a30
fix: replace deprecated vim.lsp.with() with handler wrappers
May 19, 2026
64bbd2d
fix: pre-create .local/share/nvim in test derivation for Neovim 0.12
May 19, 2026
7dc5812
fix: add neocord to lazy.nvim managed plugins, remove spec workaround
May 19, 2026
22da833
feat: add extraPackages with CLI tools and Nerd Font dependency
May 19, 2026
6d991d7
docs: add HEALTH.md with allowed checkhealth exceptions
May 19, 2026
426d410
docs: add 5 remaining checkhealth warnings to HEALTH.md
May 19, 2026
423f4b2
fix: replace deprecated nixfmt-rfc-style with nixfmt
May 19, 2026
b392773
chore: add .gitignore to prevent result symlink tracking
May 19, 2026
d5702b1
feat(utils): replace markdown-preview.nvim with peek.nvim
jee-mj May 26, 2026
dc89d76
pin current nix packages
jee-mj May 26, 2026
8a2bd42
fix(lazy): re-enable loadplugins so plugin/ commands register
redyf Jun 6, 2026
f94dc30
remove(comment): unnecessary comment
redyf Jun 6, 2026
3ffcd2a
chore(flake): unpin inputs, restore nixpkgs follows, drop wrapped pac…
redyf Jun 6, 2026
50bd00b
docs: remove HEALTH.md
redyf Jun 6, 2026
dec8853
feat(markdown-preview): add markdown-preview with peek.nvim
redyf Jun 6, 2026
e9df1d6
refactor(ui): drop redundant mini.icons from web-devicons module
redyf Jun 6, 2026
14c7fcd
remove(sidebar.nvim): It's been archived for a while now
redyf Jun 6, 2026
db72fd6
refactor(config): trim unused tools from extraPackages
redyf Jun 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Nix build symlink
result
12 changes: 0 additions & 12 deletions config/completion/codeium.nix

This file was deleted.

75 changes: 38 additions & 37 deletions config/completion/copilot.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,47 +6,48 @@
config = lib.mkIf config.copilot.enable {
plugins.copilot-lua = {
enable = true;
panel = {
enabled = false;
autoRefresh = true;
keymap = {
jumpPrev = "[[";
jumpNext = "]]";
accept = "<CR>";
refresh = "gr";
open = "<M-CR>";
settings = {
panel = {
enabled = false;
auto_refresh = true;
keymap = {
jump_prev = "[[";
jump_next = "]]";
accept = "<CR>";
refresh = "gr";
open = "<M-CR>";
};
layout = {
position = "bottom"; # | top | left | right
ratio = 0.4;
};
};
layout = {
position = "bottom"; # | top | left | right
ratio = 0.4;
suggestion = {
enabled = false;
auto_trigger = true;
debounce = 75;
keymap = {
accept = "<M-l>";
accept_word = false;
accept_line = false;
next = "<M-]>";
prev = "<M-[>";
dismiss = "<C-]>";
};
};
};
suggestion = {
enabled = false;
autoTrigger = true;
debounce = 75;
keymap = {
accept = "<M-l>";
acceptWord = false;
acceptLine = false;
next = "<M-]>";
prev = "<M-[>";
dismiss = "<C-]>";
filetypes = {
yaml = false;
markdown = false;
help = false;
gitcommit = false;
gitrebase = false;
hgcommit = false;
svn = false;
cvs = false;
"." = false;
};
};
filetypes = {
yaml = false;
markdown = false;
help = false;
gitcommit = false;
gitrebase = false;
hgcommit = false;
svn = false;
cvs = false;
"." = false;
};
copilotNodeCommand = "node"; # Node.js version must be > 18.x
serverOptsOverrides = { };
# copilot_node_command and server_opts_overrides use NixVim defaults ("node" and {})
};
};
}
4 changes: 2 additions & 2 deletions config/completion/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
{
imports = [
./cmp.nix
./codeium.nix
./windsurf.nix
./copilot.nix
./lspkind.nix
];
Expand All @@ -16,7 +16,7 @@
};
config = lib.mkIf config.completion.enable {
cmp.enable = lib.mkDefault true;
codeium.enable = lib.mkDefault false;
windsurf.enable = lib.mkDefault false;
copilot.enable = lib.mkDefault false;
lspkind.enable = lib.mkDefault true;
};
Expand Down
11 changes: 11 additions & 0 deletions config/completion/windsurf.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{ lib, config, ... }:
{
options = {
windsurf.enable = lib.mkEnableOption "Enable windsurf module";
};
config = lib.mkIf config.windsurf.enable {
plugins.windsurf-vim = {
enable = true;
};
};
}
14 changes: 13 additions & 1 deletion config/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
{ lib, config, ... }:
{
lib,
config,
pkgs,
...
}:
{
extraPackages = with pkgs; [
fd
nixfmt
stylua
prettierd
];

# Import all your configuration modules here
imports = [
./bufferlines
Expand Down
72 changes: 4 additions & 68 deletions config/languages/jdtls.nix
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
{ lib, config, ... }:
let
javaTestPath = "/nix/store/j3nvmhvj2pmnykw5pbm51dn0bz4cv6j3-vscode-extension-vscjava-vscode-java-test-0.38.2023032402/share/vscode/extensions/vscjava.vscode-java-test/server/com.microsoft.java.test.plugin-0.38.2.jar
";
in
{ lib, config, pkgs, ... }:
{
options = {
jdtls.enable = lib.mkEnableOption "Enable jdtls module";
Expand All @@ -12,77 +8,17 @@ in
enable = true;
settings = {
cmd = [
"/nix/store/l7wd7xjnz95yxv225kix5gbq8k3vm7fl-jdt-language-server-1.48.0/bin/jdtls --data ~/.cache/jdtls/workspace"
"${pkgs.jdt-language-server}/bin/jdtls"
"--data"
"~/.cache/jdtls/workspace"
];
# configuration = "/path/to/configuration";
settings = {
java = {
signatureHelp = true;
completion = true;
};
};
initOptions = {
bundles = [
"/nix/store/b9ib40q36wxjl4xs5lng263lflz1fsi7-vscode-extension-vscjava-vscode-java-debug-0.49.2023032407/share/vscode/extensions/vscjava.vscode-java-debug/server/com.microsoft.java.debug.plugin-0.44.0.jar"
"${javaTestPath}"
];
};
};
};
};
}
#
# extraConfigLua = ''
# local jdtls = require("jdtls")
# local cmp_nvim_lsp = require("cmp_nvim_lsp")
#
# local root_dir = require("jdtls.setup").find_root({ "packageInfo" }, "Config")
# local home = os.getenv("HOME")
# local eclipse_workspace = home .. "/.local/share/eclipse/" .. vim.fn.fnamemodify(root_dir, ":p:h:t")
#
# local ws_folders_jdtls = {}
# if root_dir then
# local file = io.open(root_dir .. "/.bemol/ws_root_folders")
# if file then
# for line in file:lines() do
# table.insert(ws_folders_jdtls, "file://" .. line)
# end
# file:close()
# end
# end
#
# -- for completions
# local client_capabilities = vim.lsp.protocol.make_client_capabilities()
# local capabilities = cmp_nvim_lsp.default_capabilities(client_capabilities)
#
# local config = {
# capabilities = capabilities,
# cmd = {
# "${pkgs.jdt-language-server}/bin/jdt-language-server",
# "--jvm-arg=-javaagent:" .. home .. "/Developer/lombok.jar",
# "-data",
# eclipse_workspace,
# "--add-modules=ALL-SYSTEM",
# },
# root_dir = root_dir,
# init_options = {
# workspaceFolders = ws_folders_jdtls,
# },
# settings = {
# java = {
# signatureHelp = { enabled = true},
# completion = { enabled = true },
# },
# },
# on_attach = function(client, bufnr)
# local opts = { silent = true, buffer = bufnr }
# vim.keymap.set('n', "<leader>lo", jdtls.organize_imports, { desc = 'Organize imports', buffer = bufnr })
# vim.keymap.set('n', "<leader>df", jdtls.test_class, opts)
# vim.keymap.set('n', "<leader>dn", jdtls.test_nearest_method, opts)
# vim.keymap.set('n', '<leader>rv', jdtls.extract_variable_all, { desc = 'Extract variable', buffer = bufnr })
# vim.keymap.set('n', '<leader>rc', jdtls.extract_constant, { desc = 'Extract constant', buffer = bufnr })
# end
# }
#
# jdtls.start_or_attach(config)
# '';
84 changes: 43 additions & 41 deletions config/languages/treesitter-nvim.nix
Original file line number Diff line number Diff line change
Expand Up @@ -61,49 +61,51 @@

plugins.treesitter-textobjects = {
enable = true;
select = {
enable = true;
lookahead = true;
keymaps = {
"aa" = "@parameter.outer";
"ia" = "@parameter.inner";
"af" = "@function.outer";
"if" = "@function.inner";
"ac" = "@class.outer";
"ic" = "@class.inner";
"ii" = "@conditional.inner";
"ai" = "@conditional.outer";
"il" = "@loop.inner";
"al" = "@loop.outer";
"at" = "@comment.outer";
};
};
move = {
enable = true;
gotoNextStart = {
"]m" = "@function.outer";
"]]" = "@class.outer";
};
gotoNextEnd = {
"]M" = "@function.outer";
"][" = "@class.outer";
};
gotoPreviousStart = {
"[m" = "@function.outer";
"[[" = "@class.outer";
};
gotoPreviousEnd = {
"[M" = "@function.outer";
"[]" = "@class.outer";
settings = {
select = {
enable = true;
lookahead = true;
keymaps = {
"aa" = "@parameter.outer";
"ia" = "@parameter.inner";
"af" = "@function.outer";
"if" = "@function.inner";
"ac" = "@class.outer";
"ic" = "@class.inner";
"ii" = "@conditional.inner";
"ai" = "@conditional.outer";
"il" = "@loop.inner";
"al" = "@loop.outer";
"at" = "@comment.outer";
};
};
};
swap = {
enable = true;
swapNext = {
"<leader>a" = "@parameters.inner";
move = {
enable = true;
goto_next_start = {
"]m" = "@function.outer";
"]]" = "@class.outer";
};
goto_next_end = {
"]M" = "@function.outer";
"][" = "@class.outer";
};
goto_previous_start = {
"[m" = "@function.outer";
"[[" = "@class.outer";
};
goto_previous_end = {
"[M" = "@function.outer";
"[]" = "@class.outer";
};
};
swapPrevious = {
"<leader>A" = "@parameter.outer";
swap = {
enable = true;
swap_next = {
"<leader>a" = "@parameters.inner";
};
swap_previous = {
"<leader>A" = "@parameter.outer";
};
};
};
};
Expand Down
21 changes: 8 additions & 13 deletions config/lsp/lsp-nvim.nix
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@
};
config = lib.mkIf config.lsp-nvim.enable {
plugins = {
lsp-format = {
enable = false; # Enable it if you want lsp-format integration for none-ls
};
lsp = {
enable = true;
capabilities = "offsetEncoding = 'utf-16'";
Expand Down Expand Up @@ -192,17 +189,15 @@
border = _border
}

vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(
vim.lsp.handlers.hover, {
border = _border
}
)
vim.lsp.handlers["textDocument/hover"] = function(err, result, ctx, config)
config = vim.tbl_deep_extend("force", config or {}, { border = _border })
return vim.lsp.handlers.hover(err, result, ctx, config)
end

vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(
vim.lsp.handlers.signature_help, {
border = _border
}
)
vim.lsp.handlers["textDocument/signatureHelp"] = function(err, result, ctx, config)
config = vim.tbl_deep_extend("force", config or {}, { border = _border })
return vim.lsp.handlers.signature_help(err, result, ctx, config)
end

vim.diagnostic.config({
float = { border = "rounded" },
Expand Down
Loading
Loading