nixos/common/vscode.nix

128 lines
3.7 KiB
Nix
Raw Normal View History

2024-02-16 13:59:46 +01:00
{ pkgs, ... }:
{
programs.vscode = {
enable = true;
2024-02-25 21:03:35 +01:00
package = pkgs.vscodium;
2024-02-16 13:59:46 +01:00
extensions = with pkgs.vscode-extensions; [
2024-02-25 21:03:35 +01:00
bbenoist.nix
2024-02-16 13:59:46 +01:00
yzhang.markdown-all-in-one
haskell.haskell
justusadam.language-haskell
maximedenes.vscoq
james-yu.latex-workshop
mkhl.direnv
catppuccin.catppuccin-vsc
2024-02-21 13:33:07 +01:00
valentjn.vscode-ltex
2024-02-16 13:59:46 +01:00
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
2024-02-25 21:03:35 +01:00
{
name = "agda-mode";
publisher = "banacorn";
version = "0.4.7";
sha256 = "sha256-gNa3n16lP3ooBRvGaugTua4IXcIzpMk7jBYMJDQsY00=";
}
{
name = "yuck";
publisher = "eww-yuck";
version = "0.0.3";
sha256 = "sha256-DITgLedaO0Ifrttu+ZXkiaVA7Ua5RXc4jXQHPYLqrcM=";
}
2024-03-10 10:03:10 +01:00
{
name = "simple-alignment";
publisher = "earshinov";
version = "1.0.1";
sha256 = "sha256-Lqg5wVGj6VulEJHVv7CS6aci7Ze2KEqXMu10vlrYYao=";
}
{
name = "todo-tree";
publisher = "Gruntfuggly";
version = "0.0.226";
sha256 = "sha256-Fj9cw+VJ2jkTGUclB1TLvURhzQsaryFQs/+f2RZOLHs=";
}
2024-03-20 16:12:45 +01:00
{
name = "lean4";
publisher = "leanprover";
version = "0.0.133";
sha256 = "sha256-tjBTOkh4UeEmOo/ZbadpeyW07QiPcUO4aI2NWdtTxrE=";
}
2024-02-16 13:59:46 +01:00
];
2024-02-25 21:03:35 +01:00
userSettings = {
"agdaMode.connection.agdaLanguageServer" = false;
"agdaMode.highlighting.getHighlightWithThemeColors" = false;
"editor.unicodeHighlight.ambiguousCharacters" = false;
"editor.semanticHighlighting.enabled" = true;
"workbench.colorTheme" = "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.sentenceCacheSize" = 50000;
"ltex.java.maximumHeapSize" = 8192;
2024-02-26 14:28:05 +01:00
"ltex.latex.environments" = {
"tikzcd" = "ignore";
};
2024-02-25 21:03:35 +01:00
"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";
2024-03-10 10:03:10 +01:00
# for latex
"todo-tree.regex.regex" = "((//|#|<!--|;|/\\*|^|%|\\\\)\\s*($TAGS)\\{*|^\\s*- \\[ \\])";
"todo-tree.regex.regexCaseSensitive" = false;
"latex-workshop.linting.chktex.enabled" = true;
"editor.formatOnSave" = true;
"latex-workshop.linting.chktex.exec.args" = [
"-wall"
"-n21"
"-n22"
"-n30"
"-e16"
"-q"
];
2024-02-25 21:03:35 +01:00
};
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 = "";
}
];
2024-02-16 13:59:46 +01:00
};
}