127 lines
2.6 KiB
Nix
127 lines
2.6 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.david.programs.zed-editor;
|
|
in
|
|
{
|
|
options = {
|
|
david.programs.zed-editor = {
|
|
enable = lib.mkEnableOption "zed-editor";
|
|
};
|
|
};
|
|
config = lib.mkIf cfg.enable {
|
|
stylix.targets.zed.enable = false;
|
|
programs.zed-editor = {
|
|
enable = true;
|
|
extensions = [
|
|
"catppuccin"
|
|
"asciidoc"
|
|
"basher"
|
|
"cargo-tom"
|
|
"deno"
|
|
"docker-compose"
|
|
"dockerfile"
|
|
"fish"
|
|
"git-firefly"
|
|
"golangci-lint"
|
|
"haskell"
|
|
"html"
|
|
"hurl"
|
|
"idris2"
|
|
"java"
|
|
"java-eclipse-jdtls"
|
|
"kdl"
|
|
"kotlin"
|
|
"lua"
|
|
"make"
|
|
"markdown-oxide"
|
|
"neocmake"
|
|
"nix"
|
|
"python-refactoring"
|
|
"python-requirements"
|
|
"scheme"
|
|
"toml"
|
|
"typst"
|
|
"xml"
|
|
"zig"
|
|
"typos"
|
|
"ty"
|
|
"ruff"
|
|
"just"
|
|
"just-ls"
|
|
"jj-lsp"
|
|
"org"
|
|
];
|
|
extraPackages = with pkgs; [
|
|
editor-runtime
|
|
];
|
|
userSettings = {
|
|
lsp = {
|
|
ty = {
|
|
binary = {
|
|
path = lib.getExe pkgs.ty;
|
|
arguments = [ "server" ];
|
|
};
|
|
};
|
|
};
|
|
languages = {
|
|
Python = {
|
|
language_servers = [
|
|
"ty"
|
|
"ruff"
|
|
"pyright"
|
|
];
|
|
formatter = [
|
|
{
|
|
language_server = {
|
|
name = "ruff";
|
|
};
|
|
}
|
|
{
|
|
code_actions = {
|
|
"source.fixAll.ruff" = true;
|
|
"source.organizeImports.ruff" = true;
|
|
};
|
|
}
|
|
];
|
|
};
|
|
Nix = {
|
|
language_servers = [
|
|
"nixd"
|
|
"nil"
|
|
];
|
|
formatter = {
|
|
external = {
|
|
command = "nixfmt";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
soft_wrap = "editor_width";
|
|
autosave = "on_focus_change";
|
|
auto_update = false;
|
|
calls = {
|
|
mute_on_join = true;
|
|
share_on_join = false;
|
|
};
|
|
"format_on_save" = "off";
|
|
ui_font_size = 20;
|
|
buffer_font_size = 20;
|
|
buffer_font_family = "Maple Mono NF CN";
|
|
buffer_font_features = {
|
|
"calt" = true;
|
|
"zero" = true;
|
|
"cv03" = true;
|
|
"ss08" = true;
|
|
};
|
|
ui_font_family = "Source Han Sans";
|
|
theme = "Catppuccin Latte";
|
|
helix_mode = true;
|
|
};
|
|
};
|
|
};
|
|
}
|