1local nvim_lsp = require("lspconfig")
2nvim_lsp.nixd.setup({
3 cmd = { "nixd" },
4 settings = {
5 nixd = {
6 nixpkgs = {
7 expr = "import <nixpkgs> { }",
8 },
9 formatting = {
10 command = { "treefmt" },
11 },
12 options = {
13 nixos = {
14 expr = "(builtins.getFlake (builtins.toString ./.)).nixosConfigurations.zaphod.options",
15 },
16 home_manager = {
17 expr = "(builtins.getFlake (builtins.toString ./.)).nixosConfigurations.zaphod.options.home-manager.users.type.getSubOptions []",
18 },
19 flake_parts = {
20 expr = "(builtins.getFlake (builtins.toString ./.)).debug.options",
21 },
22 flake_parts_perSystem = {
23 expr = "(builtins.getFlake (builtins.toString ./.)).currentSystem.options",
24 },
25 my_modules = {
26 exper = "(pkgs.lib.evalModules { modules = (builtins.getFlake (builtins.toString ./.)).nixosModules; }).options",
27 },
28 },
29 },
30 },
31})