dotfiles

My PC Dotfiles & Website

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}