[Haskell-cafe] new Cabal user question -- installing to Haskell Platform on Windows network drive?

Rogan Creswick creswick at gmail.com
Wed Jul 28 00:07:04 EDT 2010

On Tue, Jul 27, 2010 at 2:43 PM, Peter Schmitz <ps.haskell at gmail.com> wrote:
> So, by default, cabal wants to put its config and updates on C:.
> I looked at C:\Documents and Settings\pschmitz\Application Data\cabal\config
> It has various references to C:, some commented out. E.g.:
> remote-repo-cache: C:\Documents and Settings\pschmitz\Application
> Data\cabal\packages
> build-summary: C:\Documents and Settings\pschmitz\Application
> Data\cabal\logs\build.log
> install-dirs user
> -- prefix: "C:\\Documents and Settings\\pschmitz\\Application Data\\cabal"

You can change these to whatever you want, and cabal should just start
using those locations, if that helps.

> Given that I want to keep everything on H:,
> and assuming that I don't want to place the Cabal configs and updates in the
> Platform tree (H:\proc\tools\Haskell Platform),
> I would _like_ to create a dir such as
> H:\proc\tools\cabal
> to hold everything that Cabal would normally put on C:.
> *** I'm afraid I'm having trouble figuring out how to accomplish this.
> Is there (hopefully) a combination of cabal command line switches that will
> create a new config file over on H: for me,
> or must I edit the config file directly and move it to H:?

There are others on this list that know cabal much better than I, but
I have been working with it a bit recently, so I'll take a stab..

I don't believe you can configure *cabal* to look on H: for the cabal
config, without specifying .  I believe it uses the windows
Application Data directory for your current user to locate the cabal
config (there is a windows system (?) call that returns something akin
to c:\Documents and Settings\username\Application Data\ ).  You *can*
change the location of your Application Data directory by hacking the
windows registry, but that is likely to cause more pain than it is

I think you will be best served by just editing the entries in your
cabal config (if that, even) unless you have a very good reason to
relocate the cabal config itself.

(Ok, so I think I lied a little -- iirc, there is an undocumented
cabal flag that will let you specify the path to the cabal config file
to use.  I think it has to be the first parameter to cabal, and I
think it's --cabal-config=<file>, but I've only used it once and I
don't think it's really worth the trouble in your case. Application
Data is a pretty standard place for things like this.)


More information about the Haskell-Cafe mailing list