about summary refs log tree commit diff
path: root/home
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--home/dev.nix73
1 files changed, 65 insertions, 8 deletions
diff --git a/home/dev.nix b/home/dev.nix
index f26b422..e0ca68b 100644
--- a/home/dev.nix
+++ b/home/dev.nix
@@ -68,31 +68,88 @@ in
       # python
       ms-python.python
       ms-python.vscode-pylance
+      ms-python.black-formatter
+
+      # shell
+      mads-hartmann.bash-ide-vscode
 
       # utils
-      mkhl.direnv
-      editorconfig.editorconfig
-      tamasfe.even-better-toml
+      ms-vscode.makefile-tools # Makefile support
+      mkhl.direnv # direnv
+      editorconfig.editorconfig # editor config for vscode
+      tamasfe.even-better-toml # better TOML mode
+      streetsidesoftware.code-spell-checker # code spell checker
+      github.vscode-github-actions # GHA
     ];
     userSettings = {
-      editor.fontSize = 16;
+      # editor
+      editor.fontSize = 15;
       "editor.formatOnSave" = true;
       "editor.minimap.enabled" = false;
+      "editor.fontFamily" = "Monaspace Neon";
+      "editor.fontLigatures" = true;
+      "editor.rulers" = [ 80 120 ];
+      "editor.folding" = false;
+      "editor.foldingHighlight" = false;
+
+      # explorer
+      "explorer.sortOrder" = "default";
+      "explorer.autoRevealExcludes" = {
+        "**/result" = true;
+      };
 
+      # extensions
+      "extensions.ignoreRecommendations" = true;
+      "extensions.autoCheckUpdates" = false;
+      "extensions.autoUpdate" = false;
+
+      # files
+      "files.trimFinalNewLines" = true;
+      "files.insertFinalNewLine" = true;
+      "files.autoSave" = "afterDelay";
+      "files.autoSaveDelay" = 100; # in milliseconds
+      "files.exclude" = {
+        "**/.direnv" = true;
+        "**/result" = true;
+      };
+
+      # formatter
+      formatter = {
+        "[python]"."editor.defaultFormatter" = "ms-python.black-formatter";
+      };
+
+      # workbench
       workbench.colorTheme = "Default Light Modern";
       workbench.sideBar.location = "right";
 
+      # telemetry
       "telemetry.telemetryLevel" = "off";
 
-      "files.autoSave" = "afterDelay";
-      # in milliseconds
-      "files.autoSaveDelay" = 100;
+      # terminal
+      "terminal.integrated.fontFamily" = "Monaspace Xenon";
+      "terminal.integrated.fontSize" = 13;
+
+      # go
+      "go.lintTool" = "golangci-lint";
+      "go.toolsManagemenent.checkForUpdates" = "off";
+      "go.toolsManagemenent.autoUpdate" = false;
+      "gopls" = {
+        "format.gofumpt" = true;
+        "ui.semanticTokens" = true;
+      };
 
+      # shell
+      bash = {
+        "bashIde.shellcheckPath" = "${pkgs.shellcheck}/bin/shellcheck";
+        "shfmt.executablePath" = "${pkgs.shfmt}/bin/shfmt";
+      };
+
+      # nix
       "nix.serverPath" = "nil";
       "nix.serverSettings" = {
         "nil" = {
           "formatting" = {
-            "command" = [ "alejandra" ];
+            "command" = [ "nixpkgs-fmt" ];
           };
         };
       };