Compare commits

..

No commits in common. "ea11023e98e6219f9df41ccabd67ca55a542239d" and "56d2fe2922ae8f1f400b5025d1120f7581d209d6" have entirely different histories.

5 changed files with 127 additions and 186 deletions

View file

@ -1,110 +1,92 @@
local servers = {} local servers = {}
if nixCats("lang.lua.lsp") then servers.lua_ls = {
servers.lua_ls = { settings = {
settings = { Lua = {
Lua = { formatters = {
formatters = { ignoreComments = false,
ignoreComments = false,
},
signatureHelp = { enable = true },
diagnostics = {
globals = { "nixCats", "vim" },
-- disable = { 'missing-fields' },
},
workspace = {
-- make the server aware of the neovim runtime files
library = vim.api.nvim_get_runtime_file("", true),
checkThirdParty = false,
},
},
telemetry = { enabled = false },
},
}
end
if nixCats("lang.nix.lsp") then
servers.nil_ls = {
settings = {},
}
end
if nixCats("lang.rust.lsp") then
local rust_analyzer_cmd = os.getenv("RUST_ANALYZER_CMD")
servers.rust_analyzer = {
cmd = { rust_analyzer_cmd },
settings = {
server = {
-- For debugging rust-analyzer, to see log location do :LspInfo in neovim
-- extraEnv = { {["RA_LOG"]="project_model=debug"} },
},
cargo = {
allFeatures = false,
allTargets = false,
buildScripts = { enable = true },
target = "x86_64-unknown-linux-gnu",
}, },
signatureHelp = { enable = true },
diagnostics = { diagnostics = {
enable = true, globals = { "nixCats", "vim" },
-- disable = { 'missing-fields' },
},
workspace = {
-- make the server aware of the neovim runtime files
library = vim.api.nvim_get_runtime_file("", true),
checkThirdParty = false,
}, },
}, },
} telemetry = { enabled = false },
end },
}
if nixCats("lang.zig.lsp") then servers.nil_ls = {
servers.zls = { settings = {},
settings = {}, }
}
end
if nixCats("lang.elixir.lsp") then local rust_analyzer_cmd = os.getenv("RUST_ANALYZER_CMD")
local elixir_ls_cmd = os.getenv("ELIXIR_LS_CMD") servers.rust_analyzer = {
servers.elixirls = { cmd = { rust_analyzer_cmd },
cmd = { elixir_ls_cmd }, settings = {
settings = {}, server = {
} -- For debugging rust-analyzer, to see log location do :LspInfo in neovim
end -- extraEnv = { {["RA_LOG"]="project_model=debug"} },
},
cargo = {
allFeatures = false,
allTargets = false,
buildScripts = { enable = true },
target = "x86_64-unknown-linux-gnu",
},
diagnostics = {
enable = true,
},
},
}
if nixCats("lang.gleam.lsp") then servers.zls = {
servers.gleam = { settings = {},
settings = {}, }
}
end
if nixCats("lang.haskell.lsp") then local elixir_ls_cmd = os.getenv("ELIXIR_LS_CMD")
servers.hls = { servers.elixirls = {
settings = {}, cmd = { elixir_ls_cmd },
} settings = {},
end }
if nixCats("lang.java.lsp") then servers.gleam = {
local java_home = os.getenv("JAVA_HOME") settings = {},
servers.jdtls = { }
settings = {
java = { servers.hls = {
contentProvider = { preferred = "fernflower" }, settings = {},
configuration = { }
runtimes = {
{ local java_home = os.getenv("JAVA_HOME")
name = "OpenJDK 17", servers.jdtls = {
path = os.getenv("OPENJDK_17"), settings = {
}, java = {
{ contentProvider = { preferred = "fernflower" },
name = "OpenJDK 21", configuration = {
path = os.getenv("OPENJDK_21"), runtimes = {
}, {
name = "OpenJDK 17",
path = os.getenv("OPENJDK_17"),
},
{
name = "OpenJDK 21",
path = os.getenv("OPENJDK_21"),
}, },
}, },
}, },
}, },
} },
end }
if nixCats("lang.protobuf.lsp") then servers.protols = {
servers.protols = { settings = {},
settings = {}, }
}
end
-- Taken from nixCats example: -- Taken from nixCats example:
-- If you were to comment out this autocommand -- If you were to comment out this autocommand

View file

