Discussion:
Guix - installation script
(too old to reply)
Christopher Baines
2017-08-25 18:33:51 UTC
Permalink
Raw Message
On Mon, 31 Jul 2017 23:49:50 +0100
Sharlatan Hellseher <***@gmail.com> wrote:

> I've found your project very interesting. I've played with
> installation instruction but it has a lot of different steps, for
> convenience purpose I've wrote installation script which goes through
> all points of your guide.
>
> As far as I could say, there is no any official installation script
> for Guix on existing OS. I would like take an opportunity to maintain
> this process.
>
> If you could review it (Github) and give me some feedback I would be
> appreciated.
>
> https://github.com/Hellseher/wds/blob/master/wds-guix-install.sh

I haven't tried this yet, but it looks awesome!

while I don't speak from the official maintainers, I'd be interested in
seeing this being a part of Guix itself, which in my mind
would enable things like distributing it as an installation
method, and prominently mentioning it in the documentation. Would you
(as the author) be ok with this?
Ludovic Courtès
2017-08-26 12:57:48 UTC
Permalink
Raw Message
Hello!

Christopher Baines <***@cbaines.net> skribis:

> On Mon, 31 Jul 2017 23:49:50 +0100
> Sharlatan Hellseher <***@gmail.com> wrote:
>
>> I've found your project very interesting. I've played with
>> installation instruction but it has a lot of different steps, for
>> convenience purpose I've wrote installation script which goes through
>> all points of your guide.
>>
>> As far as I could say, there is no any official installation script
>> for Guix on existing OS. I would like take an opportunity to maintain
>> this process.
>>
>> If you could review it (Github) and give me some feedback I would be
>> appreciated.
>>
>> https://github.com/Hellseher/wds/blob/master/wds-guix-install.sh
>
> I haven't tried this yet, but it looks awesome!
>
> while I don't speak from the official maintainers, I'd be interested in
> seeing this being a part of Guix itself, which in my mind
> would enable things like distributing it as an installation
> method, and prominently mentioning it in the documentation. Would you
> (as the author) be ok with this?

This looks useful indeed! Perhaps what we could do is ship it along
with Guix, mention it in the “Binary Installation” section, and yet keep
the text of the instructions in that section, so that users have the
choice of using the script (and understanding what it does), or
following the instructions.

Thoughts?

Ludo’.
Hellseher
2017-08-26 20:51:12 UTC
Permalink
Raw Message
Hi,

That's great, thank you!

I'll go through all suggestions and make required changes as soon as
possible.

Do you want to move that script to separate stand along repository to
make it easy for other to review it?


Regards,

Sharlatan


On 26/08/17 13:57, Ludovic Courtès wrote:
> Hello!
>
> Christopher Baines <***@cbaines.net> skribis:
>
>> On Mon, 31 Jul 2017 23:49:50 +0100
>> Sharlatan Hellseher <***@gmail.com> wrote:
>>
>>> I've found your project very interesting. I've played with
>>> installation instruction but it has a lot of different steps, for
>>> convenience purpose I've wrote installation script which goes through
>>> all points of your guide.
>>>
>>> As far as I could say, there is no any official installation script
>>> for Guix on existing OS. I would like take an opportunity to maintain
>>> this process.
>>>
>>> If you could review it (Github) and give me some feedback I would be
>>> appreciated.
>>>
>>> https://github.com/Hellseher/wds/blob/master/wds-guix-install.sh
>> I haven't tried this yet, but it looks awesome!
>>
>> while I don't speak from the official maintainers, I'd be interested in
>> seeing this being a part of Guix itself, which in my mind
>> would enable things like distributing it as an installation
>> method, and prominently mentioning it in the documentation. Would you
>> (as the author) be ok with this?
> This looks useful indeed! Perhaps what we could do is ship it along
> with Guix, mention it in the “Binary Installation” section, and yet keep
> the text of the instructions in that section, so that users have the
> choice of using the script (and understanding what it does), or
> following the instructions.
>
> Thoughts?
>
> Ludo’.
>
Christopher Baines
2017-08-27 22:36:17 UTC
Permalink
Raw Message
On Sat, 26 Aug 2017 21:51:12 +0100
Hellseher <***@gmail.com> wrote:

> Hi,
>
> That's great, thank you!
>
> I'll go through all suggestions and make required changes as soon as
> possible.
>
> Do you want to move that script to separate stand along repository to
> make it easy for other to review it?

What might work well is for you to send the whole script to guix-devel
in an email. Then people can read through and review it.

I'll try to make some time to review and test this in the coming week.
Christopher Baines
2017-09-02 16:04:22 UTC
Permalink
Raw Message
On Sun, 27 Aug 2017 23:36:17 +0100
Christopher Baines <***@cbaines.net> wrote:

