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’t know UCI.) > > UCI is a configuration language and tool layered on top of the > underlying packages. UCI [1] short description: «small 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.» How UCI works [2]: «Applications 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.» 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 [...] -- Giovanni Biscuolo Xelera IT Infrastructures