From mboxrd@z Thu Jan 1 00:00:00 1970 From: Giovanni Biscuolo Subject: Guix UCI comparison (was Re: Guix beyond 1.0: =?utf-8?Q?let?= =?utf-8?Q?=E2=80=99s?= have a roadmap!) Date: Fri, 05 Jul 2019 10:35:54 +0200 Message-ID: <87tvc0yj2t.fsf@roquette.mug.biscuolo.net> References: <877e97vws8.fsf@gnu.org> <87blyeqdc1.fsf@gnu.org> <42aa38f7-1414-4138-9f77-c0895ec19c77@www.fastmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:57783) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hjJhd-0000Un-Kr for guix-devel@gnu.org; Fri, 05 Jul 2019 04:36:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hjJhc-0001IT-Gn for guix-devel@gnu.org; Fri, 05 Jul 2019 04:36:21 -0400 Received: from ns13.heimat.it ([46.4.214.66]:56824) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hjJhc-0001G8-9K for guix-devel@gnu.org; Fri, 05 Jul 2019 04:36:20 -0400 In-Reply-To: <42aa38f7-1414-4138-9f77-c0895ec19c77@www.fastmail.com> 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: Alex Griffin Cc: guix-devel@gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello Alex, I know and use UCI (and sometimes LuCI, the web interface) so I'm adding (added) my two cents to clarify the respective ecosystems I may repeat concepts/info some af you may already well know, please forgive me :-) "Alex Griffin" writes: >> What does it mean? (I don=E2=80=99t know UCI.) > > UCI is a configuration language and tool layered on top of the > underlying packages. UCI [1] short description: =C2=ABsmall utility written in C (a shell script-wrapper is available as well) and is intended to centralize the whole configuration of a device running OpenWrt.=C2=BB How UCI works [2]: =C2=ABApplications are made UCI-compatible by simply writing the original configuration file (which is read by the program) according to the chosen settings in the corresponding UCI file. This is done upon running the initialization scripts in /etc/init.d/. See Init scripts for more information. Thus, when starting a daemon with such a UCI-compatible initialization script, you should be aware that the program's original configuration file gets overwritten.=C2=BB In Guix we have a full EDSL for service configuration (UCI lacks package management) and activation; it's Guile based and it's much more powerful than the custom augeas-like [3] UCI configuration API. > It gives a single machine-readable configuration format to everything, To every service for which a custom init file has been written; almost averything in OpenWRT has a custom init file but not all [4] In Guix we should go on defining more and more service, some still really missing (Samba for example, AFAIU) > and then uses it to generate the real config files used by > services. It's the thing that lets you change your router settings > from the OpenWrt web interface or command line. UCI is for command line, LuCI is UCI web interface written in LUA that uses UCI for configuration/reconfiguration of services. > It's a lot like Guix system declarations, except service configuration > happens at runtime. Guix service reconfiguration happens at `guix system reconfgigure` time ;-) It's interesting UCI, like Guix, does not automatically (AFAIU) restarts services upon reconfiguration :-D > I guess the thing I really want though is a web interface. You name it! :-D HTH. Gio'. [1] https://openwrt.org/docs/techref/uci [2] https://openwrt.org/docs/guide-user/base-system/uci [3] http://augeas.net/ [4] https://openwrt.org/docs/guide-user/base-system/notuci.config P.S.: I'd really like one day to be able to replace OpenWRT+UCI with a Guix generated (read-only?) system image deployed on my perimetral office router the usual way, configured via a (local) web UI :-O [...] =2D-=20 Giovanni Biscuolo Xelera IT Infrastructures --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEERcxjuFJYydVfNLI5030Op87MORIFAl0fC+oACgkQ030Op87M ORLKvxAA4vKmG7WSfEuMpVwDCfG8xS7ZYYBVKrk6ZZ7ZVtAX16Om3BMKjg+vLYm2 iRQ3EiI7Tsi+1KYs7DlGMq1CaLLk4wnMB0e9+CJwGr8jtu3Wxur6M17G7NClNk7O OjGK8uAO8z4qFXCcwucoTllVne95UlVbzSXFmjFqWdyMpiZF1dLCRPNXr13OYzEV hQ0DMDTC+ih+Dp7DXm0Nf5aPooKoKZaE2//w/kvTTNCW/XWVucAdpEjRB1MOpz6U ILXeFdo+wpU/gyEiSX/trT66DCKPE+gDmXLLYiCamr0ikeW/LnItNR77JIC/kiGF aKH8gWR8TdqIsqNGfjefgwS4oMVyyVDysLnzfZTHRKhX5DAxXHinTdf+QSgnExmk NeIzQJ980OvQ5GAn+Xt3t9TPlmIQk2u1U/8Lkj2DZueltgOwHrYcA1Z6z5SW/OCO gl0pRFOCrocOhCEDBwYodu6sQWUQWJMya94yErbzF5PRztCJgE0USilei856rdwT wbxL+72gWRMMWhofybov+XHMbgbHMw51p2mF8qXS5hOVhfipGzb1G1C/9yLRewp0 HrfnP/LM0Bhb3G6/KMeNALkWsas7spxz494mz+4E/Yl0QDC7Cra4wCxu/1h5L4cI 69n55/a4t2Qk5wrGlXzg/cSGOgvvvRO3U/vaJN146zr8JnOZOVU= =sSCx -----END PGP SIGNATURE----- --=-=-=--