Functional programming becomes more popular and widespread, it allows to make simplier, and more robust software, which is easier to maintain. Similar patterns and approaches are applicable for deploying or distributing software, managing infrastructures or even personal computers.
We will discuss how to treat your computing environment as a simple software project written in functional language and how to manage operating system, services, configurations, user software, dotfiles in a declarative and reproducible fashion.
We will be using a quite minimalistic language called Guile Scheme (Lisp dialect), GNU Guix package manager built on top of that language and Guix System, Guix Home and rde projects, which will help to bring all things together and create a fully-working operating system with all needed software available and configured in a few minutes.