1
0
Эх сурвалжийг харах

feat(cli): add aider-chat and pass.nix configurations
fix(nvim): improve Deno and TypeScript LS root detection
feat(cli): configure password-store with GPG key settings

- Add new aider-chat package to CLI tools
- Implement pass.nix configuration for password-store with GPG keys
- Update Deno LSP root_dir detection to use deno.json[c]/lock files
- Adjust TypeScript LS config to exclude Deno projects and improve root detection

Zander Hawke 11 сар өмнө
parent
commit
0108f5f21d

+ 6 - 0
home/features/cli/aider-chat.nix

@@ -0,0 +1,6 @@
+{ pkgs, ... }:
+{
+  home.packages = with pkgs; [
+    aider-chat
+  ];
+}

+ 2 - 0
home/features/cli/default.nix

@@ -1,5 +1,6 @@
 {
   imports = [
+    ./aider-chat.nix
     ./bash.nix
     ./bat.nix
     ./direnv.nix
@@ -9,6 +10,7 @@
     ./gnupg.nix
     ./nostr.nix
     ./nushell.nix
+    ./pass.nix
     ./ssh.nix
     ./starship.nix
     ./tmux.nix

+ 7 - 0
home/features/cli/pass.nix

@@ -0,0 +1,7 @@
+{
+  programs.password-store.enable = true;
+  programs.password-store.settings = {
+    PASSWORD_STORE_KEY = "7A53D4C6B481F7711588D34FDE749C31D060A160";
+    PASSWORD_STORE_SIGNING_KEY = "7A53D4C6B481F7711588D34FDE749C31D060A160";
+  };
+}

+ 18 - 1
home/features/nvim/lsp.nix

@@ -132,6 +132,9 @@
         extraOptions.init_options = {
           lint = true;
           unstable = true;
+          root_dir.__raw = ''
+            require("lspconfig.util").root_pattern("deno.json", "deno.jsonc", "deno.lock")
+          '';
         };
       };
 
@@ -144,7 +147,21 @@
 
       ts_ls = {
         enable = true;
-        extraOptions.single_file_support = false;
+        extraOptions = {
+          single_file_support = false;
+          root_dir.__raw = ''
+            function(fname)
+              local util = require("lspconfig.util")
+              local deno_root = util.root_pattern("deno.json", "deno.jsonc", "deno.lock")(fname)
+
+              if deno_root then
+                return nil
+              end
+
+              return util.root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git")(fname)
+            end
+          '';
+        };
       };
 
       volar.enable = true;