From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Thoughts and questions from a newcomer Date: Sun, 17 Sep 2017 21:32:13 +0200 Message-ID: <87efr5glz6.fsf@gnu.org> References: <877ex47r7h.fsf@localhost.i-did-not-set--mail-host-address--so-tickle-me> 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]:45290) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dtfIk-0007PQ-0f for guix-devel@gnu.org; Sun, 17 Sep 2017 15:32:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dtfIf-0008T5-CQ for guix-devel@gnu.org; Sun, 17 Sep 2017 15:32:22 -0400 In-Reply-To: <877ex47r7h.fsf@localhost.i-did-not-set--mail-host-address--so-tickle-me> (Andrew Erlanger's message of "Mon, 11 Sep 2017 19:25:54 -0400") 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" To: Andrew Erlanger Cc: guix-devel@gnu.org Hello, Andrew Erlanger skribis: > My main draw to Guix was my frustration with configuring Gentoo and > other distros. After I spend a day exactly configuring a system, I want > the state which I set up to be _exactly_ reproducible anytime I want. > But clearly I don't need all the information of the entire disk image > to reproduce that exact state; I just need a few configuration files > worth of information. Indeed. Like Julien wrote, if you=E2=80=99re using GuixSD, having the Guix commit and the GuixSD configuration file is all you need to reproduce the exact same deployment, bit-for-bit (or almost). To get a feel of what configuration looks like in GuixSD, take a look at this section of the manual: https://gnu.org/software/guix/manual/html_node/Using-the-Configuration-Sy= stem.html > On the other hand, it seems that Guix might be more about mitigating > side-effects rather than declaring state. So, which is it? GuixSD, as can be seen on the page above, is purely declarative. You declare an OS, and then you instantiate it with =E2=80=98guix system=E2=80= =99. The per-user profiles of Guix can be either declarative (via =E2=80=98guix package --manifest=E2=80=99), or with an imperative style (=E2=80=98guix pa= ckage --install=E2=80=99 etc.). In the latter case, the style is imperative, but under the hood it=E2=80=99s always declarative. HTH, Ludo=E2=80=99.