From 33806c2191cd83d0a1e00614f6cb0ba8e2d67e7e Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Mon, 4 Mar 2024 08:36:23 -0800 Subject: install and configure vscode --- home/dev.nix | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 70 insertions(+), 12 deletions(-) (limited to 'home') diff --git a/home/dev.nix b/home/dev.nix index 00107f3..f26b422 100644 --- a/home/dev.nix +++ b/home/dev.nix @@ -1,16 +1,20 @@ -{ pkgs, config, ... }: +{ pkgs +, config +, ... +}: let - pythonEnv = pkgs.python3.withPackages (p: with p; [ - black - click - isort - pylsp-mypy - requests - types-requests - pip - ipython - virtualenv - ]); + pythonEnv = pkgs.python3.withPackages (p: + with p; [ + black + click + isort + pylsp-mypy + requests + types-requests + pip + ipython + virtualenv + ]); in { programs.go = { @@ -32,6 +36,10 @@ in kubectl google-cloud-sdk + + rnix-lsp + alejandra + nil ]; home.sessionPath = [ @@ -42,6 +50,56 @@ in kc = "kubectl"; }; + programs.vscode = { + enable = true; + + # Workaround https://github.com/nix-community/home-manager/issues/3507 + mutableExtensionsDir = false; + + extensions = with pkgs.vscode-extensions; [ + #go + golang.go + + # nix + arrterian.nix-env-selector + bbenoist.nix + jnoortheen.nix-ide + + # python + ms-python.python + ms-python.vscode-pylance + + # utils + mkhl.direnv + editorconfig.editorconfig + tamasfe.even-better-toml + ]; + userSettings = { + editor.fontSize = 16; + "editor.formatOnSave" = true; + "editor.minimap.enabled" = false; + + workbench.colorTheme = "Default Light Modern"; + workbench.sideBar.location = "right"; + + "telemetry.telemetryLevel" = "off"; + + "files.autoSave" = "afterDelay"; + # in milliseconds + "files.autoSaveDelay" = 100; + + "nix.serverPath" = "nil"; + "nix.serverSettings" = { + "nil" = { + "formatting" = { + "command" = [ "alejandra" ]; + }; + }; + }; + "nix.enableLanguageServer" = true; + }; + }; + home.sessionVariables = with config.xdg; { IPYTHONDIR = "${cacheHome}/ipython"; PIP_LOG = "${cacheHome}/pip/pip.log"; -- cgit 1.4.1