43 lines
1.3 KiB
Nix
43 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',
|
||
|
-- },
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
})
|
||
|
''
|