aboutsummaryrefslogtreecommitdiff
path: root/share/cfg/helix.nix
blob: 55b6f7600c954b219da5422b71b1fa2a12e96cca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{ pkgs, ... }: {
  programs.helix = {
    extraPackages = with pkgs; [
      rust-analyzer
      rustfmt
      nil
      nixfmt-rfc-style
      python311Packages.python-lsp-server
      clang-tools
      black
      nodePackages.vscode-html-languageserver-bin
      emmet-ls
    ];

    settings = {
      theme = "tokyonight";
      editor = {
        line-number = "relative";
        cursor-shape = {
          insert = "bar";
          normal = "block";
          select = "underline";
        };
        whitespace.render = {
          space = "all";
          tab = "all";
          newline = "none";
        };
        whitespace.characters = {
          space = "·";
          nbsp = "⍽";
          tab = "→";
          newline = "⏎";
          tabpad = "·"; # Tabs will look like "→···" (depending on tab width)
        };
        cursorline = true;
        lsp.display-messages = true;
      };
    };

    languages = {
      language-server.emmet-ls = {
        args = [ "--stdio" ];
        command = "emmet-ls";
      };
      language = [{
        name = "html";
        language-servers = [ "vscode-html-language-server" "emmet-ls" ];
      }];
    };
  };
}