nix-community/nix-ts-mode

`make test` doesn't work in nix develop shell

antifuchs opened this issue · 1 comments

I'm trying to figure out how to run make test from a nix devshell, but am running into a wall.

The way things currently work, you have to manually run the helper script that installs the latest nix grammar; that will modify my personal environment and I'd much rather the nix shell does that.

I tried the following in flake.nix, but it didn't have an effect (the resulting ert-runner still can't find the nix grammar, with a bonus issue of not finding nix-ts-mode.el on the load path):

        # [in the `devShells.default` attribute):
        packages = let
          pkgs = nixpkgs-unstable.legacyPackages.${system};
          nixTSEmacs = (pkgs.emacsPackagesFor pkgs.emacs).emacsWithPackages (epkgs: [
            (epkgs.treesit-grammars.with-grammars (p: [p.tree-sitter-nix]))
            epkgs.package-build
          ]);
          cask = (pkgs.cask.overrideAttrs (o: {
            buildInputs = o.buildInputs ++ [pkgs.tree-sitter-grammars.tree-sitter-nix];
            nativeBuildInputs = [nixTSEmacs];
          }));
          in [
            cask
            pkgs.python311
            nixTSEmacs
          ];

Any help there would be appreciated - I don't think I fully get how cask & emacs in a devshell are meant to interact.

I looked at this a little just now and didn't figure it out either, sorry.