{ config, pkgs, ... }: { programs.vscode = { enable = true; package = pkgs.vscode-with-extensions.override { vscodeExtensions = with pkgs.vscode-extensions; [ bbenoist.nix ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ { name = "patternstore"; publisher = "jdunkel"; version = "0.1.12"; sha256 = "sha256-JtVtBFZPsSMDC9040UE8gTg4YmNLVFQJz0NGa0+QBqA="; } ]; }; profiles.default = { enableUpdateCheck = false; userSettings = { "[nix]" = { "editor.tabSize" = 2; }; "chat.disableAIFeatures" = true; "workbench.welcomePage.walkthroughs.openOnInstall" = false; "patternStore.savedPatterns" = [ { label = "convert JSON pairs to Nix format"; find = "\"(\\w+)\": ([\\w, \\{\\}]+?),?$"; replace = "$1 = $2;"; flags = { "isRegex" = true; "isCaseSensitive" = false; "matchWholeWord" = false; "isMultiline" = false; }; scope = "global"; } { label = "convert JSON opening bracket to Nix format"; find = "(\"\\w+\"): \\{$"; replace = "$1 = {"; flags = { "isRegex" = true; "isCaseSensitive" = false; "matchWholeWord" = false; "isMultiline" = false; }; scope = "global"; } { label = "convert JSON closing bracket to Nix format"; find = "\\},?$"; replace = "};"; flags = { "isRegex" = true; "isCaseSensitive" = false; "matchWholeWord" = false; "isMultiline" = false; }; scope = "global"; } ]; "search.exclude" = { "**/flake.lock" = true; "**/assets/**" = true; }; }; }; }; }