nixos/home/modules/programs/zed.nix

69 lines
1.4 KiB
Nix
Raw Normal View History

2025-02-14 22:57:48 +08:00
{
pkgs,
config,
lib,
...
}: let
2025-02-14 22:57:48 +08:00
cfg = config.youthlic.programs.zed-editor;
in {
2025-02-14 22:57:48 +08:00
options = {
youthlic.programs.zed-editor = {
enable = lib.mkEnableOption "zed-editor";
};
};
config = lib.mkIf cfg.enable {
2025-04-10 20:28:50 +08:00
stylix.targets.zed.enable = false;
2025-02-14 22:57:48 +08:00
programs.zed-editor = {
enable = true;
extensions = [
2025-04-29 00:39:36 +08:00
"nix"
"html"
"java"
"git-firely"
"make"
"deno"
"java-eclipse-jdtlS"
"neocMake"
"typst"
"toml"
"markdown-oxide"
2025-02-14 22:57:48 +08:00
];
extraPackages = with pkgs; [
nixd
nil
2025-04-28 18:47:46 +08:00
neocmakelsp
deno
jdt-language-server
2025-04-29 00:39:36 +08:00
taplo
alejandra
markdown-oxide
2025-02-14 22:57:48 +08:00
];
userSettings = {
2025-04-29 00:39:36 +08:00
soft_wrap = "editor_width";
2025-04-10 20:28:50 +08:00
autosave = "on_focus_change";
auto_update = false;
2025-04-29 00:39:36 +08:00
calls = {
mute_on_join = true;
share_on_join = false;
};
2025-04-10 20:28:50 +08:00
"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 SC";
2025-04-28 18:47:46 +08:00
theme = "Gruvbox Dark Hard";
2025-02-14 22:57:48 +08:00
vim_mode = true;
2025-04-28 18:47:46 +08:00
vim = {
default_mode = "helix_normal";
};
2025-02-14 22:57:48 +08:00
};
};
};
}