Personal-use NixOS configuration
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Configure Biome, TS, and markdown lsps for zed

+98 -20
+98 -20
homes/encode42/desktop/zed.nix
··· 6 6 }: 7 7 8 8 let 9 - biomePackage = pkgs-unstable.biome; 9 + ecmaScriptSettings = { 10 + code_actions_on_format = { 11 + "source.fixAll.biome" = true; 12 + "source.organizeImports.biome" = true; 13 + }; 14 + 15 + formatter = { 16 + language_server.name = "biome"; 17 + }; 18 + 19 + language_servers = [ 20 + "vtsls" 21 + 22 + "biome" 23 + "typos" 24 + ]; 25 + }; 10 26 in 11 27 { 12 28 programs.zed-editor = { ··· 21 37 "env" 22 38 23 39 "biome" 40 + 41 + "markdown-oxide" 42 + "rumdl" 43 + 44 + "typos" 24 45 25 46 "catppuccin" 26 47 "catppuccin-icons" ··· 56 77 command = "nixfmt"; 57 78 }; 58 79 }; 80 + 81 + JavaScript = ecmaScriptSettings; 82 + TypeScript = ecmaScriptSettings; 83 + 84 + JSON = { 85 + code_actions_on_format = { 86 + "source.fixAll.biome" = true; 87 + }; 88 + 89 + formatter = { 90 + language_server.name = "biome"; 91 + }; 92 + 93 + language_servers = [ 94 + "json-language-server" 95 + "package-version-server" 96 + 97 + "biome" 98 + "typos" 99 + ]; 100 + }; 101 + 102 + Markdown = { 103 + format_on_save = "on"; 104 + 105 + code_actions_on_format = { 106 + "source.fixAll.rumdl" = true; 107 + }; 108 + 109 + language_servers = [ 110 + "markdown-oxide" 111 + "rumdl" 112 + ]; 113 + }; 59 114 }; 60 115 61 116 lsp = { 62 - nil.settings = { 63 - nix = { 64 - # TODO: This is way too much 65 - maxMemoryMb = 16384; 117 + nil = { 118 + binary = { 119 + path = lib.getExe pkgs.nil; 120 + }; 121 + 122 + settings = { 123 + nix = { 124 + # TODO: This is way too much 125 + maxMemoryMb = 16384; 66 126 67 - flake = { 68 - autoArchive = true; 69 - autoEvalInputs = true; 127 + flake = { 128 + autoArchive = true; 129 + autoEvalInputs = true; 130 + }; 70 131 }; 71 132 }; 72 133 }; 73 134 135 + rust-analyzer.binary = { 136 + path = lib.getExe pkgs.rust-analyzer; 137 + }; 138 + 139 + package-version-server.binary = { 140 + path = lib.getExe pkgs.package-version-server; 141 + }; 142 + 143 + vtsls.binary = { 144 + path = lib.getExe pkgs.vtsls; 145 + 146 + arguments = [ "--stdio" ]; 147 + }; 148 + 74 149 biome.binary = { 75 - path = lib.getExe biomePackage; 150 + path = lib.getExe pkgs-unstable.biome; 76 151 77 152 arguments = [ "lsp-proxy" ]; 78 153 }; 154 + 155 + markdown-oxide.binary = { 156 + path = lib.getExe pkgs.markdown-oxide; 157 + }; 158 + 159 + rumdl.binary = { 160 + path = lib.getExe pkgs-unstable.rumdl; 161 + 162 + arguments = [ "server" ]; 163 + }; 164 + 165 + typos.binary = { 166 + path = lib.getExe pkgs.typos-lsp; 167 + }; 79 168 }; 80 169 }; 81 170 82 171 extraPackages = with pkgs; [ 83 - rust-analyzer 84 - 85 - bun 86 - nodejs 87 - typescript-language-server 88 - package-version-server 89 - 90 - nil 91 172 nixfmt-rfc-style 92 - 93 - biomePackage 94 - eslint 95 173 ]; 96 174 }; 97 175