> On Sat, 26 Aug 2017 21:51:12 +0100
> Hellseher <***@gmail.com> wrote:
>
> > Hi,
> >
> > That's great, thank you!
> >
> > I'll go through all suggestions and make required changes as soon
> > as possible.
> >
> > Do you want to move that script to separate stand along repository
> > to make it easy for other to review it?
>
> What might work well is for you to send the whole script to guix-devel
> in an email. Then people can read through and review it.
>
> I'll try to make some time to review and test this in the coming week.

I've tried running this in a Debian VM, and I've nearly managed to get
Guix installed.

From my experience, I've got some suggestions for the script.

Firstly, I see this as installing GNU Guix, not GuixSD, as I understand
GuixSD to be an operating system, and this script won't install an OS,
just Guix within your existing operating system.

For the ascii art, I tweaked it by removing the SD, and adding some
separation between the i and x to make it more readable.
_____ _ _ _ _ _____ _
/ ____| \ | | | | | / ____| (_)
| | __| \| | | | | | | __ _ _ _ __ __
| | |_ | . ` | | | | | | |_ | | | | |\ \/ /
| |__| | |\ | |__| | | |__| | |_| | | > <
\_____|_| \_|\____/ \_____|\__,_|_|/_/\_\


Just requiring one of curl and wget would be good, either by removing
the need to use curl (it wasn't on the Debian system I was testing
with), or making it possible to use either would work.

I think the requirement on which could be removed by using the bash
builtin type.

Also, for checking dependencies, currently when it fails, the entire
script stops as command exits with a status of 1. Something like this
would work though:

if ! command -v "$c" &>/dev/null; then
warn+=("$c")
fi

I think running guix package -i at the end might be a bit too much.
Maybe it would be better to suggest running a less permanent command,
e.g. guix environment --ad-hoc hello -- hello, and directing them to
IRC or the mailing list if they have problems?

Thanks again for writing this :)
Hellseher
2017-09-07 18:11:58 UTC
Permalink
Raw Message
Hi,

Sorry for delayed replay, it's busy time at work/home.

I'll check and fix it as soon as possibly, but you always can pull
request it on a GitHub.

You also mentioned to send it to guix-***@gnu.org, which format do you
prefer?


Regards,

HS


On 02/09/17 17:04, Christopher Baines wrote:
> On Sun, 27 Aug 2017 23:36:17 +0100
> Christopher Baines <***@cbaines.net> wrote:
>
>> On Sat, 26 Aug 2017 21:51:12 +0100
>> Hellseher <***@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> That's great, thank you!
>>>
>>> I'll go through all suggestions and make required changes as soon
>>> as possible.
>>>
>>> Do you want to move that script to separate stand along repository
>>> to make it easy for other to review it?
>> What might work well is for you to send the whole script to guix-devel
>> in an email. Then people can read through and review it.
>>
>> I'll try to make some time to review and test this in the coming week.
> I've tried running this in a Debian VM, and I've nearly managed to get
> Guix installed.
>
> From my experience, I've got some suggestions for the script.
>
> Firstly, I see this as installing GNU Guix, not GuixSD, as I understand
> GuixSD to be an operating system, and this script won't install an OS,
> just Guix within your existing operating system.
>
> For the ascii art, I tweaked it by removing the SD, and adding some
> separation between the i and x to make it more readable.
> _____ _ _ _ _ _____ _
> / ____| \ | | | | | / ____| (_)
> | | __| \| | | | | | | __ _ _ _ __ __
> | | |_ | . ` | | | | | | |_ | | | | |\ \/ /
> | |__| | |\ | |__| | | |__| | |_| | | > <
> \_____|_| \_|\____/ \_____|\__,_|_|/_/\_\
>
>
> Just requiring one of curl and wget would be good, either by removing
> the need to use curl (it wasn't on the Debian system I was testing
> with), or making it possible to use either would work.
>
> I think the requirement on which could be removed by using the bash
> builtin type.
>
> Also, for checking dependencies, currently when it fails, the entire
> script stops as command exits with a status of 1. Something like this
> would work though:
>
> if ! command -v "$c" &>/dev/null; then
> warn+=("$c")
> fi
>
> I think running guix package -i at the end might be a bit too much.
> Maybe it would be better to suggest running a less permanent command,
> e.g. guix environment --ad-hoc hello -- hello, and directing them to
> IRC or the mailing list if they have problems?
>
> Thanks again for writing this :)
Christopher Baines
2017-09-07 18:25:49 UTC
Permalink
Raw Message
On Thu, 7 Sep 2017 19:11:58 +0100
Hellseher <***@gmail.com> wrote:

> Hi,
>
> Sorry for delayed replay, it's busy time at work/home.

No problem :)

> I'll check and fix it as soon as possibly, but you always can pull
> request it on a GitHub.
>
> You also mentioned to send it to guix-***@gnu.org, which format do
> you prefer?

