{pkgs, ...}: { programs.vscode = { enable = true; package = if pkgs.hostPlatform.isDarwin then pkgs.vscode else pkgs.vscode.fhsWithPackages (ps: with ps; [rustup zlib openssl.dev pkg-config]); extensions = with pkgs.vscode-extensions; [ bbenoist.nix catppuccin.catppuccin-vsc catppuccin.catppuccin-vsc-icons llvm-vs-code-extensions.vscode-clangd kamadorueda.alejandra mkhl.direnv usernamehw.errorlens vadimcn.vscode-lldb vscodevim.vim ]; userSettings = { "files.autoSave" = "afterDelay"; "editor.fontFamily" = "Iosevka Comfy"; "editor.fontLigatures" = true; "editor.fontSize" = if pkgs.hostPlatform.isDarwin then 14 else 16; "editor.formatOnSave" = true; "editor.minimap.enabled" = false; "git.autofetch" = true; "git.confirmSync" = false; "git.enableSmartCommit" = true; "vim.camelCaseMotion.enable" = true; "vim.smartRelativeLine" = false; "vim.sneak" = true; "vim.useSystemClipboard" = true; "vim.normalModeKeyBindingsNonRecursive" = [ { before = ["K"]; commands = ["editor.action.showHover"]; silent = true; } ]; "mesonbuild.downloadLanguageServer" = true; "terminal.integrated.fontSize" = if pkgs.hostPlatform.isDarwin then 14 else 16; "workbench.colorTheme" = "Catppuccin Mocha"; "workbench.iconTheme" = "catppuccin-mocha"; "window.menuBarVisibility" = "toggle"; "window.titleBarStyle" = "custom"; }; }; }