nixos-config/modules/home/vscodium/default.nix

79 lines
2.8 KiB
Nix
Raw Normal View History

2023-11-05 17:56:55 +01:00
{ pkgs, ... }:
{
2023-11-05 11:40:44 +01:00
programs.vscode = {
enable = true;
2023-11-09 23:17:29 +01:00
package = pkgs.vscodium;
2023-11-08 20:38:46 +01:00
extensions = with pkgs.vscode-extensions; [
2023-12-06 19:08:02 +01:00
# nix language
2023-11-08 20:38:46 +01:00
bbenoist.nix
2023-12-06 19:08:02 +01:00
# python
2023-12-01 19:06:23 +01:00
ms-python.python
2023-12-23 20:21:23 +01:00
# C/C++
ms-vscode.cpptools
2023-12-06 19:08:02 +01:00
# Color theme
2023-11-09 23:11:13 +01:00
catppuccin.catppuccin-vsc
2023-11-09 23:11:32 +01:00
catppuccin.catppuccin-vsc-icons
2023-11-05 11:40:44 +01:00
];
2023-11-08 20:38:46 +01:00
userSettings = {
"update.mode" = "none";
"extensions.autoUpdate" = false; # This stuff fixes vscode freaking out when theres an update
2023-12-06 18:53:50 +01:00
"window.titleBarStyle" = "custom"; # needed otherwise vscode crashes, see https://github.com/NixOS/nixpkgs/issues/246509
2023-11-08 20:38:46 +01:00
"window.menuBarVisibility" = "toggle";
"editor.fontFamily" = "'JetBrainsMono Nerd Font', 'SymbolsNerdFont', 'monospace', monospace";
"terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font', 'SymbolsNerdFont'";
2023-12-06 18:58:55 +01:00
"editor.fontSize" = 16;
2023-11-08 20:38:46 +01:00
"workbench.colorTheme" = "Catppuccin Mocha";
2023-11-09 23:17:29 +01:00
"workbench.iconTheme" = "catppuccin-mocha";
2023-11-09 23:11:13 +01:00
"vsicons.dontShowNewVersionMessage" = true;
2023-12-14 16:03:52 +01:00
"explorer.confirmDragAndDrop" = false;
2023-11-08 20:38:46 +01:00
"editor.fontLigatures" = true;
"editor.minimap.enabled" = false;
2023-12-07 16:03:09 +01:00
"workbench.startupEditor" = "none";
2023-11-08 20:38:46 +01:00
2023-12-07 16:03:09 +01:00
"workbench.layoutControl.type" = "menu";
2023-12-07 16:31:20 +01:00
"workbench.editor.limit.enabled" = true;
"workbench.editor.limit.value" = 5;
2023-12-07 16:03:09 +01:00
"workbench.editor.limit.perEditorGroup" = true;
2023-12-07 22:25:15 +01:00
"workbench.editor.showTabs" = "single";
2023-12-07 16:03:09 +01:00
"files.autoSave" = "onWindowChange";
"explorer.openEditors.visible" = 0;
"breadcrumbs.enabled" = false;
"editor.renderControlCharacters" = false;
2023-12-07 16:09:21 +01:00
"workbench.activityBar.location" = "hidden";
2023-12-07 16:03:09 +01:00
"workbench.statusBar.visible" = false;
"editor.scrollbar.verticalScrollbarSize" = 2;
"editor.scrollbar.horizontalScrollbarSize" = 2;
"editor.scrollbar.vertical" = "hidden";
"editor.scrollbar.horizontal" = "hidden";
2023-12-07 16:04:38 +01:00
"workbench.layoutControl.enabled" = false;
2023-12-06 18:53:50 +01:00
"editor.mouseWheelZoom" = true;
2023-12-23 22:17:21 +01:00
"C_Cpp.intelliSenseUpdateDelay" = 500;
"C_Cpp.codeAnalysis.updateDelay" = 500;
"C_Cpp.autocompleteAddParentheses" = true;
2023-12-23 22:29:56 +01:00
"C_Cpp.formatting" = "vcFormat";
2023-12-23 22:17:21 +01:00
"C_Cpp.vcFormat.newLine.beforeOpenBrace.block" = "sameLine";
2023-12-23 22:17:42 +01:00
"C_Cpp.vcFormat.newLine.beforeOpenBrace.function" = "sameLine";
"C_Cpp.vcFormat.newLine.beforeOpenBrace.lambda" = "sameLine";
"C_Cpp.vcFormat.newLine.beforeOpenBrace.namespace" = "sameLine";
"C_Cpp.vcFormat.newLine.beforeOpenBrace.type" = "sameLine";
2023-12-23 22:17:21 +01:00
"C_Cpp.vcFormat.space.pointerReferenceAlignment" = "right";
2023-11-08 20:38:46 +01:00
};
2023-12-07 16:03:09 +01:00
# Keybindings
keybindings = [
{
key = "ctrl+q";
command = "editor.action.commentLine";
when = "editorTextFocus && !editorReadonly";
}
{
key = "ctrl+s";
command = "workbench.action.files.saveFiles";
}
];
2023-11-05 11:40:44 +01:00
};
}