commit 00287db05c5c57c232f1051721d1a641a4f2c4fb
parent baf10f9ddce8ccccc2dcbc2034aa4fe2824355d4
Author: Robert Russell <robert@rr3.xyz>
Date: Sun, 26 Jul 2026 21:24:45 -0700
Turn zed config into graft package
Diffstat:
4 files changed, 94 insertions(+), 93 deletions(-)
diff --git a/zed/keymap.json b/zed/.config/zed/keymap.json
diff --git a/zed/.config/zed/settings.json b/zed/.config/zed/settings.json
@@ -0,0 +1,93 @@
+{
+ // Keybindings
+ "base_keymap": "None",
+ "vim_mode": true,
+
+ // Editor
+ "hard_tabs": true,
+ "tab_size": 4,
+ "use_autoclose": false,
+ "cursor_blink": false,
+ "vertical_scroll_margin": 3,
+ "search": { "regex": true },
+ "gutter": { "folds": false },
+ "wrap_guides": [80, 120, 160],
+ "relative_line_numbers": "enabled",
+ "preferred_line_length": 160, // This only affects soft wrap.
+ "show_completions_on_input": false,
+
+ // UI
+ "cli_default_open_behavior": "existing_window",
+ "tabs": { "show_close_button": "hidden" }, // I don't want to accidentally close tabs.
+ "git_panel": { "dock": "right", "default_width": 360, "starts_open": true },
+ "outline_panel": { "dock": "right", "default_width": 360 },
+ "project_panel": { "dock": "left", "default_width": 280, "starts_open": true, "auto_reveal_entries": false },
+
+ // Style
+ "ui_font_size": 15,
+ "buffer_font_size": 15,
+ // Zed font features currently don't work on Linux, so we use a variant of
+ // JuliaMono with ligatures hard-coded off, created with
+ // https://mutsuntsai.github.io/fontfreeze.
+ "buffer_font_family": "JuliaMono Freeze",
+ "theme": {
+ "mode": "dark",
+ "light": "KTRZ Monokai",
+ "dark": "KTRZ Monokai",
+ },
+ "experimental.theme_overrides": {
+ "syntax": {
+ "boolean": { "color": "#00cc55" },
+ "comment": { "color": "#808080", "font_style": "italic" },
+ "constructor": { "color": "#00cc55" },
+ "function": { "color": "#d7d7d7" },
+ "property": { "color": "#d7d7d7" },
+ "punctuation.bracket": { "color": "#a7a7a7" },
+ "punctuation.delimiter": { "color": "#a7a7a7" },
+ "title": { "color": "#d7d7d7" },
+ "variable": { "color": "#d7d7d7" },
+ },
+ },
+
+ // Language-specific
+ "lsp": {
+ "hls": {
+ "initialization_options": {
+ "haskell": { "formattingProvider": "fourmolu" },
+ },
+ },
+ },
+ "languages": {
+ "Haskell": {
+ "hard_tabs": false,
+ "formatter": {
+ "external": {
+ "command": "fourmolu",
+ "arguments": ["--stdin-input-file", "{buffer_path}"],
+ },
+ },
+ },
+ "HTML": { "formatter": "none" },
+ "CSS": { "formatter": "none" },
+ "JavaScript": { "formatter": "none" },
+ "TypeScript": { "formatter": "none" },
+ "Plain Text": {
+ "format_on_save": "off",
+ "remove_trailing_whitespace_on_save": false, // Doesn't work?!
+ },
+ },
+
+ // Disable some crap
+ "auto_update": false,
+ "disable_ai": true,
+ "collaboration_panel": { "dock": "left", "button": false },
+ "tab_bar": {
+ "show_nav_history_buttons": false,
+ "show_tab_bar_buttons": false,
+ },
+ "terminal": { "button": false },
+ "telemetry": {
+ "diagnostics": false,
+ "metrics": false,
+ },
+}
diff --git a/zed/.graft.sh b/zed/.graft.sh
@@ -0,0 +1 @@
+link .config/zed
diff --git a/zed/settings.json b/zed/settings.json
@@ -1,93 +0,0 @@
-{
- // Keybindings
- "base_keymap": "None",
- "vim_mode": true,
-
- // Editor
- "hard_tabs": true,
- "tab_size": 4,
- "use_autoclose": false,
- "cursor_blink": false,
- "vertical_scroll_margin": 3,
- "search": { "regex": true },
- "gutter": { "folds": false },
- "wrap_guides": [80, 120, 160],
- "relative_line_numbers": "enabled",
- "preferred_line_length": 160, // This only affects soft wrap.
- "show_completions_on_input": false,
-
- // UI
- "cli_default_open_behavior": "existing_window",
- "tabs": { "show_close_button": "hidden" }, // I don't want to accidentally close tabs.
- "git_panel": { "dock": "right", "default_width": 360, "starts_open": true },
- "outline_panel": { "dock": "right", "default_width": 360 },
- "project_panel": { "dock": "left", "default_width": 280, "starts_open": true, "auto_reveal_entries": false },
-
- // Style
- "ui_font_size": 15,
- "buffer_font_size": 15,
- // Zed font features currently don't work on Linux, so we use a variant of
- // JuliaMono with ligatures hard-coded off, created with
- // https://mutsuntsai.github.io/fontfreeze.
- "buffer_font_family": "JuliaMono Freeze",
- "theme": {
- "mode": "dark",
- "light": "KTRZ Monokai",
- "dark": "KTRZ Monokai",
- },
- "experimental.theme_overrides": {
- "syntax": {
- "boolean": { "color": "#00cc55" },
- "comment": { "color": "#808080", "font_style": "italic" },
- "constructor": { "color": "#00cc55" },
- "function": { "color": "#d7d7d7" },
- "property": { "color": "#d7d7d7" },
- "punctuation.bracket": { "color": "#a7a7a7" },
- "punctuation.delimiter": { "color": "#a7a7a7" },
- "title": { "color": "#d7d7d7" },
- "variable": { "color": "#d7d7d7" },
- },
- },
-
- // LSP
- "lsp": {
- "hls": {
- "initialization_options": {
- "haskell": { "formattingProvider": "fourmolu" },
- },
- },
- },
- "languages": {
- "Haskell": {
- "hard_tabs": false,
- "formatter": {
- "external": {
- "command": "fourmolu",
- "arguments": ["--stdin-input-file", "{buffer_path}"],
- },
- },
- },
- "HTML": { "formatter": "none" },
- "CSS": { "formatter": "none" },
- "JavaScript": { "formatter": "none" },
- "TypeScript": { "formatter": "none" },
- "Plain Text": {
- "format_on_save": "off",
- "remove_trailing_whitespace_on_save": false, // Doesn't work?!
- },
- },
-
- // Disable some crap
- "auto_update": false,
- "disable_ai": true,
- "collaboration_panel": { "dock": "left", "button": false },
- "tab_bar": {
- "show_nav_history_buttons": false,
- "show_tab_bar_buttons": false,
- },
- "terminal": { "button": false },
- "telemetry": {
- "diagnostics": false,
- "metrics": false,
- },
-}