puzzlevision/modules/home/app/zed/default.nix

66 lines
1.3 KiB
Nix

{
lib,
pkgs,
self,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
inherit (self) namespace;
cfg = config.${namespace}.apps.zed;
in {
options.${namespace}.apps.zed = {
enable = mkEnableOption "zed, the graphical editor from the future";
};
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)";
};
### Disable telemetry
telemetry = {
metrics = false;
};
### Disable certain AI features
features = {
copilot = false;
};
### Language specific configurations
languages = {
### Nix language
Nix = {
language_servers = ["nixd" "!nil"];
};
};
### LSP configurations
lsp = {
nixd = {
initialization_options = {
formatting = {
command = ["alejandra" "--quiet" "--"];
};
};
};
};
};
extraPackages = with pkgs; [nixd];
};
};
}