From 3b5a73c436eb22e0cda59469263490705e149cb9 Mon Sep 17 00:00:00 2001 From: schererleander Date: Fri, 9 Jan 2026 16:57:15 +0100 Subject: refactor: use flake-parts, change modules structure --- modules/home/editors/zed/default.nix | 91 ++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 modules/home/editors/zed/default.nix (limited to 'modules/home/editors/zed') diff --git a/modules/home/editors/zed/default.nix b/modules/home/editors/zed/default.nix new file mode 100644 index 0000000..431560c --- /dev/null +++ b/modules/home/editors/zed/default.nix @@ -0,0 +1,91 @@ +{ + config, + lib, + ... +}: + +let + inherit (lib) + mkEnableOption + mkOption + types + mkIf + optionals + ; + cfg = config.nx.editors.zed-editor; +in +{ + options.nx.editors.zed-editor = { + enable = mkEnableOption "zed editor"; + + langs = { + nix = mkOption { + description = "enable nix integration"; + type = types.bool; + default = true; + }; + python = mkOption { + description = "enable python integration"; + type = types.bool; + default = false; + }; + rust = mkOption { + description = "enable rust integration"; + type = types.bool; + default = false; + }; + go = mkOption { + description = "enable go integration"; + type = types.bool; + default = false; + }; + lua = mkOption { + description = "enable lua integration"; + type = types.bool; + default = false; + }; + docker = mkOption { + description = "enable docker integration"; + type = types.bool; + default = false; + }; + java = mkOption { + description = "enable java integration"; + type = types.bool; + default = false; + }; + cmake = mkOption { + description = "enable cmake integration"; + type = types.bool; + default = false; + }; + toml = mkOption { + description = "enable toml integration"; + type = types.bool; + default = false; + }; + }; + }; + + config = mkIf cfg.enable { + programs.zed-editor = { + enable = true; + extensions = + [ ] + ++ (optionals cfg.langs.nix [ "nix" ]) + ++ (optionals cfg.langs.python [ "python" ]) + ++ (optionals cfg.langs.rust [ "rust" ]) + ++ (optionals cfg.langs.go [ "go" ]) + ++ (optionals cfg.langs.lua [ "lua" ]) + ++ (optionals cfg.langs.docker [ "dockerfile" ]) + ++ (optionals cfg.langs.java [ "java" ]) + ++ (optionals cfg.langs.cmake [ "cmake" ]) + ++ (optionals cfg.langs.toml [ "toml" ]); + userSettings = { + telemetry = { + metrics = false; + }; + }; + }; + }; +} -- cgit v1.3.1