(modules/home) Update default Zed module configuration
Some checks failed
Nix: check for unused code / Run deadnix (push) Has been cancelled
Nix: validate flake / Validate x86_64-linux (push) Has been cancelled

This commit is contained in:
Jo 2025-05-24 00:26:39 +02:00
parent d32bad92f0
commit 76489651f1

View file

@ -5,7 +5,7 @@
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
inherit (lib) mkEnableOption mkIf mkForce;
inherit (self) namespace;
cfg = config.${namespace}.apps.zed;
@ -15,51 +15,118 @@ in {
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
alejandra
];
programs.zed-editor = {
enable = true;
extensions = ["nix" "catppuccin" "wakatime" "discord_presence" "deno"];
userSettings = {
icon_theme = "Catppuccin Macchiato";
theme = {
dark = "Catppuccin Macchiato (blue)";
light = "Catppuccin Macchiato (blue)";
### Theme settings
icon_theme = mkForce {
dark = mkIf config.catppuccin.enable "Catppuccin Macchiato";
light = mkIf config.catppuccin.enable "Catppuccin Latte";
};
theme = mkForce {
dark = mkIf config.catppuccin.enable "Catppuccin Macchiato (blue)";
light = mkIf config.catppuccin.enable "Catppuccin Latte (blue)";
};
### Disable telemetry
telemetry = {
diagnostics = false;
metrics = false;
};
### Disable certain AI features
### Remove useless features and stuff
show_call_status_icon = false;
agent.button = false;
collaboration_panel.button = false;
chat_panel.button = false;
features = {
inline_completion_provider = "none";
edit_prediction_provider = "none";
copilot = false;
};
### Formatting and saving settings
formatter = "language_server";
format_on_save = "on";
autosave.after_delay.milliseconds = 0;
diagnostics.inline.enable = true;
indent_guides = {
enable = true;
coloring = "indent_aware";
};
hard_tabs = true;
tab_size = 2;
soft_wrap = "preferred_line_length";
### Language specific configurations
languages = {
Nix = {
language_servers = ["nixd" "!nil"];
formatter = {
external = {
command = "alejandra";
arguments = ["--quiet"];
language = ["nix"];
};
};
format_on_save = "on";
### Language specific configurations
languages = {
### Nix language
Nix = {
language_servers = ["nixd" "!nil"];
};
};
};
extraPackages = with pkgs; [nixd];
### Base editor configurations
auto_update = false;
auto_install_extension = {
# Web dev
html = true;
svelte = true;
ejs = true;
scss = true;
# Languages
nix = true;
php = true;
sql = true;
toml = true;
pylsp = true; # Python
fish = true;
# Docker
dockerfile = true;
docker-compose = true;
# Theming
catppuccin = mkIf config.catppuccin.enable true;
catppuccin-icons = mkIf config.catppuccin.enable true;
# Other
discord-presence = true;
git-firefly = true;
wakatime = true;
};
};
userKeymaps = [
{
context = "Editor";
bindings = {
# This relies on autosave being active, as it overwrites the default file save keybinding
ctrl-s = "editor::Format";
};
}
];
extraPackages = with pkgs; [
### Nix
nixd
alejandra
### Python
python3Packages.python-lsp-server
];
};
};
}