summary refs log tree commit diff stats
path: root/user/settings/development/lisp.nix
blob: e7652b46b27040fe31d69d3accef33de2d41d01c (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
{ config
, pkgs
, ...
}: {
  home.packages = with pkgs; [
    clisp
    sbcl
    asdf
    cl-launch
  ] ++ lib.optionals pkgs.stdenv.hostPlatform.isLinux [
    ccl
  ];

  programs.emacs.extraPackages = epkgs: (with epkgs; [
    (treesit-grammars.with-grammars (grammars: with grammars; [
      tree-sitter-commonlisp
    ]))
  ]);

  programs.git.attributes = [
    "*.lisp diff=common-lisp"
  ];
  programs.git.extraConfig."diff.common-lisp" = {
    xfuncname = "^\\((def\\S+\\s+\\S+)";
  };
}