forked from aylac.top/nixcfg
this repo has no description
1{ 2 lib, 3 config, 4 pkgs, 5 ... 6}: { 7 options.myHome.programs.zed-editor.enable = lib.mkEnableOption "zed editor"; 8 9 config = lib.mkIf config.myHome.programs.zed-editor.enable { 10 programs.zed-editor = { 11 enable = true; 12 extensions = [ 13 "env" 14 "fish" 15 "git-firefly" 16 "github-theme" 17 "html" 18 "lua" 19 "nix" 20 "scss" 21 "toml" 22 ]; 23 userSettings = { 24 auto_indent_on_paste = true; 25 auto_update = false; 26 buffer_font_size = 14; 27 ui_font_size = 14; 28 buffer_font_family = "JetBrainsMono Nerd Font"; 29 use_on_type_format = true; 30 wrap_guides = [100]; 31 minimap.show = "auto"; 32 preferred_line_length = 100; 33 soft_wrap = "preferred_line_length"; 34 35 agent = { 36 default_model = { 37 provider = "google"; 38 model = "gemini-2.5-pro"; 39 }; 40 inline_assistant_model = { 41 provider = "google"; 42 model = "gemini-2.5-pro"; 43 }; 44 default_profile = "ask"; 45 }; 46 47 languages = { 48 JavaScript = { 49 format_on_save = "on"; 50 51 formatter = { 52 external = { 53 command = lib.getExe pkgs.prettier; 54 arguments = ["--stdin-filepath" "{buffer_path}"]; 55 }; 56 }; 57 }; 58 TypeScript = { 59 format_on_save = "on"; 60 61 formatter = { 62 external = { 63 command = lib.getExe pkgs.prettier; 64 arguments = ["--stdin-filepath" "{buffer_path}"]; 65 }; 66 }; 67 }; 68 TSX = { 69 format_on_save = "on"; 70 71 formatter = { 72 external = { 73 command = lib.getExe pkgs.prettier; 74 arguments = ["--stdin-filepath" "{buffer_path}"]; 75 }; 76 }; 77 }; 78 Nix = { 79 format_on_save = "on"; 80 formatter = "language_server"; 81 language_servers = [ 82 "nixd" 83 ]; 84 }; 85 JSON = { 86 format_on_save = "on"; 87 88 formatter = { 89 external = { 90 command = lib.getExe pkgs.prettier; 91 arguments = ["--stdin-filepath" "{buffer_path}"]; 92 }; 93 }; 94 }; 95 CSS = { 96 format_on_save = "on"; 97 98 formatter = { 99 external = { 100 command = lib.getExe pkgs.prettier; 101 arguments = ["--stdin-filepath" "{buffer_path}"]; 102 }; 103 }; 104 }; 105 }; 106 lsp.nixd = { 107 binary.path = lib.getExe pkgs.nixd; 108 settings.formatting.command = [(lib.getExe pkgs.alejandra) "--quiet" "--"]; 109 }; 110 telemetry = { 111 diagnostics = false; 112 metrics = false; 113 }; 114 }; 115 }; 116 }; 117}