143 lines
3.1 KiB
Nix
143 lines
3.1 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}:
|
|
{
|
|
programs.zed-editor = {
|
|
enable = true;
|
|
extensions = [
|
|
"nix"
|
|
"git-firefly"
|
|
"toml"
|
|
"ruff"
|
|
"pylsp"
|
|
"shades-of-purple-theme"
|
|
"material-icon-theme"
|
|
];
|
|
extraPackages = with pkgs; [
|
|
nixd
|
|
ruff
|
|
];
|
|
mutableUserDebug = false;
|
|
mutableUserKeymaps = false;
|
|
mutableUserSettings = false;
|
|
mutableUserTasks = false;
|
|
userSettings = {
|
|
auto_update = false;
|
|
base_keymap = "VSCode";
|
|
edit_predictions = {
|
|
disabled_globs = [
|
|
"**/.env*"
|
|
"**/*.pem"
|
|
"**/*.key"
|
|
"**/*.cert"
|
|
"**/*.crt"
|
|
"**/secrets.yml"
|
|
];
|
|
};
|
|
features = {
|
|
copilot = false;
|
|
};
|
|
file_scan_exclusions = [
|
|
"_build"
|
|
".vscode"
|
|
".lexical"
|
|
".elixir_ls"
|
|
".coverage"
|
|
".venv"
|
|
".pytest_cache/"
|
|
".mypy_cache/"
|
|
".ruff_cache"
|
|
".git/"
|
|
".idea"
|
|
"**/__pycache__"
|
|
"node_modules"
|
|
"test_db.sql"
|
|
".ropeproject"
|
|
".expert"
|
|
];
|
|
format_on_save = "on";
|
|
icon_theme = {
|
|
mode = "system";
|
|
light = "Material Icon Theme";
|
|
dark = "Material Icon Theme";
|
|
};
|
|
load_direnv = "direct";
|
|
languages = {
|
|
Markdown = { };
|
|
Nix = {
|
|
language_servers = [
|
|
"nixd"
|
|
"!nil"
|
|
];
|
|
formatter.external = {
|
|
command = "${lib.getExe pkgs.nixfmt}";
|
|
arguments = [
|
|
"--quiet"
|
|
"--"
|
|
];
|
|
};
|
|
show_edit_predictions = true;
|
|
};
|
|
Python = {
|
|
language_servers = [
|
|
"ty"
|
|
"ruff"
|
|
];
|
|
format_on_save = "on";
|
|
formatter = [
|
|
{
|
|
code_action = "source.fixAll.ruff";
|
|
}
|
|
{
|
|
code_action = "source.organizeImports.ruff";
|
|
}
|
|
{
|
|
language_server = {
|
|
name = "ruff";
|
|
};
|
|
}
|
|
];
|
|
show_edit_predictions = true;
|
|
};
|
|
};
|
|
lsp = {
|
|
nixd = {
|
|
binary.path = lib.getExe pkgs.nixd;
|
|
};
|
|
ruff = {
|
|
binary = {
|
|
path = lib.getExe pkgs.ruff;
|
|
arguments = [ "server" ];
|
|
};
|
|
};
|
|
};
|
|
preview_tabs = {
|
|
enabled = true;
|
|
enable_preview_from_file_finder = true;
|
|
enable_preview_from_code_navigation = true;
|
|
};
|
|
show_edit_predictions = true;
|
|
tabs = {
|
|
file_icons = true;
|
|
git_status = true;
|
|
};
|
|
tab_size = 2;
|
|
telemetry = {
|
|
diagnostics = false;
|
|
metrics = false;
|
|
};
|
|
minimap.show = "never";
|
|
use_smartcase_search = true;
|
|
vim_mode = true;
|
|
relative_line_numbers = true;
|
|
remove_trailing_whitespace_on_save = true;
|
|
theme = lib.mkForce {
|
|
mode = "system";
|
|
light = "Shades Of Purple";
|
|
dark = "Shades Of Purple (Super Dark)";
|
|
};
|
|
};
|
|
};
|
|
}
|