diff --git a/nixos/gui/vscode/home.nix b/nixos/gui/vscode/home.nix index d3d9fc6d..109315e3 100644 --- a/nixos/gui/vscode/home.nix +++ b/nixos/gui/vscode/home.nix @@ -1,169 +1,178 @@ { - config, pkgs, inputs, ... }: { - home.packages = with pkgs; [ - (vscode-with-extensions.override { - vscodeExtensions = with vscode-extensions; - [ - ms-python.python - inputs.nixpkgs-rust-analyzer.legacyPackages.x86_64-linux.vscode-extensions.rust-lang.rust-analyzer - (vscode-utils.buildVscodeExtension { - vscodeExtUniqueId = "vadimcn.vscode-lldb"; - vscodeExtPublisher = "vadimcn"; - vscodeExtName = "vscode-lldb"; - version = "1.6.10"; - name = "vadimcn.vscode-lldb-1.6.10"; - src = fetchurl { - name = "vadimcn.vscode-lldb.zip"; - url = "https://github.com/vadimcn/vscode-lldb/releases/download/v1.6.10/codelldb-${pkgs.system}.vsix"; - sha256 = "sha256-QWbpe6ofacjrTCyWSKljwHDWWeHGmKNqi7cpw8Qy5Tw="; - }; - buildInputs = with pkgs; [llvm lldb python38 autoPatchelfHook]; - }) - ] - ++ vscode-utils.extensionsFromVscodeMarketplace [ - { - publisher = "vscodevim"; - name = "vim"; - version = "1.25.2"; - sha256 = "sha256-hy2Ks6oRc9io6vfgql9aFGjUiRzBCS4mGdDO3NqIFEg="; - } - { - publisher = "platformio"; - name = "platformio-ide"; - version = "3.3.1"; - sha256 = "sha256-zBZFpOWJ4JEv6qu9XT1u0uspZ+N2wKrpL3joC+/t/zs="; - } - { - publisher = "bierner"; - name = "markdown-mermaid"; - version = "1.18.1"; - sha256 = "sha256-JWeSs7V/LZ345vGWOLeUgGi68Fot/eA2k+CzWL/Wp4w="; - } - { - publisher = "arrterian"; - name = "nix-env-selector"; - version = "1.0.9"; - sha256 = "sha256-TkxqWZ8X+PAonzeXQ+sI9WI+XlqUHll7YyM7N9uErk0="; - } - { - publisher = "bbenoist"; - name = "nix"; - version = "1.0.1"; - sha256 = "sha256-qwxqOGublQeVP2qrLF94ndX/Be9oZOn+ZMCFX1yyoH0="; - } - { - publisher = "hashicorp"; - name = "terraform"; - version = "2.19.0"; - sha256 = "sha256-k/fcEJuELz0xkwivSrP6Nxtz861BLq1wR2ZDMXVrvkY="; - } - { - publisher = "be5invis"; - name = "toml"; - version = "0.6.0"; - sha256 = "sha256-yk7buEyQIw6aiUizAm+sgalWxUibIuP9crhyBaOjC2E="; - } - { - publisher = "ms-vscode"; - name = "cpptools-extension-pack"; - version = "1.1.0"; - sha256 = "sha256-XKHBwoRXNHIpy7gDR9/xEFdEdB4S0B9L9Jbk53f/Vbc="; - } - { - publisher = "tiehuis"; - name = "zig"; - version = "0.2.5"; - sha256 = "sha256-P8Sep0OtdchTfnudxFNvIK+SW++TyibGVI9zd+B5tu4="; - } - { - publisher = "sjhuangx"; - name = "vscode-scheme"; - version = "0.4.0"; - sha256 = "07vjfymvfv98s5r5a4b5iqhgfz1wpgq2l8h3wlq1bnhhhvmq5pq4"; - } - { - publisher = "shaunlebron"; - name = "vscode-parinfer"; - version = "0.6.2"; - sha256 = "0h4v4rnximy6rbh83y4s2qj1cqbj66g9wld39mzd0zwgi6ig9syd"; - } - { - publisher = "swyphcosmo"; - name = "spellchecker"; - version = "1.2.13"; - sha256 = "1lr33lf01afgi74c1a9gylk92li4hyq24l8bki4l6ggl4z4c2h3w"; - } - { - publisher = "asabil"; - name = "meson"; - version = "1.1.1"; - sha256 = "00cc28a2nb325f54bx51wf5q15x1pmsn0j9z6rnxxqxwii1dm5cl"; - } - { - publisher = "codezombiech"; - name = "gitignore"; - version = "0.6.0"; - sha256 = "0gnc0691pwkd9s8ldqabmpfvj0236rw7bxvkf0bvmww32kv1ia0b"; - } - { - publisher = "DavidAnson"; - name = "vscode-markdownlint"; - version = "0.26.0"; - sha256 = "0g4pssvajn7d8p2547v7313gjyqx4pzs7cbjws2s3v2fk1sw7vbj"; - } - { - publisher = "esbenp"; - name = "prettier-vscode"; - version = "1.8.1"; - sha256 = "0qcm2784n9qc4p77my1kwqrswpji7bp895ay17yzs5g84cj010ln"; - } - { - publisher = "hbenl"; - name = "vscode-test-explorer"; - version = "2.9.3"; - sha256 = "1yf85hgvganxq5n5jff9ckn3smxd6xi79cgn6k53qi5w1r5rahy0"; - } - { - publisher = "lextudio"; - name = "restructuredtext"; - version = "106.0.0"; - sha256 = "096r8071202nxi1is6z7dghcmpsh0f0mm3mp3cfh1yj2mnyzlaxa"; - } - { - publisher = "lostintangent"; - name = "vsls-pomodoro"; - version = "0.1.0"; - sha256 = "1b73zbkhlhacvi18cx4g3n6randy3hw9cab1gkw5gzb3375w7w3p"; - } - { - publisher = "lostintangent"; - name = "vsls-whiteboard"; - version = "0.0.8"; - sha256 = "13fcay9bs861msb5y694casbw66dmhl504xm5cvprssx1qka186p"; - } - { - publisher = "mechatroner"; - name = "rainbow-csv"; - version = "1.0.0"; - sha256 = "1fyamgm7zq31r3c00cn6pcb66rrkfhwfmp72qnhrajydmnvcnbg6"; - } - { - publisher = "ronnidc"; - name = "nunjucks"; - version = "0.2.3"; - sha256 = "119xgyn1dggw2rcqkn2mnz364iw5jlrxg7pcydbijsqj5d3zdfsf"; - } - { - publisher = "serayuzgur"; - name = "crates"; - version = "0.4.2"; - sha256 = "1knspsc98cfw4mhc0yaz0f2185sxdf9kn9qsysfs6c82g9wjaqcj"; - } - ]; - }) - ]; + home.packages = [pkgs.python3]; + programs.vscode = { + enable = true; + userSettings = { + editor.fontFamily = "'Berkeley Mono', 'Droid Sans Mono', 'monospace', monospace"; + editor.formatOnType = true; + editor.fontSize = 16; + files.autoSave = "onFocusChange"; + platformio-ide = { + useBuiltinPIOCore = true; + useBuiltinPython = true; + }; + }; + extensions = with pkgs.vscode-extensions; + [ + ms-python.python + inputs.nixpkgs-rust-analyzer.legacyPackages.x86_64-linux.vscode-extensions.rust-lang.rust-analyzer + (pkgs.vscode-utils.buildVscodeExtension { + vscodeExtUniqueId = "vadimcn.vscode-lldb"; + vscodeExtPublisher = "vadimcn"; + vscodeExtName = "vscode-lldb"; + version = "1.6.10"; + name = "vadimcn.vscode-lldb-1.6.10"; + src = pkgs.fetchurl { + name = "vadimcn.vscode-lldb.zip"; + url = "https://github.com/vadimcn/vscode-lldb/releases/download/v1.6.10/codelldb-${pkgs.system}.vsix"; + sha256 = "sha256-QWbpe6ofacjrTCyWSKljwHDWWeHGmKNqi7cpw8Qy5Tw="; + }; + buildInputs = with pkgs; [llvm lldb python38 autoPatchelfHook]; + }) + ] + ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ + { + publisher = "vscodevim"; + name = "vim"; + version = "1.25.2"; + sha256 = "sha256-hy2Ks6oRc9io6vfgql9aFGjUiRzBCS4mGdDO3NqIFEg="; + } + { + publisher = "platformio"; + name = "platformio-ide"; + version = "3.3.1"; + sha256 = "sha256-zBZFpOWJ4JEv6qu9XT1u0uspZ+N2wKrpL3joC+/t/zs="; + } + { + publisher = "bierner"; + name = "markdown-mermaid"; + version = "1.18.1"; + sha256 = "sha256-JWeSs7V/LZ345vGWOLeUgGi68Fot/eA2k+CzWL/Wp4w="; + } + { + publisher = "arrterian"; + name = "nix-env-selector"; + version = "1.0.9"; + sha256 = "sha256-TkxqWZ8X+PAonzeXQ+sI9WI+XlqUHll7YyM7N9uErk0="; + } + { + publisher = "bbenoist"; + name = "nix"; + version = "1.0.1"; + sha256 = "sha256-qwxqOGublQeVP2qrLF94ndX/Be9oZOn+ZMCFX1yyoH0="; + } + { + publisher = "hashicorp"; + name = "terraform"; + version = "2.19.0"; + sha256 = "sha256-k/fcEJuELz0xkwivSrP6Nxtz861BLq1wR2ZDMXVrvkY="; + } + { + publisher = "be5invis"; + name = "toml"; + version = "0.6.0"; + sha256 = "sha256-yk7buEyQIw6aiUizAm+sgalWxUibIuP9crhyBaOjC2E="; + } + { + publisher = "ms-vscode"; + name = "cpptools"; + version = "1.17.5"; + sha256 = "sha256-LAAEw8goAw3x1MU/TkIdLgPYa0f5b6Hv4GkeiPTVbdY="; + } + { + publisher = "ms-vscode"; + name = "cpptools-extension-pack"; + version = "1.3.0"; + sha256 = "sha256-rHST7CYCVins3fqXC+FYiS5Xgcjmi7QW7M4yFrUR04U="; + } + { + publisher = "tiehuis"; + name = "zig"; + version = "0.2.5"; + sha256 = "sha256-P8Sep0OtdchTfnudxFNvIK+SW++TyibGVI9zd+B5tu4="; + } + { + publisher = "sjhuangx"; + name = "vscode-scheme"; + version = "0.4.0"; + sha256 = "07vjfymvfv98s5r5a4b5iqhgfz1wpgq2l8h3wlq1bnhhhvmq5pq4"; + } + { + publisher = "shaunlebron"; + name = "vscode-parinfer"; + version = "0.6.2"; + sha256 = "0h4v4rnximy6rbh83y4s2qj1cqbj66g9wld39mzd0zwgi6ig9syd"; + } + { + publisher = "swyphcosmo"; + name = "spellchecker"; + version = "1.2.13"; + sha256 = "1lr33lf01afgi74c1a9gylk92li4hyq24l8bki4l6ggl4z4c2h3w"; + } + { + publisher = "asabil"; + name = "meson"; + version = "1.1.1"; + sha256 = "00cc28a2nb325f54bx51wf5q15x1pmsn0j9z6rnxxqxwii1dm5cl"; + } + { + publisher = "codezombiech"; + name = "gitignore"; + version = "0.6.0"; + sha256 = "0gnc0691pwkd9s8ldqabmpfvj0236rw7bxvkf0bvmww32kv1ia0b"; + } + { + publisher = "DavidAnson"; + name = "vscode-markdownlint"; + version = "0.26.0"; + sha256 = "0g4pssvajn7d8p2547v7313gjyqx4pzs7cbjws2s3v2fk1sw7vbj"; + } + { + publisher = "esbenp"; + name = "prettier-vscode"; + version = "1.8.1"; + sha256 = "0qcm2784n9qc4p77my1kwqrswpji7bp895ay17yzs5g84cj010ln"; + } + { + publisher = "hbenl"; + name = "vscode-test-explorer"; + version = "2.9.3"; + sha256 = "1yf85hgvganxq5n5jff9ckn3smxd6xi79cgn6k53qi5w1r5rahy0"; + } + { + publisher = "lostintangent"; + name = "vsls-pomodoro"; + version = "0.1.0"; + sha256 = "1b73zbkhlhacvi18cx4g3n6randy3hw9cab1gkw5gzb3375w7w3p"; + } + { + publisher = "lostintangent"; + name = "vsls-whiteboard"; + version = "0.0.8"; + sha256 = "13fcay9bs861msb5y694casbw66dmhl504xm5cvprssx1qka186p"; + } + { + publisher = "mechatroner"; + name = "rainbow-csv"; + version = "1.0.0"; + sha256 = "1fyamgm7zq31r3c00cn6pcb66rrkfhwfmp72qnhrajydmnvcnbg6"; + } + { + publisher = "ronnidc"; + name = "nunjucks"; + version = "0.2.3"; + sha256 = "119xgyn1dggw2rcqkn2mnz364iw5jlrxg7pcydbijsqj5d3zdfsf"; + } + { + publisher = "serayuzgur"; + name = "crates"; + version = "0.4.2"; + sha256 = "1knspsc98cfw4mhc0yaz0f2185sxdf9kn9qsysfs6c82g9wjaqcj"; + } + ]; + }; }