all repos — nixfiles @ 7f73174893bc51d3c701f4a4cda515492641d270

System and user configuration, managed by nix and home-manager

user/settings/development/lisp.nix (view raw)

{
  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+)";
  };
}