My Nix Configuration
1{ 2 pkgs, 3 lib, 4 config, 5 ... 6}: 7let 8 cfg = config.py.programs.vscodium; 9in 10{ 11 options.py.programs.vscodium.enable = lib.mkEnableOption "VSCodium"; 12 config.programs.vscode = lib.mkIf cfg.enable { 13 enable = true; 14 package = pkgs.vscode; 15 profiles.default.userSettings = { 16 "biome.lspBin" = ""; 17 "breadcrumbs.enabled" = false; 18 "editor.formatOnPaste" = true; 19 "editor.formatOnSave" = true; 20 "editor.formatOnSaveMode" = "file"; 21 "editor.formatOnType" = true; 22 "editor.fontSize" = 15; 23 "editor.fontFamily" = "'IBM Plex Mono', 'monospace', monospace"; 24 "editor.minimap.enabled" = false; 25 "explorer.confirmDelete" = false; 26 "explorer.confirmDragAndDrop" = false; 27 "extensions.autoCheckUpdates" = false; 28 "extensions.autoUpdate" = false; 29 "extensions.closeExtensionDetailsOnViewChange" = true; 30 "extensions.ignoreRecommendations" = true; 31 "npm.keybindingsChangedWarningShown" = true; 32 "ruff.nativeServer" = true; 33 "ruff.showNotifications" = "onError"; 34 "nix.enableLanguageServer" = true; 35 "nix.serverPath" = lib.getExe pkgs.nixd; 36 "[nix]" = { 37 "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; 38 }; 39 "python.analysis.autoImportCompletions" = true; 40 "python.analysis.autoSearchPaths" = true; 41 "python.analysis.completeFunctionParens" = true; 42 "python.experiments.enabled" = false; 43 "python.languageServer" = "Pylance"; 44 "telemetry.telemetryLevel" = "off"; 45 "terminal.external.linuxExec" = "ghostty"; 46 "update.mode" = "none"; 47 "update.showReleaseNotes" = false; 48 "workbench.colorTheme" = "Catppuccin Mocha"; 49 "workbench.iconTheme" = "catppuccin-mocha"; 50 "vscode-neovim.neovimExecutablePaths.linux" = lib.getExe pkgs.neovim; 51 "python.formatting.provider" = "black"; 52 }; 53 }; 54}