{ pkgs, lib, config, ... }: let cfg = config.py.programs.vscodium; in { options.py.programs.vscodium.enable = lib.mkEnableOption "VSCodium"; config.programs.vscode = lib.mkIf cfg.enable { enable = true; package = pkgs.vscode; profiles.default.userSettings = { "biome.lspBin" = ""; "breadcrumbs.enabled" = false; "editor.formatOnPaste" = true; "editor.formatOnSave" = true; "editor.formatOnSaveMode" = "file"; "editor.formatOnType" = true; "editor.fontSize" = 15; "editor.fontFamily" = "'IBM Plex Mono', 'monospace', monospace"; "editor.minimap.enabled" = false; "explorer.confirmDelete" = false; "explorer.confirmDragAndDrop" = false; "extensions.autoCheckUpdates" = false; "extensions.autoUpdate" = false; "extensions.closeExtensionDetailsOnViewChange" = true; "extensions.ignoreRecommendations" = true; "npm.keybindingsChangedWarningShown" = true; "ruff.nativeServer" = true; "ruff.showNotifications" = "onError"; "nix.enableLanguageServer" = true; "nix.serverPath" = lib.getExe pkgs.nixd; "[nix]" = { "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; }; "python.analysis.autoImportCompletions" = true; "python.analysis.autoSearchPaths" = true; "python.analysis.completeFunctionParens" = true; "python.experiments.enabled" = false; "python.languageServer" = "Pylance"; "telemetry.telemetryLevel" = "off"; "terminal.external.linuxExec" = "ghostty"; "update.mode" = "none"; "update.showReleaseNotes" = false; "workbench.colorTheme" = "Catppuccin Mocha"; "workbench.iconTheme" = "catppuccin-mocha"; "vscode-neovim.neovimExecutablePaths.linux" = lib.getExe pkgs.neovim; "python.formatting.provider" = "black"; }; }; }