2025-03-13 14:02:32 +01:00

134 lines
2.7 KiB
Nix

{ pkgs, yet-unstabler-pkgs, ... }:
{
programs.zed-editor = {
enable = true;
package = yet-unstabler-pkgs.zed-editor;
userSettings = {
load_direnv = "shell_hook";
base_keymap = "VSCode";
autosave = "off";
format_on_save = "off";
remove_trailing_whitespace_on_save = false;
tab_size = 2;
ui_font_family = "Noto Sans";
ui_font_size = 18;
buffer_font_family = "Fira Code";
buffer_font_size = 16;
terminal.font_family = "Fira Code";
termial.font_size = 16;
tabs = {
file_icons = true;
show_close_button = "always";
show_diagnostics = "errors";
};
telemetry = {
diagnostics = false;
metrics = false;
};
diagnostics = {
include_warnings = true;
inline.enabled = true;
update_with_cursor = false;
primary_only = false;
use_rendered = false;
};
relative_linue_numbers = true;
vim_mode = true;
vim = {
toggle_relative_line_numbers = true;
};
theme = {
mode = "dark";
light = "monokai Classic";
dark = "monokai Darker Classic";
};
icon_theme = "Material Icon Theme";
file_scan_exclusions = [
"**/.git"
"**/.svn"
"**/.hg"
"**/.jj"
"**/CVS"
"**/.DS_Store"
"**/Thumbs.db"
"**/.classpath"
"**/.settings"
"**/.direnv"
];
git_status = true;
git.inline_blame.enabled = false;
collaboration_panel.button = false;
preview_tabs.enable = false;
indent_guides = {
enabled = true;
coloring = "indent_aware";
};
};
userKeymaps = [
{
bindings = {
ctrl-b = "workspace::ToggleLeftDock";
ctrl-j = "workspace::ToggleBottomDock";
ctrl-w = "pane::CloseActiveItem";
ctrl-h = "pane::ActivatePreviousItem";
ctrl-l = "pane::ActivateNextItem";
ctrl-shift-h = "pane::ActivateLastItem";
# ctrl-shift-l = "pane::ActivatFirstItem"; # wat?
ctrl-shift-o = "workspace::Open";
};
}
];
extensions = [
"basher"
"dart"
"dart"
"dockerfile"
"env"
"git-firefly"
"html"
"ini"
"justfile"
"latex"
"log"
"make"
"material-icon-theme"
"nix"
"sql"
"strace"
"toml"
"typst"
];
};
xdg.configFile."zed/themes/monokai.json".source = let
package = pkgs.fetchFromGitHub {
owner = "billgo";
repo = "monokai";
rev = "061a86ff4845b11ac2f183c2e26c77b15cfae7d0";
hash = "sha256-mlEcgnLStYH1pV3p1iqNSvfVu4MpvpEOc+vxI+90MJs=";
};
in "${package}/themes/monokai.json";
}