dotfiles
My PC Dotfiles & Websitegit clone https://github.com/maydayv7/dotfiles
modules/apps/zed.nix (1937B)
1## Zed Editor ##
2{config, ...}: let
3 inherit (config) util;
4 inherit (config.flake) files;
5in {
6 flake.modules.homeManager.zed = {
7 config,
8 pkgs,
9 ...
10 }: {
11 xdg.mimeApps = let
12 mime = util.build.mime {
13 code = ["dev.zed.Zed.desktop"];
14 markdown = ["dev.zed.Zed.desktop"];
15 text = ["dev.zed.Zed.desktop"];
16 };
17 in {
18 defaultApplications = mime;
19 associations.added = mime;
20 };
21
22 home.persist.directories = [
23 ".config/zed"
24 ".local/share/zed"
25 ];
26
27 programs.zed-editor = {
28 enable = true;
29 package = pkgs.zed-editor;
30 installRemoteServer = true;
31
32 # Settings
33 userSettings =
34 files.zed.settings
35 // (with config.stylix.fonts; {
36 "ui_font_family" = sansSerif.name;
37 "buffer_font_family" = monospace.name;
38 });
39 userKeymaps = files.zed.keymap;
40
41 ## Extensions
42 extensions = [
43 "nix" # Nix
44 "dart" # Flutter/Dart
45 "java" # Java
46 "html" # HTML
47 "toml" # TOML
48 "dockerfile" # Docker
49 "make" # Makefiles
50 "sql" # SQL
51 "basher" # Bash
52 "latex" # LaTeX
53 "log" # Log Files
54 "git-firefly" # Git
55 "material-icon-theme" # File Icons
56 ];
57
58 extraPackages = with pkgs; [
59 # Nix
60 nixd
61 alejandra
62
63 clang-tools # C / C++
64 rust-analyzer # Rust
65 gopls # Go
66 texlab # LaTeX
67 jdt-language-server # Java
68 sqls # SQL
69
70 # Python
71 basedpyright
72 ruff
73
74 # Shell
75 bash-language-server
76 shellcheck
77 shfmt
78
79 # Web / JSON / Markup
80 nodejs
81 marksman
82 taplo
83 vtsls
84 dockerfile-language-server
85 tailwindcss-language-server
86 typescript-language-server
87 yaml-language-server
88 vscode-langservers-extracted
89 ];
90 };
91 };
92}