From 0f7580a893df8d6956a52c263e731d8d00add7bc Mon Sep 17 00:00:00 2001 From: Vuong Hoang Date: Mon, 27 Jul 2026 23:13:28 -0700 Subject: [PATCH] zed: track settings and the australis theme Brings the Zed configuration under dotfiles management, stowed to ~/.config/zed alongside the other home_config packages. settings.json carries the Australis Dark theme selection, the PFI-LiteLLM OpenAI-compatible provider, explicit default_model and inline_assistant_model assignments, and the edit-prediction endpoint. The model assignments are required: the Inline Assistant, git commit message generation, and thread summaries each resolve their model independently of the agent panel's UI selection, and report the provider as unconfigured when neither setting is present. themes/australis-dark.json is generated from the palette spec in the australis repo (zed/build-theme.py there is the source of truth). The prompts/ directory is deliberately left untracked. It is an LMDB database with an active lock file, not user-authored content. No credentials are included. The provider API key lives in the system keychain, which is where Zed stores it; endpoint addresses are internal RFC 1918. --- home_config/zed/settings.json | 72 ++++ home_config/zed/themes/australis-dark.json | 426 +++++++++++++++++++++ 2 files changed, 498 insertions(+) create mode 100644 home_config/zed/settings.json create mode 100644 home_config/zed/themes/australis-dark.json diff --git a/home_config/zed/settings.json b/home_config/zed/settings.json new file mode 100644 index 0000000..5e91742 --- /dev/null +++ b/home_config/zed/settings.json @@ -0,0 +1,72 @@ +// Zed settings +// +// For information on how to configure Zed, see the Zed +// documentation: https://zed.dev/docs/configuring-zed +// +// To see all of Zed's default settings without changing your +// custom settings, run `zed: open default settings` from the +// command palette (cmd-shift-p / ctrl-shift-p) +{ + "edit_predictions": { + "allow_data_collection": "no", + "provider": "open_ai_compatible_api", + "open_ai_compatible_api": { + "prompt_format": "qwen", + "max_output_tokens": 100, + "model": "coder-fast", + "api_url": "http://10.250.50.70:4141/v1/completions" + } + }, + "disable_ai": false, + "agent": { + "default_model": { + "provider": "PFI-LiteLLM", + "model": "gen" + }, + "inline_assistant_model": { + "provider": "PFI-LiteLLM", + "model": "gen" + }, + "show_turn_stats": true, + "favorite_models": [], + "model_parameters": [], + "auto_compact": { + "threshold": "90%" + } + }, + "buffer_font_family": "VictorMono Nerd Font", + "ui_font_family": ".ZedSans", + "language_models": { + "openai_compatible": { + "PFI-LiteLLM": { + "api_url": "http://10.250.50.70:4000/v1", + "available_models": [ + { + "name": "gen", + "max_tokens": 200000, + "max_output_tokens": 32000, + "max_completion_tokens": 200000, + "capabilities": { + "tools": true, + "images": true, + "parallel_tool_calls": false, + "prompt_cache_key": false, + "chat_completions": true, + "interleaved_reasoning": false, + "max_tokens_parameter": false + } + } + ] + } + } + }, + "vim_mode": false, + "icon_theme": "Zed (Default)", + "ui_font_size": 16.0, + "buffer_font_size": 15, + "theme": { + "mode": "dark", + "light": "One Light", + "dark": "Australis Dark", + }, +} diff --git a/home_config/zed/themes/australis-dark.json b/home_config/zed/themes/australis-dark.json new file mode 100644 index 0000000..a37f500 --- /dev/null +++ b/home_config/zed/themes/australis-dark.json @@ -0,0 +1,426 @@ +{ + "$schema": "https://zed.dev/schema/themes/v0.2.0.json", + "name": "Australis", + "author": "Vuong Hoang", + "themes": [ + { + "name": "Australis Dark", + "appearance": "dark", + "style": { + "background.appearance": "opaque", + "background": "#2a2e39", + "surface.background": "#2a2e39", + "elevated_surface.background": "#313440", + "panel.background": "#2a2e39", + "status_bar.background": "#2a2e39", + "title_bar.background": "#2a2e39", + "title_bar.inactive_background": "#2a2e39", + "toolbar.background": "#222531", + "tab_bar.background": "#2a2e39", + "tab.active_background": "#222531", + "tab.inactive_background": "#2a2e39", + "drop_target.background": "#6388d833", + "border": "#414751", + "border.variant": "#373b46", + "border.focused": "#6388d8", + "border.selected": "#6388d8", + "border.transparent": "#00000000", + "border.disabled": "#373b46", + "pane.focused_border": "#6388d8", + "pane_group.border": "#373b46", + "panel.focused_border": "#6388d8", + "panel.indent_guide": "#373b46", + "panel.indent_guide_active": "#565f69", + "panel.indent_guide_hover": "#414751", + "element.background": "#2a2e39", + "element.hover": "#373b4699", + "element.active": "#414751", + "element.selected": "#6388d833", + "element.disabled": "#373b4666", + "ghost_element.background": "#00000000", + "ghost_element.hover": "#373b4680", + "ghost_element.active": "#41475199", + "ghost_element.selected": "#6388d826", + "ghost_element.disabled": "#00000000", + "text": "#a9bcc3", + "text.muted": "#86929d", + "text.placeholder": "#6e7882", + "text.disabled": "#565f69", + "text.accent": "#a4c4ff", + "link_text.hover": "#a4c4ff", + "icon": "#a9bcc3", + "icon.muted": "#86929d", + "icon.disabled": "#565f69", + "icon.placeholder": "#6e7882", + "icon.accent": "#42dcd1", + "editor.background": "#222531", + "editor.foreground": "#a9bcc3", + "editor.gutter.background": "#222531", + "editor.subheader.background": "#2a2e39", + "editor.active_line.background": "#373b4659", + "editor.highlighted_line.background": "#373b4680", + "editor.line_number": "#565f69", + "editor.active_line_number": "#cce7ec", + "editor.invisible": "#565f69", + "editor.wrap_guide": "#373b4680", + "editor.active_wrap_guide": "#565f69", + "editor.indent_guide": "#373b46", + "editor.indent_guide_active": "#565f69", + "editor.document_highlight.read_background": "#6388d826", + "editor.document_highlight.write_background": "#42dcd133", + "editor.document_highlight.bracket_background": "#6388d838", + "search.match_background": "#ffe14e38", + "scrollbar.thumb.background": "#565f6966", + "scrollbar.thumb.hover_background": "#6e788299", + "scrollbar.thumb.border": "#00000000", + "scrollbar.track.background": "#00000000", + "scrollbar.track.border": "#00000000", + "error": "#ff491a", + "error.background": "#ff491a1f", + "error.border": "#ff491a66", + "warning": "#e1c631", + "warning.background": "#e1c6311f", + "warning.border": "#e1c63166", + "info": "#6388d8", + "info.background": "#6388d81f", + "info.border": "#6388d866", + "success": "#16b866", + "success.background": "#16b8661f", + "success.border": "#16b86666", + "hint": "#00b1a8", + "hint.background": "#00b1a81f", + "hint.border": "#00b1a866", + "predictive": "#565f69", + "predictive.background": "#565f691f", + "predictive.border": "#565f6966", + "created": "#16b866", + "created.background": "#16b8661f", + "created.border": "#16b86666", + "modified": "#e1c631", + "modified.background": "#e1c6311f", + "modified.border": "#e1c63166", + "deleted": "#ff491a", + "deleted.background": "#ff491a1f", + "deleted.border": "#ff491a66", + "renamed": "#6388d8", + "renamed.background": "#6388d81f", + "renamed.border": "#6388d866", + "conflict": "#ff854f", + "conflict.background": "#ff854f1f", + "conflict.border": "#ff854f66", + "ignored": "#6e7882", + "ignored.background": "#6e78821f", + "ignored.border": "#6e788266", + "hidden": "#6e7882", + "hidden.background": "#6e78821f", + "hidden.border": "#6e788266", + "unreachable": "#6e7882", + "unreachable.background": "#6e78821f", + "unreachable.border": "#6e788266", + "terminal.background": "#222531", + "terminal.foreground": "#a9bcc3", + "terminal.bright_foreground": "#cce7ec", + "terminal.dim_foreground": "#6e7882", + "terminal.ansi.background": "#222531", + "terminal.ansi.black": "#222531", + "terminal.ansi.red": "#ff491a", + "terminal.ansi.green": "#16b866", + "terminal.ansi.yellow": "#e1c631", + "terminal.ansi.blue": "#6388d8", + "terminal.ansi.magenta": "#9d78ff", + "terminal.ansi.cyan": "#00b1a8", + "terminal.ansi.white": "#a9bcc3", + "terminal.ansi.bright_black": "#373b46", + "terminal.ansi.bright_red": "#ff854f", + "terminal.ansi.bright_green": "#51e08a", + "terminal.ansi.bright_yellow": "#ffe14e", + "terminal.ansi.bright_blue": "#a4c4ff", + "terminal.ansi.bright_magenta": "#d8adff", + "terminal.ansi.bright_cyan": "#42dcd1", + "terminal.ansi.bright_white": "#cce7ec", + "terminal.ansi.dim_black": "#2c303b", + "terminal.ansi.dim_red": "#9a3e2b", + "terminal.ansi.dim_green": "#2e724f", + "terminal.ansi.dim_yellow": "#88783a", + "terminal.ansi.dim_blue": "#465988", + "terminal.ansi.dim_magenta": "#63519c", + "terminal.ansi.dim_cyan": "#2a6e70", + "terminal.ansi.dim_white": "#6e7882", + "accents": [ + "#6388d8", + "#00b1a8", + "#16b866", + "#9d78ff", + "#e1c631", + "#42dcd1", + "#a4c4ff", + "#51e08a" + ], + "players": [ + { + "cursor": "#6388d8", + "background": "#6388d8", + "selection": "#6388d83d" + }, + { + "cursor": "#16b866", + "background": "#16b866", + "selection": "#16b8663d" + }, + { + "cursor": "#9d78ff", + "background": "#9d78ff", + "selection": "#9d78ff3d" + }, + { + "cursor": "#00b1a8", + "background": "#00b1a8", + "selection": "#00b1a83d" + }, + { + "cursor": "#ff854f", + "background": "#ff854f", + "selection": "#ff854f3d" + }, + { + "cursor": "#e1c631", + "background": "#e1c631", + "selection": "#e1c6313d" + }, + { + "cursor": "#42dcd1", + "background": "#42dcd1", + "selection": "#42dcd13d" + }, + { + "cursor": "#d8adff", + "background": "#d8adff", + "selection": "#d8adff3d" + } + ], + "syntax": { + "comment": { + "color": "#6e7882", + "font_style": "italic", + "font_weight": null + }, + "comment.doc": { + "color": "#86929d", + "font_style": "italic", + "font_weight": null + }, + "operator": { + "color": "#86929d", + "font_style": null, + "font_weight": null + }, + "punctuation": { + "color": "#86929d", + "font_style": null, + "font_weight": null + }, + "punctuation.bracket": { + "color": "#86929d", + "font_style": null, + "font_weight": null + }, + "punctuation.delimiter": { + "color": "#86929d", + "font_style": null, + "font_weight": null + }, + "punctuation.list_marker": { + "color": "#6388d8", + "font_style": null, + "font_weight": null + }, + "punctuation.special": { + "color": "#d8adff", + "font_style": null, + "font_weight": null + }, + "variable": { + "color": "#a9bcc3", + "font_style": null, + "font_weight": null + }, + "property": { + "color": "#9daeb6", + "font_style": null, + "font_weight": null + }, + "primary": { + "color": "#a9bcc3", + "font_style": null, + "font_weight": null + }, + "hint": { + "color": "#6e7882", + "font_style": "italic", + "font_weight": null + }, + "predictive": { + "color": "#565f69", + "font_style": "italic", + "font_weight": null + }, + "keyword": { + "color": "#6388d8", + "font_style": null, + "font_weight": null + }, + "tag": { + "color": "#6388d8", + "font_style": null, + "font_weight": null + }, + "link_text": { + "color": "#6388d8", + "font_style": "italic", + "font_weight": null + }, + "label": { + "color": "#a4c4ff", + "font_style": null, + "font_weight": null + }, + "title": { + "color": "#a4c4ff", + "font_style": null, + "font_weight": 700 + }, + "function": { + "color": "#42dcd1", + "font_style": null, + "font_weight": null + }, + "function.definition": { + "color": "#42dcd1", + "font_style": null, + "font_weight": null + }, + "function.method": { + "color": "#42dcd1", + "font_style": null, + "font_weight": null + }, + "function.special.definition": { + "color": "#42dcd1", + "font_style": null, + "font_weight": null + }, + "type": { + "color": "#00b1a8", + "font_style": null, + "font_weight": null + }, + "type.interface": { + "color": "#00b1a8", + "font_style": null, + "font_weight": null + }, + "type.super": { + "color": "#00b1a8", + "font_style": null, + "font_weight": null + }, + "constructor": { + "color": "#00b1a8", + "font_style": null, + "font_weight": null + }, + "enum": { + "color": "#00b1a8", + "font_style": null, + "font_weight": null + }, + "variant": { + "color": "#00b1a8", + "font_style": null, + "font_weight": null + }, + "link_uri": { + "color": "#00b1a8", + "font_style": null, + "font_weight": null + }, + "emphasis": { + "color": "#42dcd1", + "font_style": "italic", + "font_weight": null + }, + "emphasis.strong": { + "color": "#42dcd1", + "font_style": null, + "font_weight": 700 + }, + "string": { + "color": "#16b866", + "font_style": null, + "font_weight": null + }, + "string.escape": { + "color": "#51e08a", + "font_style": null, + "font_weight": null + }, + "string.regex": { + "color": "#51e08a", + "font_style": null, + "font_weight": null + }, + "string.special": { + "color": "#51e08a", + "font_style": null, + "font_weight": null + }, + "string.special.symbol": { + "color": "#51e08a", + "font_style": null, + "font_weight": null + }, + "text.literal": { + "color": "#16b866", + "font_style": null, + "font_weight": null + }, + "number": { + "color": "#a4c4ff", + "font_style": null, + "font_weight": null + }, + "boolean": { + "color": "#a4c4ff", + "font_style": null, + "font_weight": null + }, + "constant": { + "color": "#a4c4ff", + "font_style": null, + "font_weight": null + }, + "attribute": { + "color": "#d8adff", + "font_style": null, + "font_weight": null + }, + "variable.special": { + "color": "#9d78ff", + "font_style": "italic", + "font_weight": null + }, + "preproc": { + "color": "#9d78ff", + "font_style": null, + "font_weight": null + }, + "embedded": { + "color": "#9d78ff", + "font_style": null, + "font_weight": null + } + } + } + } + ] +}