nixos-config/home-manager/modules/vscode/default.nix

90 lines
2.3 KiB
Nix

{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.eboskma.programs.vscode;
in
{
options.eboskma.programs.vscode.enable = mkEnableOption "enable vscode";
config = mkIf cfg.enable {
programs.vscode = {
enable = true;
package = pkgs.vscode;
extensions = with pkgs.vscode-extensions; [
arrterian.nix-env-selector
bbenoist.nix
# brettm12345.nixfmt-vscode
# aaronduino.nix-lsp
# aliariff.auto-add-brackets
bradlc.vscode-tailwindcss
# bungcip.better-toml
coolbear.systemd-unit-file
# dawhite.mustache
dbaeumer.vscode-eslint
denoland.vscode-deno
# dlasagno.rasi
# dprint.dprint
eamodio.gitlens
editorconfig.editorconfig
esbenp.prettier-vscode
# EugenWiens.bitbake
elixir-lsp.vscode-elixir-ls # this is the one by Jake Becker, not the deprecated one
# kumar-harsh.graphql-for-vscode
matklad.rust-analyzer
# monokai.theme-monokai-pro-vscode
ms-azuretools.vscode-docker
ms-python.python
ms-python.vscode-pylance
ms-toolsai.jupyter
# ms-toolsai.jupyter-keymap
# ms-toolsai.jupyter-renderers
# ms-vscode-remote.remote-containers
ms-vscode-remote.remote-ssh
# ms-vscode-remote.remote-ssh-edit
# ms-vscode.cmake-tools
ms-vscode.cpptools
# msaraiva.surface
# pgourlain.erlang
# phoenixframework.phoenix
rubymaniac.vscode-paste-and-indent
# surajbarkale.ninja
timonwong.shellcheck
tuttieee.emacs-mcx
# twxs.cmake
# vadimcn.vscode-lldb
# vscode-icons-team.vscode-icons
# vscodevim.vim
wholroyd.jinja
xaver.clang-format
zxh404.vscode-proto3
];
keybindings = [
{
"key" = "ctrl+t";
"command" = "-workbench.action.showAllSymbols";
}
{
"key" = "ctrl+t";
"command" = "workbench.action.quickOpen";
}
{
"key" = "ctrl+p";
"command" = "-workbench.action.quickOpen";
}
];
userSettings = builtins.fromJSON (builtins.readFile ./settings.json);
};
home.packages = with pkgs; [
nil
shellcheck
];
};
}