2025-01-16 16:11:24 -05:00
|
|
|
{ pkgs, ... }:
|
|
|
|
{
|
2025-01-11 18:53:55 -05:00
|
|
|
programs.vscode = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.vscodium;
|
|
|
|
mutableExtensionsDir = false;
|
2025-02-23 12:47:42 -05:00
|
|
|
profiles.default = {
|
|
|
|
enableUpdateCheck = false;
|
|
|
|
enableExtensionUpdateCheck = false;
|
|
|
|
extensions =
|
|
|
|
# if unfree
|
|
|
|
# with pkgs.vscode-marketplace;
|
|
|
|
with pkgs.open-vsx; [
|
|
|
|
vscodevim.vim
|
|
|
|
jnoortheen.nix-ide
|
|
|
|
github.github-vscode-theme
|
|
|
|
rust-lang.rust-analyzer
|
|
|
|
shd101wyy.markdown-preview-enhanced
|
|
|
|
fwcd.kotlin
|
2025-02-27 12:46:39 -05:00
|
|
|
alefragnani.bookmarks
|
|
|
|
tomrijndorp.find-it-faster
|
2025-03-01 10:11:34 -05:00
|
|
|
streetsidesoftware.code-spell-checker
|
2025-02-23 12:47:42 -05:00
|
|
|
];
|
|
|
|
userSettings = {
|
|
|
|
"workbench.colorTheme" = "GitHub Dark Default";
|
2025-02-27 12:46:39 -05:00
|
|
|
"files.autoSave" = "onFocusChange";
|
2025-02-23 12:47:42 -05:00
|
|
|
"nix.enableLanguageServer" = true;
|
|
|
|
"nix.serverPath" = "nil";
|
|
|
|
"editor.fontFamily" = "IBM Plex Mono";
|
2025-02-27 12:46:39 -05:00
|
|
|
"editor.fontSize" = 15;
|
|
|
|
"window.zoomLevel" = 0.5;
|
2025-01-29 15:24:42 -05:00
|
|
|
|
2025-02-28 02:25:51 -05:00
|
|
|
# vim stuff
|
2025-02-27 12:46:39 -05:00
|
|
|
"vim.leader" = ",";
|
2025-02-23 12:47:42 -05:00
|
|
|
"vim.normalModeKeyBindings" = [
|
|
|
|
{
|
|
|
|
"before" = [ ";" ];
|
|
|
|
"after" = [ ":" ];
|
|
|
|
"silent" = true;
|
|
|
|
}
|
2025-02-27 12:46:39 -05:00
|
|
|
{
|
|
|
|
"before" = [ "<leader>" "m" ];
|
|
|
|
"commands" = [ "bookmarks.toggle" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
"before" = [ "<leader>" "l" ];
|
|
|
|
"commands" = [ "bookmarks.toggleLabeled" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
"before" = [ "<leader>" "b" ];
|
|
|
|
"commands" = [ "bookmarks.list" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
"before" = [ "<leader>" "s" ];
|
|
|
|
"commands" = [ "workbench.action.toggleSidebarVisibility" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
"before" = [ "<leader>" "f" "f" ];
|
|
|
|
"commands" = [ "find-it-faster.findFiles" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
"before" = [ "<leader>" "f" "g"];
|
|
|
|
"commands" = [ "find-it-faster.findWithinFiles"];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
"before" = [ "<leader>" "f" "t"];
|
|
|
|
"commands" = [ "find-it-faster.findWithinFilesWithType"];
|
|
|
|
}
|
2025-02-28 02:25:51 -05:00
|
|
|
# "gd" for definitions is by default
|
|
|
|
{
|
|
|
|
"before" = [ "g" "r" ];
|
|
|
|
"commands" = [ "editor.action.goToReferences" ];
|
|
|
|
}
|
|
|
|
# the default is weird when you need to go back within a file
|
|
|
|
{
|
|
|
|
"before" = [ "C-o" ];
|
|
|
|
"commands" = [ "workbench.action.navigateBack" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
"before" = [ "C-i" ];
|
|
|
|
"commands" = [ "workbench.action.navigateForward" ];
|
|
|
|
}
|
2025-02-23 12:47:42 -05:00
|
|
|
];
|
2025-02-27 12:46:39 -05:00
|
|
|
"vim.insertModeKeyBindings" = [
|
|
|
|
{
|
|
|
|
"before" = [ "C-a" ];
|
|
|
|
"commands" = [ "cursorHome" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
"before" = [ "C-e" ];
|
|
|
|
"commands" = [ "cursorEnd" ];
|
|
|
|
}
|
|
|
|
];
|
|
|
|
"vim.visualModeKeyBindings" = [
|
|
|
|
{
|
|
|
|
"before" = [ ">" ];
|
|
|
|
"commands" = [ "editor.action.indentLines" ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
"before" = [ "<" ];
|
|
|
|
"commands" = [ "editor.action.outdentLines" ];
|
|
|
|
}
|
|
|
|
];
|
|
|
|
"extensions.experimental.affinity" = {
|
|
|
|
"vscodevim.vim" = 1;
|
|
|
|
};
|
2025-02-23 12:47:42 -05:00
|
|
|
"workbench.startupEditor" = "none";
|
2025-02-27 12:46:39 -05:00
|
|
|
"git.openRepositoryInParentFolders" = "never";
|
|
|
|
|
|
|
|
# terminal stuff
|
|
|
|
"terminal.integrated.cursorBlinking" = true;
|
|
|
|
"terminal.integrated.cursorStyle" = "line";
|
|
|
|
"terminal.integrated.customGlyphs" = false;
|
|
|
|
"terminal.integrated.env.linux" = {
|
|
|
|
# https://github.com/tomrijndorp/vscode-finditfaster/issues/112#issuecomment-2475227546
|
|
|
|
FZF_DEFAULT_OPTS = "--bind ctrl-n:down,ctrl-p:up";
|
|
|
|
};
|
|
|
|
# don't let the workbench handle terminal keys like ctrl+n and friends
|
|
|
|
"terminal.integrated.sendKeybindingsToShell" = true;
|
|
|
|
"terminal.integrated.allowChords" = false;
|
2025-02-28 02:25:51 -05:00
|
|
|
|
|
|
|
"security.promptForLocalFileProtocolHandling" = false;
|
|
|
|
"security.promptForRemoteFileProtocolHandling" = false;
|
2025-03-01 10:11:34 -05:00
|
|
|
"markdown-preview-enhanced.previewTheme" = "github-dark.css";
|
|
|
|
"editor.minimap.enabled" = false;
|
|
|
|
"explorer.confirmDelete" = false;
|
|
|
|
"explorer.confirmDragAndDrop" = false;
|
2025-01-29 15:24:42 -05:00
|
|
|
};
|
|
|
|
};
|
2025-01-11 18:53:55 -05:00
|
|
|
};
|
|
|
|
}
|