refactor(justfile): generate vscode settings from base config for nixd v2

This commit is contained in:
2026-04-12 00:30:29 +08:00
parent 2ce32ee51e
commit 47802ac519
+6 -6
View File
@@ -75,16 +75,16 @@ clean:
secrets: secrets:
sops secrets/secrets.yaml sops secrets/secrets.yaml
# Generate .nixd.json for LSP option completion # Generate .vscode/settings.json with LSP option completion
[macos] [macos]
[group('tools')] [group('tools')]
lsp host: lsp host:
@echo '{"options":{"nix-darwin":{"expr":"(builtins.getFlake (toString ./.)).darwinConfigurations.{{host}}.options"},"home-manager":{"expr":"(builtins.getFlake (toString ./.)).darwinConfigurations.{{host}}.options.home-manager.users.type.getSubOptions []"}}}' | jq . > .nixd.json @jq --arg h "{{host}}" '."nix.serverSettings".nixd.options = {"nix-darwin":{"expr":"(builtins.getFlake (toString ./.)).darwinConfigurations.\($h).options"},"home-manager":{"expr":"(builtins.getFlake (toString ./.)).darwinConfigurations.\($h).options.home-manager.users.type.getSubOptions []"}}' .vscode/settings.base.json > .vscode/settings.json
@echo "Generated .nixd.json for {{host}}" @echo "Generated .vscode/settings.json for {{host}}"
# Generate .nixd.json for LSP option completion # Generate .vscode/settings.json with LSP option completion
[linux] [linux]
[group('tools')] [group('tools')]
lsp host="wsl": lsp host="wsl":
@echo '{"options":{"nixos":{"expr":"(builtins.getFlake (toString ./.)).nixosConfigurations.{{host}}.options"},"home-manager":{"expr":"(builtins.getFlake (toString ./.)).nixosConfigurations.{{host}}.options.home-manager.users.type.getSubOptions []"}}}' | jq . > .nixd.json @jq --arg h "{{host}}" '."nix.serverSettings".nixd.options = {"nixos":{"expr":"(builtins.getFlake (toString ./.)).nixosConfigurations.\($h).options"},"home-manager":{"expr":"(builtins.getFlake (toString ./.)).nixosConfigurations.\($h).options.home-manager.users.type.getSubOptions []"}}' .vscode/settings.base.json > .vscode/settings.json
@echo "Generated .nixd.json for {{host}}" @echo "Generated .vscode/settings.json for {{host}}"