languages/nix: add nixd to supported LSP servers

Add nixd to flake.nix and legacyPackages.nix.

Format with alejandra.

Update flake.nix

Undo change made by nixfmt-rfc-style

Set nixd to follow flake-utils as well.

Update nixd lspConfig
This commit is contained in:
Elias Ainsworth 2024-11-10 21:47:58 -07:00
parent 8997e62b3b
commit bcab9c277c
4 changed files with 130 additions and 3 deletions

View file

@ -18,6 +18,39 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1714606777,
"narHash": "sha256-bMkNmAXLj8iyTvxaaD/StcLSadbj1chPcJOjtuVnLmA=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "4d34ce6412bc450b1d4208c953dc97c7fc764f1a",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-root": {
"locked": {
"lastModified": 1713493429,
"narHash": "sha256-ztz8JQkI08tjKnsTpfLqzWoKFQF4JGu2LRz8bkdnYUk=",
"owner": "srid",
"repo": "flake-root",
"rev": "bc748b93b86ee76e2032eecda33440ceb2532fcd",
"type": "github"
},
"original": {
"owner": "srid",
"repo": "flake-root",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
@ -96,6 +129,29 @@
"type": "github" "type": "github"
} }
}, },
"nixd": {
"inputs": {
"flake-parts": "flake-parts_2",
"flake-root": "flake-root",
"nixpkgs": [
"nixpkgs"
],
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1731087557,
"narHash": "sha256-W70xy7WFqA5940zhodAsGiC/nvqGwZ07YE34ObMK/po=",
"owner": "nix-community",
"repo": "nixd",
"rev": "1cf9ec0a82bcac57c7c12b6378bd8c28513cd3a6",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixd",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1726871744, "lastModified": 1726871744,
@ -124,6 +180,24 @@
"url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
} }
}, },
"nixpkgs-lib_2": {
"locked": {
"dir": "lib",
"lastModified": 1714253743,
"narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994",
"type": "github"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1656753965, "lastModified": 1656753965,
@ -1815,6 +1889,7 @@
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"mnw": "mnw", "mnw": "mnw",
"nil": "nil", "nil": "nil",
"nixd": "nixd",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nmd": "nmd", "nmd": "nmd",
"plugin-alpha-nvim": "plugin-alpha-nvim", "plugin-alpha-nvim": "plugin-alpha-nvim",
@ -1978,6 +2053,27 @@
"type": "github" "type": "github"
} }
}, },
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nixd",
"nixpkgs"
]
},
"locked": {
"lastModified": 1722330636,
"narHash": "sha256-uru7JzOa33YlSRwf9sfXpJG+UAV+bnBEYMjrzKrQZFw=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "768acdb06968e53aa1ee8de207fd955335c754b7",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"utils": { "utils": {
"locked": { "locked": {
"lastModified": 1656928814, "lastModified": 1656928814,

View file

@ -11,8 +11,11 @@
in in
flake-parts.lib.mkFlake { flake-parts.lib.mkFlake {
inherit inputs; inherit inputs;
specialArgs = {inherit lib;}; specialArgs = {
} { inherit lib;
};
}
{
# Allow users to bring their own systems. # Allow users to bring their own systems.
# «https://github.com/nix-systems/nix-systems» # «https://github.com/nix-systems/nix-systems»
systems = import inputs.systems; systems = import inputs.systems;
@ -66,7 +69,12 @@
default = self'.devShells.lsp; default = self'.devShells.lsp;
nvim-nix = pkgs.mkShell {packages = [config.packages.nix];}; nvim-nix = pkgs.mkShell {packages = [config.packages.nix];};
lsp = pkgs.mkShell { lsp = pkgs.mkShell {
packages = with pkgs; [nil statix deadnix alejandra]; packages = with pkgs; [
nil
statix
deadnix
alejandra
];
}; };
}; };
@ -111,6 +119,11 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils"; inputs.flake-utils.follows = "flake-utils";
}; };
nixd = {
url = "github:nix-community/nixd";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
};
## Plugins ## Plugins
# LSP plugins # LSP plugins

View file

@ -11,6 +11,7 @@
(_: _: { (_: _: {
rnix-lsp = inputs'.rnix-lsp.defaultPackage; rnix-lsp = inputs'.rnix-lsp.defaultPackage;
nil = inputs'.nil.packages.default; nil = inputs'.nil.packages.default;
nixd = inputs'.nixd.packages.default;
}) })
]; ];
}; };

View file

@ -74,6 +74,23 @@
} }
''; '';
}; };
nixd = {
package = pkgs.nixd;
internalFormatter = cfg.format.type == "nixpkgs-fmt";
lspConfig = ''
lspconfig.nixd.setup{
capabilities = capabilities,
on_attach = default_on_attach,
${
if (cfg.format.enable && cfg.format.type == "nixpkgs-fmt")
then useFormat
else noFormat
},
cmd = ${packageToCmd cfg.lsp.package "nixd"},
}
'';
};
}; };
defaultFormat = "alejandra"; defaultFormat = "alejandra";