2

GHC 7.8.3 をデフォルトのシステム全体の Haskell コンパイラにしたいのですが、プラットフォーム全体をインストールしたくありません。ここに私のconfigurarion.nixファイルの一部があります:

{
    environment.systemPackages = with pkgs; [ 
        haskellPackages_ghc783_profiling.alex
        haskellPackages_ghc783_profiling.happy 
        # ghc.ghc783 -- not sure about this one
        haskellPackages_ghc783_profiling.ghc
        haskellPackages_ghc783_profiling.cabalInstall
    ];
}

ただし、ver 7.6.3 はデフォルトで表示され、どこから来たのか想像できません...

$ ghc --verion
$ The Glorious Glasgow Haskell Compilation System, version 7.6.3

Wiki ページでいくつかのヒントを見つけました。

pkgs : {
   packageOverrides = self : rec {
     hsEnv = self.haskellPackages.ghcWithPackages (self : [
         self.haskellPlatform
         # add more packages here
         #
         #   I tried to replace `self.haskellPlatform`
         #   with `self:ghc783`, 
         #   with `self:haskellPackages.ghc_783_profiling.ghc`, and
         #   with `self:ghc`, but all that produces errors.
     ]);
   };
 }

では、バージョン 7.8.3 をデフォルトにする正しい方法は何ですか?

4

2 に答える 2

1

システム全体で特定の GHC バージョンを使用するには、次のようなモジュールを使用します。

nixpkgs.config.packageOverrides目的のバージョンに名前を変更haskellPackagesし、haskell 環境を追加するために使用します。

nixpkgs.config.cabal.libraryProfiling = true;
nixpkgs.config.packageOverrides = in_pkgs : rec
  { 
    haskellPackages = in_pkgs.haskellPackages_ghc784_profiling;
    hsEnv = in_pkgs.haskellPackages_ghc784_profiling.ghcWithPackages hsPkgs;
  }

hsPkgsパッケージ リスト コンストラクターになるように定義します。

hsEnvにを追加environment.systemPackages:

environment.systemPackages = [ hsEnv ];
于 2015-02-08T01:44:54.523 に答える
0

たぶん、ユーザー nix env にインストールしましたか? 試してみてくださいnix-env -q

于 2015-02-03T09:07:03.017 に答える