nixcfg/homeManagerModules/apps/vsCodium/default.nix

113 lines
3.2 KiB
Nix
Raw Normal View History

{
config,
lib,
pkgs,
...
2024-08-07 21:55:57 -04:00
}: let
cfg = config.ar.home;
in {
config = lib.mkIf cfg.apps.vsCodium.enable {
2024-03-29 07:21:25 -04:00
programs.vscode = {
enable = true;
package = pkgs.vscodium;
2024-03-29 07:21:25 -04:00
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
2024-07-10 23:43:51 -04:00
2024-08-04 11:17:01 -04:00
keybindings = [
{
"key" = "alt+e";
"command" = "workbench.action.quickOpen";
}
{
"key" = "ctrl+p";
"command" = "-workbench.action.quickOpen";
}
{
"key" = "ctrl+p";
"command" = "workbench.action.showCommands";
}
{
"key" = "ctrl+shift+p";
"command" = "-workbench.action.showCommands";
}
];
2024-03-29 07:21:25 -04:00
userSettings = {
"diffEditor.ignoreTrimWhitespace" = false;
2024-08-07 21:55:57 -04:00
"editor.fontFamily" = "'${cfg.theme.monospaceFont.name} ${cfg.theme.monospaceFont.size}', 'monospace', monospace";
"editor.fontSize" = lib.mkDefault 14;
2024-07-09 23:33:06 -04:00
"editor.formatOnPaste" = true;
"editor.formatOnSave" = true;
"editor.formatOnType" = true;
2024-06-28 21:07:39 -04:00
"editor.rulers" = [80];
2024-08-04 11:17:01 -04:00
"editor.wordWrap" = "wordWrapColumn";
"editor.wordWrapColumn" = 80;
"explorer.confirmDelete" = false;
"files.autoSave" = "afterDelay";
2024-03-29 07:21:25 -04:00
"git.autofetch" = true;
"git.confirmSync" = false;
2024-07-09 23:33:06 -04:00
"nix" = {
"enableLanguageServer" = true;
"formatterPath" = lib.getExe pkgs.alejandra;
2024-08-04 11:17:01 -04:00
"serverPath" = lib.getExe pkgs.nixd;
"serverSettings" = {
"nil" = {
"diagnostics" = {
"ignored" = ["unused_binding" "unused_with"];
};
2024-07-09 23:33:06 -04:00
2024-08-04 11:17:01 -04:00
"formatting" = {
"command" = ["${lib.getExe pkgs.alejandra}"];
};
2024-07-09 23:33:06 -04:00
};
2024-08-04 11:17:01 -04:00
"nixd" = {
"formatting" = {
"command" = ["${lib.getExe pkgs.alejandra}"];
};
2024-07-09 23:33:06 -04:00
};
};
};
"[shellscript]" = {
"editor.defaultFormatter" = "foxundermoon.shell-format";
};
2024-07-10 23:43:51 -04:00
2024-07-09 23:33:06 -04:00
"shellformat.flag" = "-i 4";
2024-08-07 21:55:57 -04:00
"terminal.external.linuxExec" = lib.getExe cfg.defaultApps.terminal;
2024-06-28 21:07:39 -04:00
"terminal.integrated.fontSize" = lib.mkDefault 14;
"update.mode" = "none";
"window.menuBarVisibility" = "hidden";
"window.titleBarStyle" = lib.mkDefault "native";
2024-03-29 07:21:25 -04:00
"window.zoomPerWindow" = false;
"workbench.colorTheme" =
2024-08-07 21:55:57 -04:00
if cfg.theme.darkMode
then "Adwaita Dark"
2024-07-02 13:25:03 -04:00
else "Adwaita Light";
"workbench.iconTheme" = "vs-seti";
"workbench.preferredDarkColorTheme" = "Adwaita Dark";
2024-07-02 13:25:03 -04:00
"workbench.preferredLightColorTheme" = "Adwaita Light";
2024-03-29 07:21:25 -04:00
};
extensions = with pkgs.vscode-extensions; [
coolbear.systemd-unit-file
2024-07-09 23:33:06 -04:00
foxundermoon.shell-format
github.vscode-github-actions
github.vscode-pull-request-github
jnoortheen.nix-ide
justusadam.language-haskell
ms-python.python
ms-vscode.cpptools-extension-pack
oderwat.indent-rainbow
piousdeer.adwaita-theme
rubymaniac.vscode-paste-and-indent
rust-lang.rust-analyzer
tomoki1207.pdf
2024-03-29 07:21:25 -04:00
];
};
};
}