This LGTM except ... the first paragraphs (quoted below) are an advertisement. This is out of place in a tutorial. So, IMO, they should simply be removed.
> GNU Guix stands out as the *hackable* package manager, mostly because > it uses [GNU Guile](https://www.gnu.org/software/guile/), a powerful > high-level programming language, one of the > [Scheme](https://en.wikipedia.org/wiki/Scheme_(programming_language)) > dialects from the [Lisp > family](https://en.wikipedia.org/wiki/Lisp_(programming_language)). > > Package definitions are also written in Scheme, which empowers Guix in > some very unique ways, unlike most other package managers that use > shell scripts or simple languages. > > - Use functions, structures, macros and all of Scheme expressiveness > for your package definitions. > > - Inheritance makes it easy to customize a package by inheriting from > it and modifying only what is needed. > > - Batch processing: the whole package collection can be parsed, > filtered and processed. Building a headless server with all graphical > interfaces stripped out? It's possible. Want to rebuild everything > from source using specific compiler optimization flags? Pass the > `#:make-flags "..."` argument to the list of packages. It wouldn't be > a stretch to think [Gentoo USE > flags](https://wiki.gentoo.org/wiki/USE_flag) here, but this goes even > further: the changes don't have to be thought out beforehand by the > packager, they can be *programmed* by the user! If you don't remove them, then at least move the paragraph quoted below to the top of the piece ... > The following tutorial covers all the basics around package creation > with Guix. It does not assume much knowledge of the Guix system nor > of the Lisp language. The reader is only expected to be familiar with > the command line and to have some basic programming knowledge. ... and preface the above mentioned paragraphs with something like ... # Guix is a unique approach to package management HTH - George