dotnix/modules/home/zed.nix
2025-03-29 19:05:05 +01:00

136 lines
2.9 KiB
Nix

{ lib, ... }:
{
programs.zed-editor = {
enable = true;
extensions = [ "nix" "luau" "toml" "rose-pine-theme" ];
userSettings = lib.mkForce {
telemetry = {
diagnostics = false;
metrics = false;
};
assistant = {
enabled = false;
version = "2";
};
features = {
inline_completion_provider = "none";
copilot = false;
};
project_panel = {
dock = "right";
};
inlay_hints = {
enabled = true;
show_type_hints = false;
show_parameter_hints = true;
};
ui_font_size = 16;
ui_font_family = "JetBrainsMono Nerd Font";
buffer_font_size = 16;
buffer_font_family = "JetBrainsMono Nerd Font";
theme = {
mode = "system";
light = "One Light";
dark = "Rosé Pine";
};
vim_mode = false;
base_keymap = "VSCode";
auto_update = false;
hour_format = "hour24";
terminal = {
alternate_scroll = "on";
blinking = "terminal_controlled";
copy_on_select = false;
dock = "bottom";
detect_venv = "off";
env = {};
font_family = null;
font_features = null;
font_size = null;
line_height = "comfortable";
option_as_meta = false;
button = true;
shell = "system";
toolbar = {
breadcrumbs = true;
};
working_directory = "current_project_directory";
};
lsp = {
rust-analyzer = {
binary = {
path_lookup = true;
};
};
nix = {
binary = {
path_lookup = true;
};
};
luau-lsp = {
settings = {
luau-lsp = {
completion = {
autocompleteEnd = true;
imports = {
enabled = true;
separateGroupsWithLine = true;
suggestServices = true;
suggestRequires = false;
};
};
require = {
mode = "relativeToFile";
};
inlayHints = {
parameterNames = "all";
};
};
ext = {
roblox = {
enabled = false;
security_level = "roblox_script";
};
fflags = {
enable_new_solver = true;
};
binary = {
ignore_system_version = false;
};
};
};
};
};
languages = {
Luau = {
formatter = {
external = {
command = "stylua";
arguments = [ "--respect-ignores" "-" ];
};
};
format_on_save = "on";
};
};
file_types = {
Luau = [ "lua" ];
};
};
};
}