Skip to content

Commit f7b5ee7

Browse files
stackptrclaude
andcommitted
feat(home): add declarative Zed editor configuration
Manage Zed settings via home-manager programs.zed-editor module with mutableUserSettings disabled for fully Nix-managed configuration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent d1294ea commit f7b5ee7

2 files changed

Lines changed: 236 additions & 0 deletions

File tree

home/programs/default.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
./aichat.nix
88
./starship.nix
99
./tmux.nix
10+
./zed.nix
1011
./zsh.nix
1112
];
1213

home/programs/zed.nix

Lines changed: 235 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,235 @@
1+
{_}: {
2+
programs.zed-editor = {
3+
enable = true;
4+
mutableUserSettings = false;
5+
userSettings = {
6+
auto_update = false;
7+
theme = {
8+
mode = "system";
9+
light = "Nova Light";
10+
dark = "Nova Dark";
11+
};
12+
icon_theme = "Zed (Default)";
13+
14+
ui_font_size = 15.0;
15+
ui_font_family = ".SystemUIFont";
16+
buffer_font_size = 12.0;
17+
buffer_font_family = "MesloLGSDZ Nerd Font Mono";
18+
buffer_line_height = "comfortable";
19+
show_wrap_guides = true;
20+
use_system_path_prompts = false;
21+
diff_view_style = "unified";
22+
23+
title_bar = {
24+
show_branch_icon = true;
25+
show_branch_name = true;
26+
show_project_items = true;
27+
show_onboarding_banner = false;
28+
show_user_picture = false;
29+
show_user_menu = true;
30+
show_sign_in = true;
31+
show_menus = false;
32+
};
33+
34+
current_line_highlight = "all";
35+
gutter = {
36+
line_numbers = true;
37+
runnables = false;
38+
breakpoints = false;
39+
folds = true;
40+
min_line_number_digits = 3;
41+
};
42+
43+
indent_guides = {
44+
enabled = true;
45+
line_width = 1;
46+
active_line_width = 1;
47+
coloring = "indent_aware";
48+
background_coloring = "disabled";
49+
};
50+
sticky_scroll = {enabled = true;};
51+
git = {
52+
inline_blame = {
53+
enabled = true;
54+
delay_ms = 0;
55+
min_column = 0;
56+
padding = 10;
57+
show_commit_summary = true;
58+
};
59+
};
60+
toolbar = {
61+
breadcrumbs = true;
62+
quick_actions = false;
63+
selections_menu = false;
64+
agent_review = false;
65+
code_actions = false;
66+
};
67+
68+
max_tabs = null;
69+
70+
tab_bar = {
71+
show = true;
72+
show_nav_history_buttons = false;
73+
show_tab_bar_buttons = false;
74+
};
75+
tabs = {
76+
git_status = true;
77+
close_position = "left";
78+
show_close_button = "hover";
79+
file_icons = true;
80+
show_diagnostics = "errors";
81+
activate_on_close = "left_neighbour";
82+
};
83+
extend_comment_on_newline = false;
84+
85+
status_bar = {
86+
active_language_button = true;
87+
cursor_position_button = true;
88+
line_endings_button = false;
89+
active_encoding_button = "non_utf8";
90+
};
91+
92+
snippet_sort_order = "inline";
93+
show_completions_on_input = true;
94+
show_completion_documentation = true;
95+
auto_signature_help = false;
96+
show_signature_help_after_edits = false;
97+
inline_code_actions = true;
98+
lsp_document_colors = "inlay";
99+
completion_menu_scrollbar = "system";
100+
colorize_brackets = true;
101+
102+
diagnostics_max_severity = "all";
103+
diagnostics = {
104+
button = true;
105+
include_warnings = false;
106+
inline = {
107+
enabled = true;
108+
};
109+
};
110+
111+
edit_predictions = {
112+
provider = "sweep";
113+
mode = "eager";
114+
enabled_in_text_threads = true;
115+
};
116+
show_edit_predictions = true;
117+
118+
load_direnv = "shell_hook";
119+
double_click_in_multibuffer = "open";
120+
121+
file_finder = {
122+
file_icons = true;
123+
modal_max_width = "small";
124+
git_status = true;
125+
include_ignored = "smart";
126+
};
127+
128+
project_panel = {
129+
button = true;
130+
default_width = 240;
131+
dock = "left";
132+
entry_spacing = "standard";
133+
file_icons = true;
134+
folder_icons = true;
135+
git_status = true;
136+
indent_size = 16;
137+
auto_reveal_entries = true;
138+
auto_fold_dirs = true;
139+
bold_folder_labels = false;
140+
sticky_scroll = true;
141+
drag_and_drop = true;
142+
scrollbar = {show = null;};
143+
show_diagnostics = "errors";
144+
indent_guides = {show = "always";};
145+
sort_mode = "directories_first";
146+
hide_root = false;
147+
hide_hidden = false;
148+
};
149+
git_panel = {
150+
tree_view = true;
151+
button = true;
152+
dock = "right";
153+
status_style = "label_color";
154+
fallback_branch_name = "main";
155+
sort_by_path = false;
156+
collapse_untracked_diff = false;
157+
scrollbar = {show = null;};
158+
};
159+
terminal = {
160+
toolbar = {breadcrumbs = false;};
161+
dock = "bottom";
162+
button = true;
163+
blinking = "terminal_controlled";
164+
cursor_shape = "block";
165+
env = {};
166+
scrollbar = {show = null;};
167+
font_family = "MesloLGSDZ Nerd Font Mono";
168+
max_scroll_history_lines = 10000;
169+
};
170+
collaboration_panel = {button = true;};
171+
outline_panel = {button = false;};
172+
notification_panel = {button = false;};
173+
debugger = {button = false;};
174+
175+
prettier = {allowed = true;};
176+
languages = {
177+
JavaScript = {
178+
tab_size = 2;
179+
formatter = {
180+
external = {
181+
command = "prettier";
182+
arguments = ["--stdin-filepath" "{buffer_path}"];
183+
};
184+
};
185+
format_on_save = "on";
186+
};
187+
Nix = {
188+
language_servers = ["nil" "!nixd"];
189+
formatter = {
190+
external = {
191+
command = "alejandra";
192+
arguments = ["--quiet" "--"];
193+
};
194+
};
195+
};
196+
};
197+
lsp = {
198+
eslint = {
199+
settings = {
200+
workingDirectory = {mode = "auto";};
201+
};
202+
};
203+
};
204+
205+
agent = {
206+
default_model = {
207+
provider = "anthropic";
208+
model = "claude-sonnet-4-6-latest";
209+
enable_thinking = false;
210+
};
211+
favorite_models = [];
212+
model_parameters = [];
213+
};
214+
215+
context_servers = {
216+
glyph = {
217+
settings = {
218+
url = "http://glyph:8090/mcp";
219+
};
220+
};
221+
};
222+
223+
ssh_connections = [
224+
{
225+
host = "glyph";
226+
username = "mu";
227+
args = [];
228+
projects = [
229+
{paths = ["/home/mu/Development/rc"];}
230+
];
231+
}
232+
];
233+
};
234+
};
235+
}

0 commit comments

Comments
 (0)