【发布时间】:2015-04-03 10:45:35
【问题描述】:
我正在使用configuration.nix 以某种方式同时安装emacs 和haskellMode 软件包:
environment.systemPackages = with pkgs; [
(haskellPackages.ghcWithPackages (self : [
self.cabalInstall
self.happy
self.alex
self.ghcMod
]))
emacs
emacs24Packages.haskellMode
];
我的.emacs 文件包含:
(require 'haskell-mode)
(add-hook 'haskell-mode-hook 'turn-on-hi2)
然后 Emacs 启动时没有错误(所以我假设它可以找到 haskell-mode),但是当我打开 .hs 文件时它不会进入 Haskell 次要模式。
~/.nix-profile/share/emacs/site-lisp/haskell-.... 文件确实存在于我的个人资料中,如果重要的话...
那么,我该如何让它发挥作用呢?
【问题讨论】:
-
你能用
M-x haskell-mode RET手动开启模式吗? -
嗨@Chris,当我这样做时,我从 Emacs 收到以下错误:
Error in post-command-hook (global-font-lock-mode-check-buffers): (void-variable haskell-font-lock-choose-keywords)。知道这意味着什么吗? -
貌似
haskell-mode.el应该提供haskell-font-lock-choose-keywords,但是好像没有定义,所以haskell-mode不知什么原因没有加载? -
看起来确实有些东西没有正确构建,但不幸的是我从未使用过 NixOS,我不确定
environment.systemPackages是如何工作的。我通过package.el和 MELPA 安装了几乎所有东西,因为它已被广泛使用。也许这会给您带来更好的结果? -
是的,MELPA 也为我工作,我只是希望它成为我的“声明性配置”的一部分,这是一个很好的 Nixos 功能。
标签: emacs haskell-mode nixos nix