I want Guix to be widely adopted, because I think it's a really cool piece
of software that deserves more support. To that end, I want to write about
how high switching costs "use Guix for everything" has, and how much I
think Guix adoption will be harmed by this advice.

Guix is an alternative package manager. That is, it competes with package
managers like aptitude, yum, etc. So people are going to have to switch
from these package managers. And I'm hearing that not only do I have the
required complexity of understanding a new package manager, but unlike
other package managers, I need to change my entire way of using the
installed packages.

This is like inventing a new recipe, and requiring that all diners at your
restaurant eschew forks while eating the meal.

Having to switch the way I *use* installed packages is a /significant/
downside to using Guix. If Guix could be used to install packages in an OS,
and then Guix did not require new ways of using the packages, it would be
easy to convince others to use it: "here's a file specifying everything you
need to set your machine up, then use it like you're used to". But
"everything you do needs to change" is an impossible sell, for example, for
me at work.

I'm running into the same problem running a clojure project with leiningen.
Note that for both things I've tried to do, "use Guix for building
everything" means that I can no longer follow any tutorial I find, since
the tutorials I'm using are Gradle and Clojure tutorials. I hope to figure
this out and report back, but I'm not especially optimistic, because I know
that my problems will be entirely fixed with `apt-get install java`, and I
have little idea what's really going on.

Thanks.

On Nov 9, 2016 2:01 AM, "Chris Marusich" <cmmarus...@gmail.com> wrote:

> Zachary Kanfer <zkan...@gmail.com> writes:
>
> > I don't want to use Guix to build my project because I'm developing
> > it. So, for example, I want to run tests often, and that uses
> > Gradle. I want to integrate a build into my editor. I want to make a
> > Guix manifest that can set up a machine for other people to use, and
> > they don't want to use Guix for day-to-day development.
>
> I see.  I know that some people have been using Guix for local
> development [1] [2], so I thought that maybe you could use Guix for
> local development in this case, too.  If it isn't possible, then I
> wonder what we would need to change or add to make it possible?
>
> > So when using Guix, what should $JAVA_HOME be set to? Has anyone else
> done a Java setup using Guix?
>
> I haven't tried local Java development with Guix, so I don't know much
> about how it ought to be done.  There don't seem to be many Java
> packages in Guix yet, so I suspect a lot of machinery that we need might
> not be there.
>
> I tried installing java-junit in a temporary profile with 'guix package
> -p test-profile -i java-junit', and 'guix package -p test-profile
> --search-paths' doesn't recommend any search paths...  It seems that it
> just installed a JAR file, so the way you'd set up the CLASSPATH for
> local development seems unclear to me.  In your case, I don't really
> know what you'd want to set JAVA_HOME to, either, if anything.
>
> Anyway, in the meantime, I hope you can figure out how to get Gradle
> working with the Guix-installed Java.  If you do, please let me know;
> I'm interested in learning more about how one would do Java development
> with Guix.
>
> [1] https://lists.gnu.org/archive/html/guix-devel/2016-05/msg00736.html
> [2] https://lists.gnu.org/archive/html/guix-devel/2016-07/msg01738.html
>
> --
> Chris
>

Reply via email to