A patch produced by Git. There are a few ways of doing this, e.g. `git
format-patch`, or `git send-email`.

What I'd recommend is cloning the guix repository, putting the install
script in to the scripts/ directory (this might not be the best place,
but its a good start), and then commiting. You should then be able to
run `git format-patch HEAD^`, which will generate a file you can send
to the list.
Pjotr Prins
2017-10-02 06:15:24 UTC
Permalink
Raw Message
A script that would install the binary install package of Guix would
be very useful. It should unpack the tarball into /gnu/store and
/var/guix (checking nothing is there), set the keys and (optionally)
the build users. Ideally we should have:

wget install.sh
sudo sh install.sh
- fetchin' guix...
- unpacking guix...
- installing guix...
- fetching keys...
- set build users...
- running guix pull...
guix package -i hello
(binary installs...)

They keys of main substitute servers should just work.

I just went through helping someone install Guix remotely and it is
*too* painful. He is an experienced devop(!) It took hours, mostly
because he forgot to set the keys correctly (Guix gives no proper
feedback).

With immediate gratification people can install software - including
mine - and get into Guix itself later.

Nix used to have such an installer - it was quite good. It even had
the one-click installer.

The install.sh file can actually include the tarball - as one
download.

Pj.
Catonano
2017-12-05 10:55:30 UTC
Permalink
Raw Message
what did happen with this ?

Was there any progress ?
Ricardo Wurmus
2018-01-28 18:00:35 UTC
Permalink
Raw Message
Catonano <***@gmail.com> writes:

> what did happen with this ?
>
> Was there any progress ?

The script has since disappeared from the repository, but I took a
previous version and am now in the process of extending it and making it
ready for inclusion in Guix.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
https://elephly.net
Catonano
2018-01-28 19:14:53 UTC
Permalink
Raw Message
2018-01-28 19:00 GMT+01:00 Ricardo Wurmus <***@elephly.net>:

>
> Catonano <***@gmail.com> writes:
>
> > what did happen with this ?
> >
> > Was there any progress ?
>
> The script has since disappeared from the repository, but I took a
> previous version and am now in the process of extending it and making it
> ready for inclusion in Guix.
>
> --
> Ricardo
>
> GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
> https://elephly.net
>
>
thank you Ricardo

I appreciate that

In these days I have to attend something else so I can't be as present as
I'd like to be.
Hellseher
2018-02-04 10:04:57 UTC
Permalink
Raw Message
Hi, all


I've changed a structure of my repo (did not push it to official Guix
one yet)

https://github.com/Hellseher/wds/blob/master/wds-hacks/wds-guix-install.sh

Regards,

Oleg


On 28/01/18 18:00, Ricardo Wurmus wrote:
> Catonano <***@gmail.com> writes:
>
>> what did happen with this ?
>>
>> Was there any progress ?
> The script has since disappeared from the repository, but I took a
> previous version and am now in the process of extending it and making it
> ready for inclusion in Guix.
>
> --
> Ricardo
>
> GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
> https://elephly.net
>
Ludovic Courtès
2018-02-05 11:05:40 UTC
Permalink
Raw Message
Hi,

Hellseher <***@gmail.com> skribis:

> I've changed a structure of my repo (did not push it to official Guix
> one yet)
>
> https://github.com/Hellseher/wds/blob/master/wds-hacks/wds-guix-install.sh

For the record this is now available upstream:

https://git.savannah.gnu.org/cgit/guix.git/tree/etc/guix-install.sh

Thank you!

Ludo’.
m***@gmail.com
2017-12-11 22:31:04 UTC
Permalink
Raw Message
On 10/02/2017 at 09:15 Pjotr Prins writes:

> A script that would install the binary install package of Guix would
> be very useful. It should unpack the tarball into /gnu/store and
> /var/guix (checking nothing is there), set the keys and (optionally)
> the build users. Ideally we should have:
>
> wget install.sh
> sudo sh install.sh
> - fetchin' guix...
> - unpacking guix...
> - installing guix...
> - fetching keys...
> - set build users...
> - running guix pull...
> guix package -i hello
> (binary installs...)
>
> They keys of main substitute servers should just work.
>
> I just went through helping someone install Guix remotely and it is
> *too* painful. He is an experienced devop(!) It took hours, mostly
> because he forgot to set the keys correctly (Guix gives no proper
> feedback).
[...]

I don't see how we can recommend Guix with a clear conscience if we
don't automate these tedious steps, at least for a few popular
distributions.

FWIW, the last time I grappled with a binary install (guix-0.9.0 in Mar
2016 on Debian), I found a makefile to be the most handy way to automate
install/uninstall. I'm not posting it because it doesn't work w/ Guix
0.15.0, but happy to provide to anyone interested. - George
Loading...