zaphyra's git: nixfiles

zaphyra's nixfiles

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 
53 
54 
55 
56 
{
  config,
  systemConfig,
  lib,
  pkgs,
  ...
}:

{
  options.zaphyra.programs.helix = {
    enable = lib.mkOption {
      type = lib.types.bool;
      default = systemConfig.modules.presets.graphical.enable;
    };

    default = lib.mkOption {
      type = lib.types.bool;
      default = false;
    };
  };

  config = lib.mkIf config.zaphyra.programs.helix.enable {
    programs.helix = {
      enable = true;
      settings = {
        editor.cursor-shape.insert = "bar";
        editor.bufferline = "always";
        keys.insert."C-t" = "indent";
        keys.insert."C-d" = "unindent";
        theme = "base16_default";
      };
      languages = {
        language-server.scls.command = lib.getExe pkgs.unstable.simple-completion-language-server;
        language = [
          {
            name = "stub";
            scope = "text.stub";
            file-types = [ ];
            shebangs = [ ];
            roots = [ ];
            auto-format = false;
            language-servers = [ "scls" ];
          }
        ];
      };
      extraPackages = [
        pkgs.markdown-oxide
      ];
    };

    home = lib.mkIf config.zaphyra.programs.helix.default {
      sessionVariables.EDITOR = lib.mkForce "hx";
    };
  };

}