From 6e7d63bbfda994140ecb5da12ad3de562bc987bd Mon Sep 17 00:00:00 2001
From: Dmitriy Kholkin <ataraxiadev@ataraxiadev.com>
Date: Sun, 2 Mar 2025 14:32:09 +0300
Subject: [PATCH] feat: add 'nixd' as nix lsp to vscode

---
 .vscode/settings.json | 25 +++++++++++++++++++++++++
 flake.nix             |  6 +++++-
 2 files changed, 30 insertions(+), 1 deletion(-)
 create mode 100644 .vscode/settings.json

diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..6799e92
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,25 @@
+{
+    "files.eol": "\n",
+    "[nix]": {
+        "editor.tabSize": 2
+    },
+    "nix.enableLanguageServer": true,
+    "nix.serverPath": "nixd",
+    "nix.serverSettings": {
+        "nixd": {
+            "formatting": {
+                "command": [
+                    "nixfmt"
+                ],
+            },
+            "options": {
+                "nixos": {
+                    "expr": "(builtins.getFlake \"${workspaceFolder}\").nixosConfigurations.NixOS-VM.options",
+                },
+                // "home-manager": {
+                //     "expr": "(builtins.getFlake \"${workspaceFolder}\").homeConfigurations.NixOS-VM.options",
+                // },
+            },
+        },
+    }
+}
\ No newline at end of file
diff --git a/flake.nix b/flake.nix
index 6715665..9fc1efd 100644
--- a/flake.nix
+++ b/flake.nix
@@ -88,7 +88,11 @@
 
               name = "nixos-config";
               packages = builtins.attrValues {
-                inherit (pkgs) nixfmt-rfc-style git sops;
+                inherit (pkgs) nixfmt-rfc-style sops;
+              };
+              languages.nix = {
+                enable = true;
+                lsp.package = pkgs.nixd;
               };
               pre-commit.hooks = {
                 actionlint.enable = true;