/ devenv.nix
devenv.nix
 1  {
 2    pkgs,
 3    lib,
 4    ...
 5  }:
 6  
 7  {
 8  
 9    packages = with pkgs; [
10      codebook
11      fish-lsp
12      harper
13      nil
14      nixd
15      nixfmt
16      rumdl
17      toml-sort
18      treefmt
19      yaml-language-server
20      yamlfmt
21    ];
22  
23    scripts = {
24      treefmt.exec = "treefmt";
25      refresh.exec = "devenv tasks run devenv:enterShell --mode before --refresh-eval-cache; rm -r .devenv/";
26    };
27  
28    tasks = {
29      "devenv:treefmt:run" = {
30        # don't run treefmt when we enter shell
31        before = lib.mkForce [ ];
32      };
33    };
34  
35    treefmt = {
36      enable = true;
37  
38      config = {
39  
40        settings = {
41          excludes = [
42            ".devenv/*"
43            ".git/*"
44            ".jj/*"
45            ".rumdl_cache/*"
46          ];
47        };
48  
49        programs = {
50          fish_indent.enable = true;
51          nixfmt.enable = true;
52          rumdl-format.enable = true;
53          toml-sort.enable = true;
54          yamlfmt.enable = true;
55        };
56  
57      };
58  
59    };
60  
61  }