From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Wingo Subject: Re: thesis: guixsd should provide /usr/bin/env Date: Thu, 19 Nov 2015 17:35:32 +0000 Message-ID: <87fv01nb8b.fsf@igalia.com> References: <874mgmti7b.fsf@igalia.com> <87h9ki9dmz.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46594) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZzT7W-0001lB-3n for guix-devel@gnu.org; Thu, 19 Nov 2015 12:35:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZzT7R-0007H7-TF for guix-devel@gnu.org; Thu, 19 Nov 2015 12:35:42 -0500 In-Reply-To: <87h9ki9dmz.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Thu, 19 Nov 2015 17:07:16 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org On Thu 19 Nov 2015 16:07, ludo@gnu.org (Ludovic Court=C3=A8s) writes: > My current inclination would be to not provide /usr/bin/env by default, > and instead let users add it if they want to, either using the > sledgehammer Ricardo suggests ;-), or simply with: > > ln -s /run/current-system/profile/bin/env /usr/bin/env > > We could document it, and/or even add a switch in =E2=80=98operating-syst= em=E2=80=99 to > do that. > > How does that sound? Fine with me. My use case is when working on Chromium, which has a bunch of scripts that are part of its development environment. Most of them start with /usr/bin/env, just a couple don't and I think those are bugs. In practice though that's something of a hack and what I really should go for is the --container thing... >> Alternately, I am not sure if this would work but we could make a form >> of "guix environment" which populates a profile that is mounted at /usr >> in a container. That would allow many more non-Guix tools to run. > > Technically =E2=80=98guix environment --container=E2=80=99 could create /= usr, just like > it creates /bin/sh. Not sure if it=E2=80=99s a good idea, though. I think it is definitely interesting. The reason being, you might hack on something or have to deploy something and it's not part of Guix -- you don't want to rewrite the shebang lines for files in git that aren't build products. Being able to make a just-FHS-enough environment inside a container sounds to me like a useful tool to have for shimming Guix and the outside world, while also benefitting from Guix's reproducible environments, rollbacks, isolation, and so on. Andy