42 lines
1.3 KiB
Nix
42 lines
1.3 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
lib.optionalString (lib.elem "nvim::lsp::nix-nixd" config.machine.pkgs) # lua
|
|
''
|
|
lspconfig.nixd.setup({
|
|
cmd = { "${pkgs.nixd}/bin/nixd" },
|
|
settings = {
|
|
nixd = {
|
|
-- on_init = function(client)
|
|
-- local path = client.workspace_folders[1].name
|
|
|
|
-- if path == '/path/to/project1' then
|
|
-- client.config.settings["rust-analyzer"].checkOnSave.overrideCommand = { "cargo", "check" }
|
|
-- client.notify("workspace/didChangeConfiguration", { settings = client.config.settings })
|
|
-- end
|
|
|
|
-- return true
|
|
-- end,
|
|
nixpkgs = {
|
|
expr = 'import (builtins.getFlake ("git+file:///etc/nixos")).inputs.nixpkgs {}',
|
|
},
|
|
formatting = {
|
|
command = { "${pkgs.nixfmt-rfc-style}/bin/nixfmt" },
|
|
},
|
|
options = {
|
|
nixos = {
|
|
expr = '(builtins.getFlake ("git+file:///etc/nixos")).outputs.nixosConfigurations.Lilim.options',
|
|
},
|
|
-- TODO: Find a good general expression for this.
|
|
-- home_manager = {
|
|
-- expr = '(builtins.getFlake ("git+file://" + toString ./.)).homeConfigurations."ruixi@k-on".options',
|
|
-- },
|
|
},
|
|
},
|
|
},
|
|
})
|
|
''
|