flake/users/guanranwang/home-manager/modules/editor/vscode.nix

72 lines
2.2 KiB
Nix
Raw Normal View History

2023-11-05 09:21:37 +00:00
{
lib,
pkgs,
...
}: {
programs.vscode = {
enable = true;
package = pkgs.vscodium; # foss
enableExtensionUpdateCheck = false;
enableUpdateCheck = false;
2023-11-07 05:00:26 +00:00
keybindings = [
{
key = "tab";
command = "selectNextSuggestion";
when = "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus || suggestWidgetVisible && textInputFocus && !suggestWidgetHasFocusedSuggestion";
}
{
2023-11-17 12:00:28 +00:00
key = "shift+tab";
command = "selectPrevSuggestion";
when = "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus || suggestWidgetVisible && textInputFocus && !suggestWidgetHasFocusedSuggestion";
2023-11-07 05:00:26 +00:00
}
];
2023-11-05 09:21:37 +00:00
userSettings = {
2023-11-17 12:00:28 +00:00
diffEditor.ignoreTrimWhitespace = false;
editor.cursorBlinking = "smooth";
editor.cursorSmoothCaretAnimation = "on";
editor.fontFamily = lib.mkDefault "Monospace";
editor.fontWeight = 600;
editor.smoothScrolling = true;
editor.tabSize = 2;
2023-11-17 12:00:28 +00:00
explorer.confirmDragAndDrop = false;
explorer.confirmDelete = false;
files.autoSave = "onFocusChange";
files.trimTrailingWhitespace = true;
files.trimFinalNewlines = true;
security.workspace.trust.enabled = false;
telemetry.telemetryLevel = "off";
terminal.integrated.cursorStyle = "line";
terminal.integrated.smoothScrolling = true;
2023-11-17 12:00:28 +00:00
window.menuBarVisibility = "toggle";
workbench.colorTheme = "Tokyo Night";
workbench.list.smoothScrolling = true;
2023-11-17 12:00:28 +00:00
# Workaround for VSCode crashing
# https://github.com/microsoft/vscode/issues/184124
window.titleBarStyle = "custom";
workbench.layoutControl.enabled = false;
window.commandCenter = false;
2023-11-05 09:21:37 +00:00
2023-11-17 12:00:28 +00:00
# Language specific
### Nix
"[nix]".editor.tabSize = 2;
2023-11-05 09:21:37 +00:00
# Extensions
### GitLens
2023-11-17 12:00:28 +00:00
gitlens.telemetry.enabled = false;
2023-11-05 09:21:37 +00:00
};
extensions = with pkgs.vscode-extensions; [
### QoL
eamodio.gitlens
esbenp.prettier-vscode
ritwickdey.liveserver
vscodevim.vim
### Themes
enkia.tokyo-night
#catppuccin.catppuccin-vsc-icons
#catppuccin.catppuccin-vsc
];
};
}