2025-03-13 14:02:05 +01:00
|
|
|
{ pkgs, yet-unstabler-pkgs, ... }:
|
2024-08-12 17:37:18 +02:00
|
|
|
{
|
2024-12-08 13:43:12 +01:00
|
|
|
programs.zed-editor = {
|
|
|
|
enable = true;
|
2024-12-09 16:17:41 +01:00
|
|
|
|
2025-03-13 14:02:05 +01:00
|
|
|
package = yet-unstabler-pkgs.zed-editor;
|
|
|
|
|
2024-12-08 13:43:12 +01:00
|
|
|
userSettings = {
|
|
|
|
load_direnv = "shell_hook";
|
2024-12-09 16:17:41 +01:00
|
|
|
base_keymap = "VSCode";
|
|
|
|
|
|
|
|
autosave = "off";
|
2024-12-08 13:43:12 +01:00
|
|
|
format_on_save = "off";
|
2024-12-09 16:17:41 +01:00
|
|
|
remove_trailing_whitespace_on_save = false;
|
|
|
|
|
|
|
|
tab_size = 2;
|
|
|
|
|
|
|
|
ui_font_family = "Noto Sans";
|
2025-03-13 14:02:32 +01:00
|
|
|
ui_font_size = 18;
|
|
|
|
|
2024-12-09 16:17:41 +01:00
|
|
|
buffer_font_family = "Fira Code";
|
2025-03-13 14:02:32 +01:00
|
|
|
buffer_font_size = 16;
|
|
|
|
|
2024-12-09 16:17:41 +01:00
|
|
|
terminal.font_family = "Fira Code";
|
2025-03-13 14:02:32 +01:00
|
|
|
termial.font_size = 16;
|
|
|
|
|
|
|
|
tabs = {
|
|
|
|
file_icons = true;
|
|
|
|
show_close_button = "always";
|
|
|
|
show_diagnostics = "errors";
|
|
|
|
};
|
2024-08-12 17:37:18 +02:00
|
|
|
|
2024-12-08 13:43:12 +01:00
|
|
|
telemetry = {
|
|
|
|
diagnostics = false;
|
|
|
|
metrics = false;
|
|
|
|
};
|
2024-08-12 17:37:18 +02:00
|
|
|
|
2025-03-13 14:02:32 +01:00
|
|
|
diagnostics = {
|
|
|
|
include_warnings = true;
|
|
|
|
inline.enabled = true;
|
|
|
|
update_with_cursor = false;
|
|
|
|
primary_only = false;
|
|
|
|
use_rendered = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
relative_linue_numbers = true;
|
|
|
|
|
2024-12-08 13:43:12 +01:00
|
|
|
vim_mode = true;
|
2025-03-13 14:02:32 +01:00
|
|
|
vim = {
|
|
|
|
toggle_relative_line_numbers = true;
|
|
|
|
};
|
2024-08-12 17:37:18 +02:00
|
|
|
|
2024-12-08 13:43:12 +01:00
|
|
|
theme = {
|
2024-12-09 16:17:41 +01:00
|
|
|
mode = "dark";
|
|
|
|
light = "monokai Classic";
|
|
|
|
dark = "monokai Darker Classic";
|
|
|
|
};
|
|
|
|
|
2025-03-13 14:02:32 +01:00
|
|
|
icon_theme = "Material Icon Theme";
|
|
|
|
|
2024-12-09 16:17:41 +01:00
|
|
|
file_scan_exclusions = [
|
|
|
|
"**/.git"
|
|
|
|
"**/.svn"
|
|
|
|
"**/.hg"
|
|
|
|
"**/.jj"
|
|
|
|
"**/CVS"
|
|
|
|
"**/.DS_Store"
|
|
|
|
"**/Thumbs.db"
|
|
|
|
"**/.classpath"
|
|
|
|
"**/.settings"
|
|
|
|
|
|
|
|
"**/.direnv"
|
|
|
|
];
|
|
|
|
|
2025-03-13 14:02:32 +01:00
|
|
|
git_status = true;
|
|
|
|
git.inline_blame.enabled = false;
|
|
|
|
|
|
|
|
collaboration_panel.button = false;
|
|
|
|
|
|
|
|
preview_tabs.enable = false;
|
2024-12-09 16:17:41 +01:00
|
|
|
|
|
|
|
indent_guides = {
|
|
|
|
enabled = true;
|
|
|
|
coloring = "indent_aware";
|
2024-12-08 13:43:12 +01:00
|
|
|
};
|
2024-08-12 17:37:18 +02:00
|
|
|
};
|
2024-12-09 16:17:41 +01:00
|
|
|
|
|
|
|
userKeymaps = [
|
|
|
|
{
|
|
|
|
bindings = {
|
2025-03-13 14:02:32 +01:00
|
|
|
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";
|
2024-12-09 16:17:41 +01:00
|
|
|
};
|
|
|
|
}
|
|
|
|
];
|
|
|
|
|
|
|
|
extensions = [
|
|
|
|
"basher"
|
|
|
|
"dart"
|
2025-03-13 14:02:32 +01:00
|
|
|
"dart"
|
2024-12-09 16:17:41 +01:00
|
|
|
"dockerfile"
|
2025-03-13 14:02:32 +01:00
|
|
|
"env"
|
|
|
|
"git-firefly"
|
2024-12-09 16:17:41 +01:00
|
|
|
"html"
|
2025-03-13 14:02:32 +01:00
|
|
|
"ini"
|
|
|
|
"justfile"
|
|
|
|
"latex"
|
|
|
|
"log"
|
|
|
|
"make"
|
|
|
|
"material-icon-theme"
|
2024-12-09 16:17:41 +01:00
|
|
|
"nix"
|
|
|
|
"sql"
|
2025-03-13 14:02:32 +01:00
|
|
|
"strace"
|
2024-12-09 16:17:41 +01:00
|
|
|
"toml"
|
2025-03-13 14:02:32 +01:00
|
|
|
"typst"
|
2024-12-09 16:17:41 +01:00
|
|
|
];
|
2024-08-12 17:37:18 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
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";
|
|
|
|
}
|