125 lines
2.6 KiB
Nix
125 lines
2.6 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
cfg = config.youthlic.programs.zed-editor;
|
|
in {
|
|
options = {
|
|
youthlic.programs.zed-editor = {
|
|
enable = lib.mkEnableOption "zed-editor";
|
|
};
|
|
};
|
|
config = lib.mkIf cfg.enable {
|
|
stylix.targets.zed.enable = false;
|
|
programs.zed-editor = {
|
|
enable = true;
|
|
extensions = [
|
|
"asciidoc"
|
|
"basher"
|
|
"cargo-tom"
|
|
"codebook"
|
|
"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"
|
|
];
|
|
extraPackages = with pkgs; [
|
|
idris2Packages.idris2Lsp
|
|
lua-language-server
|
|
bash-language-server
|
|
shfmt
|
|
hurl
|
|
cmake-language-server
|
|
kdlfmt
|
|
rustfmt
|
|
clang-tools
|
|
libxml2
|
|
typstyle
|
|
pyright
|
|
ruff
|
|
gotools
|
|
yaml-language-server
|
|
taplo
|
|
markdown-oxide
|
|
marksman
|
|
nixd
|
|
deno
|
|
alejandra
|
|
vscode-langservers-extracted
|
|
fish-lsp
|
|
tailwindcss-language-server
|
|
gopls
|
|
golangci-lint-langserver
|
|
tinymist
|
|
delve
|
|
lldb
|
|
rust-analyzer
|
|
# nil
|
|
haskell-language-server
|
|
neocmakelsp
|
|
jdt-language-server
|
|
zls
|
|
];
|
|
userSettings = {
|
|
languages = {
|
|
Nix = {
|
|
language_servers = ["nixd" "!nil"];
|
|
formatter = {
|
|
external = {
|
|
command = "alejandra";
|
|
arguments = ["--quiet" "--"];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
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 SC";
|
|
theme = "Gruvbox Dark Hard";
|
|
vim_mode = true;
|
|
vim = {
|
|
default_mode = "helix_normal";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|