=head1 NAME

Envy - A comprehensive multi-dimensional environment manager

=head1 SYNOPSIS

Installation takes a bit more work beyond simply typing 'make'.  Big
returns sometimes involve negotiating big obstacles.  Sorry!

=head1 FIRST TIME USERS

To install envy, you need to determine the type of your login shell.
In the Unix world, there are mainly two types of shells.  You can find
out which one you have with:

  echo $SHELL

The following cover installation for both types of shells:

=over 4

=head2 INSTALLING

=item * SH, KSH, BASH, ZSH, Etc.

   envy() { eval `envy.pl $*`; }

=item * CSH, TCSH, Etc.

   alias envy 'envy.pl -csh \!* > /tmp/t$$; source /tmp/t$$; /bin/rm -f /tmp/t$$'

=back

Now type 'envy help'.  You should see a menu of help options.

Full installation is not exactly straightforward.  To integrate envy
into your facilities, see the examples in etc/login.  You should be
able to cut & paste to get things going.  I hope to have better
documentation in the future!

=head2 WHY AM I GOING THROUGH ALL THIS HELL?

Because envy could solve some of your long standing, tenacious
problems!

=over 4

=item * REUSE

Envy allows the centralization of configuration files.  When new
versions of software come out, it is easy to globally publish new
configuration files in preparation for gradual, controlled migration.
Instead of being locked into backward compatibility, you can gently
nudge users into change.

=item * CHOICE

Each user can customize their environment exactly to the degree they
want instead of being forced into a global environment or splintering
into an entirely custom (home directory based :-) setup.

=item * DEPENDENCIES

Envy makes dependencies between packages explicit and visible.

=item * STARTING APPLICATIONS

The 'launche' script makes it easy to isolate application
configuration while logging usage and environment dependencies.

=item * CRON JOBS

Envy makes it easy to set up cron jobs.  Cron jobs no longer fail
unexpectedly due to missing environment variables since you can test
them with 'launche'.

=back

=head2 ENVY SETUP

Hopefully, you will find envy very easy to set up for your site.
Before you 'make install', be sure check ./Conf.pm.

=head1 EXTENSION API

Envy is written entirely in perl and is designed to be used as a
library as well as a command-line tool.  One possible project is a
graphical front end to help navigate the environment.  Also see the
TODO file.

=head1 SUPPORT

Send email to envy@listbox.com.

=head1 SEE ALSO

For a comparison of unix shells:

  http://www.faqs.org/faqs/unix-faq/shell/shell-differences/index.html

And for why you should *not* do shell programming in csh:

  http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/

=cut
