nixos/common/vscode.nix

203 lines
5.7 KiB
Nix
Executable file

{ pkgs, ... }:
{
programs.vscode = {
enable = true;
package = pkgs.vscodium;
extensions = pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "vsc-prolog";
publisher = "arthurwang";
version = "0.8.23";
sha256 = "1i6rgz8ap269pph6bh04bimw9yyajd7iyq8dvv7sqmpfk859vb8d";
}
{
name = "agda-mode";
publisher = "banacorn";
version = "0.5.1";
sha256 = "02r28a8y6pdjhad76z193xrlc4yk4fsynn064w7cff56gdc31bd5";
}
{
name = "nix";
publisher = "bbenoist";
version = "1.0.1";
sha256 = "0zd0n9f5z1f0ckzfjr38xw2zzmcxg1gjrava7yahg5cvdcw6l35b";
}
{
name = "catppuccin-vsc";
publisher = "catppuccin";
version = "3.16.0";
sha256 = "1g4021qrsy67fw2b1lvazn58nvr64dkvpywqanbpz24dlgk2573r";
}
{
name = "doxdocgen";
publisher = "cschlosser";
version = "1.4.0";
sha256 = "1d95znf2vsdzv9jqiigh9zm62dp4m9jz3qcfaxn0n0pvalbiyw92";
}
{
name = "simple-alignment";
publisher = "earshinov";
version = "1.0.1";
sha256 = "1ak1v1dbwx7d6ablla5njznj59z9jaqbzmci22jmpsd3a70kka1f";
}
{
name = "yuck";
publisher = "eww-yuck";
version = "0.0.3";
sha256 = "1hxdxa13s1vlilw7fidr8vnl19c9wjazjvnvmqgl4fsswwny110c";
}
{
name = "todo-tree";
publisher = "gruntfuggly";
version = "0.0.226";
sha256 = "0yrc9qbdk7zznd823bqs1g6n2i5xrda0f9a7349kknj9wp1mqgqn";
}
{
name = "haskell";
publisher = "haskell";
version = "2.5.3";
sha256 = "13s39fvb6kwxklcfsa5xh4z7y8y3y0h6jv39ljrgl24qkwgx8xnw";
}
{
name = "latex-workshop";
publisher = "james-yu";
version = "10.7.5";
sha256 = "0habsbk0w2g8vcxqzdbnwy6f0x0ghvcx1f9szd4p1pwjfij2vnax";
}
{
name = "c-cpp-flylint";
publisher = "jbenden";
version = "1.15.0";
sha256 = "1z1l9ygxsqjn8vpncjzyisdg2sirgzf4ghiv5ak32mkq3k8hgawk";
}
{
name = "better-cpp-syntax";
publisher = "jeff-hykin";
version = "1.27.1";
sha256 = "037nigza7n71j5vgl3qw0swrmy8gvfj9m8jbi1nb2a3lmsifivqq";
}
{
name = "language-haskell";
publisher = "justusadam";
version = "3.6.0";
sha256 = "115y86w6n2bi33g1xh6ipz92jz5797d3d00mr4k8dv5fz76d35dd";
}
{
name = "lean4";
publisher = "leanprover";
version = "0.0.187";
sha256 = "04pyq6v0s5dy6b8bpjakp33dff4plxxa100x8gvbw36v6ddpsx7d";
}
{
name = "vscoq";
publisher = "maximedenes";
version = "2.2.1";
sha256 = "04m1dby6zfzg5nahnricjax28g47mgnja7d9cbll270i7ahnyncm";
}
{
name = "direnv";
publisher = "mkhl";
version = "0.17.0";
sha256 = "1n2qdd1rspy6ar03yw7g7zy3yjg9j1xb5xa4v2q12b0y6dymrhgn";
}
{
name = "cpptools";
publisher = "ms-vscode";
version = "1.23.3";
sha256 = "03gwyrrcc4kw84ss7mh8ksfib1bvmhmr1pa5sg11nzj2hzxnikgd";
}
{
name = "vscode-ltex";
publisher = "valentjn";
version = "13.1.0";
sha256 = "15qm97i9l65v3x0zxl1895ilazz2jk2wmizbj7kmds613jz7d46c";
}
{
name = "markdown-all-in-one";
publisher = "yzhang";
version = "3.6.2";
sha256 = "1n9d3qh7vypcsfygfr5rif9krhykbmbcgf41mcjwgjrf899f11h4";
}
];
userSettings = {
"prolog.executablePath" = "/etc/profiles/per-user/leonv/bin/swipl";
"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;
};
"C_Cpp.formatting" = "disabled";
"vim.overrideCopy" = false;
"window.titleBarStyle" = "custom";
"window.customMenuBarAltFocus" = false;
"window.enableMenuBarMnemonics" = false;
"ltex.sentenceCacheSize" = 50000;
"ltex.java.maximumHeapSize" = 8192;
"ltex.latex.environments" = {
"tikzcd" = "ignore";
};
"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";
# 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"
];
};
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 = "";
}
];
};
}