standardml/smackage — Issue #14: Generalize config file stuff
Author: robsimmons
Created: 2011-11-14 21:35:58+00:00
State: open

Magenbluten is currently working on adding mercurial support, but in its current form it will need to be disabled by default lest we break support on computers without `hg`. This led me to think that it might be time to think about command-line ways of manipulating the `$SMACKAGE_HOME/config` file. What about something like this?

$ smackage config help
Manipulate configuration options; type `smackage config' to see current configuration options.

smackage {enable/disable} compiler {mlton,smlnj,polyml} (Currently unused)
smackage {enable/disable} protocol {git,hg} (Requires appropriate binary)
smackage {enable/disable} platform {osx,win,linux} (Multiple platforms are not recommend) <-- or allowed?
smackage {enable/disable} source

Configuration options are stored in /Users/rjsimmon/.smackage/config

Enabled by default:
- `source sources.local` (no reason to disable this, as it's user-configurable as well)
- `protocol git` (probably we can't allow this to be disabled for now)