@ -56,12 +56,11 @@ return {
conform.setup({ conform.setup({
formatters_by_ft = { formatters_by_ft = {
lua = nixCats("lang.lua.format") and { "stylua" } or nil, lua = nixCats("lang.lua") and { "stylua" } or nil,
nix = nixCats("lang.nix.format") and { "alejandra" } or nil, nix = nixCats("lang.nix") and { "alejandra" } or nil,
rust = nixCats("lang.rust.format") and { "rustfmt", lsp_format = "fallback" } or nil, rust = nixCats("lang.rust") and { "rustfmt", lsp_format = "fallback" } or nil,
haskell = nixCats("lang.haskell.format") and { "ormolu" } or nil, haskell = nixCats("lang.haskell") and { "ormolu" } or nil,
proto = nixCats("lang.protobuf.format") and { "buf" } or nil, proto = nixCats("lang.protobuf") and { "buf" } or nil,
toml = nixCats("lang.toml.format") and { "taplo" } or nil,
}, },
format_on_save = { format_on_save = {
timeout_ms = 500, timeout_ms = 500,

View file

@ -1,12 +1,12 @@
return { return {
{ {
"vim-fugitive", "vim-fugitive",
enabled = nixCats("git") or false, for_cat = "git",
cmd = { "Git", "Gvdiffsplit" }, cmd = { "Git", "Gvdiffsplit" },
}, },
{ {
"resolve-nvim", "resolve-nvim",
enabled = nixCats("git") or false, for_cat = "git",
event = { "BufReadPre", "BufNewFile" }, event = { "BufReadPre", "BufNewFile" },
after = function(plugin) after = function(plugin)
require("resolve").setup({ require("resolve").setup({

View file

@ -55,51 +55,43 @@ in {
tree-sitter tree-sitter
]; ];
lang = { lang = {
lua = { lua = [
lsp = [lua-language-server]; lua-language-server
format = [stylua]; stylua
}; ];
nix = { nix = [
lsp = [nil]; nil
format = [alejandra]; nix-doc # TODO: i forgot what this is for
docs = [nix-doc]; # TODO: i forgot how to integrate this into neovim alejandra
}; ];
rust = { rust = [
lsp = [cargo mpkgs.rust-analyzer]; cargo
mpkgs.rust-analyzer
# nightly rustfmt has nicer features :3 # nightly rustfmt has nicer features :3
format = [inputs.fenix.packages.${system}.complete.rustfmt]; inputs.fenix.packages.${system}.complete.rustfmt
}; ];
zig = { zig = [
lsp = [zls]; zls
# TODO: needs formatter field ];
}; elixir = [
elixir = { elixir-ls
lsp = [elixir-ls]; ];
# TODO: needs formatter field gleam = [
}; gleam
gleam = { ];
lsp = [gleam]; haskell = [
# TODO: needs formatter field haskell-language-server
}; ormolu
haskell = { ];
lsp = [haskell-language-server]; java = [
format = [ormolu]; jdt-language-server
}; javaPackages.compiler.openjdk17
java = { javaPackages.compiler.openjdk21
lsp = [ ];
jdt-language-server protobuf = [
javaPackages.compiler.openjdk17 protols
javaPackages.compiler.openjdk21 buf
]; ];
# TODO: needs formatter field
};
protobuf = {
lsp = [protols];
format = [buf];
};
toml = {
format = [taplo];
};
}; };
}; };
@ -247,47 +239,15 @@ in {
git = false; # not really setup yet git = false; # not really setup yet
lang = { lang = {
lua = { lua = true;
lsp = true; nix = true;
format = true; rust = true;
}; zig = true;
nix = { elixir = true;
lsp = true; gleam = true;
format = true; haskell = true;
docs = true; java = true;
}; protobuf = true;
rust = {
lsp = true;
format = true;
};
zig = {
lsp = true;
format = true;
};
elixir = {
lsp = true;
format = true;
};
gleam = {
lsp = true;
format = true;
};
haskell = {
lsp = true;
format = true;
};
java = {
lsp = true;
format = true;
};
protobuf = {
lsp = true;
format = true;
};
toml = {
lsp = true;
format = true;
};
}; };
}; };
}; };

View file

@ -19,9 +19,9 @@
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
}; };
# kernelPackages = upkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4; kernelPackages = upkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4;
# TODO: idk make this a toggle or smth idfk # TODO: idk make this a toggle or smth idfk
kernelPackages = upkgs.linuxPackages_zen; # kernelPackages = upkgs.linuxPackages_latest;
kernelModules = ["v4l2loopback"]; kernelModules = ["v4l2loopback"];
extraModulePackages = with kernelPackages; [v4l2loopback]; extraModulePackages = with kernelPackages; [v4l2loopback];