diff options
author | Franck Cuny <franck@fcuny.net> | 2024-03-04 08:36:23 -0800 |
---|---|---|
committer | Franck Cuny <franck@fcuny.net> | 2024-03-04 08:36:45 -0800 |
commit | 33806c2191cd83d0a1e00614f6cb0ba8e2d67e7e (patch) | |
tree | 1a60f1e09ff4a094f88e4b1f73160d44f5ecdfdb | |
parent | nix libraries and modules will be under `nix/` (diff) | |
download | world-33806c2191cd83d0a1e00614f6cb0ba8e2d67e7e.tar.gz |
install and configure vscode
-rw-r--r-- | home/dev.nix | 82 |
1 files changed, 70 insertions, 12 deletions
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"; |