nixos/common/vscode.nix

103 lines
3.2 KiB
Nix
Executable file

{ pkgs, ... }:
{
programs.vscode = {
enable = true;
extensions = with pkgs.vscode-extensions; [
jdinhlife.gruvbox
vscodevim.vim
yzhang.markdown-all-in-one
haskell.haskell
justusadam.language-haskell
maximedenes.vscoq
james-yu.latex-workshop
bbenoist.nix
mkhl.direnv
catppuccin.catppuccin-vsc
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "theme-panda";
publisher = "tinkertrain";
version = "1.3.0";
sha256 = "sha256-ijOXoby3FHgDhF2sibXnGpkldKNPCoEXCY0Iw0ndUtw=";
}
{
name = "agda-mode";
publisher = "banacorn";
version = "0.4.1";
sha256 = "sha256-Zt2OifhS5BI0HcMZkKOa1gqV9Vpj0lIUR6VcHvX5M9o=";
}
{
name = "yuck";
publisher = "eww-yuck";
version = "0.0.3";
sha256 = "sha256-DITgLedaO0Ifrttu+ZXkiaVA7Ua5RXc4jXQHPYLqrcM=";
}
];
userSettings = {
"agdaMode.connection.agdaLanguageServer" = false;
"agdaMode.highlighting.getHighlightWithThemeColors" = false;
"editor.unicodeHighlight.ambiguousCharacters" = false;
"editor.semanticHighlighting.enabled" = true;
"workbench.colorTheme" = "Catppuccin Mocha";
# "workbench.iconTheme" = "catppuccin-mocha";
"haskell.manageHLS" = "PATH";
"editor.fontFamily" = "Berkeley Mono, DejaVu Sans Mono, monospace, Unifont";
"terminal.integrated.minimumContrastRatio" = 1;
"terminal.integrated.shellIntegration.enabled" = false;
"terminal.integrated.profiles.linux" = {
bash = null;
zsh = {
path = "/run/current-system/sw/bin/zsh";
icon = "terminal-linux";
};
};
"terminal.integrated.defaultProfile.linux" = "zsh";
"vim.handleKeys" = {
"<C-c>" = false;
"<C-x>" = false;
"<C-s>" = false;
"<C-v>" = false;
"<C-a>" = false;
"<C-d>" = false;
};
"vim.overrideCopy" = false;
"window.titleBarStyle" = "custom";
"window.customMenuBarAltFocus" = false;
"window.enableMenuBarMnemonics" = false;
#"ltex.additionalRules.motherTongue" = "de-DE";
#"ltex.language" = "de-DE";
#"ltex.ltex-ls.path" = "/etc/profiles/per-user/leonv/";
"ltex.java.path" = "/etc/profiles/per-user/leonv/";
#"ltex.sentenceCacheSize" = 50000;
#"ltex.java.maximumHeapSize" = 8192;
"editor.tabSize" = 2;
"explorer.excludeGitIgnore" = true;
"files.exclude" = {
"**/*.agdai" = true;
};
# try to fix agda suggestions:
"editor.acceptSuggestionOnCommitCharacter" = false;
"editor.minimap.enabled" = false;
"editor.autoClosingOvertype" = "never";
"editor.autoClosingBrackets" = "never";
"editor.accessibilitySupport" = "off";
};
keybindings = [
{
key = "ctrl+shift+v";
command = "extension.vim_ctrl+v";
when = "editorTextFocus && vim.active && !inDebugRepl";
}
{
key = "ctrl+shift+=";
command = "editor.action.fontZoomIn";
when = "";
}
{
key = "ctrl+shift+-";
command = "editor.action.fontZoomOut";
when = "";
}
];
};
}