Add Zed home module

This commit is contained in:
Jo 2025-03-26 09:19:49 +01:00
parent e826f17c22
commit 96004daf1b
2 changed files with 71 additions and 0 deletions
homes/x86_64-linux/jo@puzzlevision
modules/home/apps/zed

View file

@ -6,6 +6,7 @@
apps.nushell.enable = false;
apps.vscodium.enable = true;
apps.zed.enable = true;
};
home.file."~/.config/Yubico/u2f_keys".text = ''

View file

@ -0,0 +1,70 @@
{
lib,
pkgs,
config,
namespace,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.${namespace}.apps.zed;
in {
options.${namespace}.apps.zed = {
enable = mkEnableOption "zed, the graphical editor from the future";
};
config = mkIf cfg.enable {
sops.secrets.wakatime-cfg = {
format = "binary";
sopsFile = lib.snowfall.fs.get-file "secrets/wakatime.cfg";
path = "/home/jo/.wakatime.cfg";
};
home.packages = with pkgs; [
alejandra
];
programs.zed-editor = {
enable = true;
extensions = ["nix" "catppuccin" "wakatime" "discord_presence"];
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 ];
};
};
}