nixos-config/config/programs/vscode.nix

110 lines
3.6 KiB
Nix
Raw Normal View History

2022-03-20 16:12:55 +00:00
{ pkgs, ... }: {
programs.vscode = {
enable = true;
2022-03-20 18:19:46 +00:00
mutableExtensionsDir = false;
2022-03-20 16:59:55 +00:00
extensions = (with pkgs.vscode-extensions; [
arrterian.nix-env-selector
bbenoist.nix
eamodio.gitlens
github.copilot
jnoortheen.nix-ide
matklad.rust-analyzer
ms-vscode-remote.remote-ssh
serayuzgur.crates
tamasfe.even-better-toml
ritwickdey.liveserver
vadimcn.vscode-lldb
yzhang.markdown-all-in-one
]) ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [{
name = "rust-doc-viewer";
publisher = "jscearcy";
version = "2.0.1";
sha256 = "sha256-bVWM3RlcXY0+fACKrOtq63dHo0neyaw/TuhUxwCxeYs=";
}
{
name = "cargo";
publisher = "panicbit";
version = "0.2.3";
sha256 = "sha256-B0oLZE8wtygTaUX9/qOBg9lJAjUUg2i7B2rfSWJerEU=";
}
{
name = "vscode-rust-test-adapter";
publisher = "swellaby";
version = "0.11.0";
sha256 = "sha256-IgfcIRF54JXm9l2vVjf7lFJOVSI0CDgDjQT+Hw6FO4Q=";
}
{
name = "discord-vscode";
publisher = "icrawl";
version = "5.8.0";
sha256 = "sha256-IU/looiu6tluAp8u6MeSNCd7B8SSMZ6CEZ64mMsTNmU=";
2022-03-20 17:42:40 +00:00
}
{
name = "vscode-test-explorer";
publisher = "hbenl";
version = "2.21.2";
sha256 = "sha256-fHyePd8fYPt7zPHBGiVmd8fRx+IM3/cSBCyiI/C0VAg=";
2022-03-20 18:19:46 +00:00
}
{
name = "test-adapter-converter";
publisher = "ms-vscode";
version = "0.1.5";
sha256 = "sha256-nli4WJ96lL3JssNuwLCsthvphI7saFT2ktWQ46VNooc=";
}
{
name = "material-icon-theme";
publisher = "PKief";
version = "4.14.1";
sha256 = "sha256-OHXi0EfeyKMeFiMU5yg0aDoWds4ED0lb+l6T12XZ3LQ=";
2022-03-20 18:19:46 +00:00
}
{
name = "base16-themes";
publisher = "AndrsDC";
version = "1.4.5";
sha256 = "sha256-molx+cRKSB6os7pDr0U1v/Qbaklps+OvBkZCkSWEvWM=";
2022-03-20 16:59:55 +00:00
}];
userSettings = {
"crates.listPreReleases" = true;
"diffEditor.codeLens" = true;
"editor.bracketPairColorization.enabled" = true;
"editor.cursorSmoothCaretAnimation" = true;
"editor.cursorSurroundingLines" = 3;
"editor.foldingImportsByDefault" = true;
"editor.fontFamily" = "'FiraCode Nerd Font Mono', 'Noto Sans Mono CJK', monospace";
"editor.formatOnPaste" = true;
"editor.formatOnSave" = true;
"editor.formatOnSaveMode" = "modificationsIfAvailable";
"editor.formatOnType" = true;
"editor.guides.bracketPairs" = true;
"editor.inlineSuggest.enabled" = true;
"editor.renderWhitespace" = "all";
"editor.smoothScrolling" = true;
"editor.suggest.localityBonus" = true;
"editor.suggest.preview" = true;
"editor.suggest.shareSuggestSelections" = true;
"editor.tabCompletion" = "on";
"editor.tabSize" = 2;
"editor.multiCursorModifier" = "ctrlCmd"; # Multi-Cursor wont work otherwise
"explorer.experimental.fileNesting.enabled" = true;
"files.insertFinalNewline" = true;
"files.trimFinalNewlines" = true;
"files.trimTrailingWhitespace" = true;
"git.autoStash" = true;
"git.enableCommitSigning" = true;
"git.enableSmartCommit" = true;
"git.fetchOnPull"= true;
"git.rebaseWhenSync" = true;
"nix.enableLanguageServer" = true;
"nix.serverPath" = "${pkgs.rnix-lsp}/bin/rnix-lsp";
"search.smartCase" = true;
"telemetry.telemetryLevel" = "off";
"terminal.integrated.shellIntegration.enabled" = true;
"update.mode" = "none";
# TODO: workbench.colorTheme
"workbench.commandPalette.preserveInput" = true;
# TODO: workbench.iconTheme
"workbench.list.smoothScrolling" = true;
};
2022-03-20 16:12:55 +00:00
};
}