Name: Thomas Ingram Email: address@hidden Jabber: address@hidden IRC: adverb (freenode) Project: Installer Wizard for GuixSD Summary: Currently GuixSD is not very easy to install, my goal is to create a easy to understand ncurses interface that will walk users through installation. This would be similar to the Debian installer or other Linux/BSD installers providing options for partitioning and setting up new users along with other installation options. Benefits: Make GuixSD a more appealing to new users who are accustom to other distributions that come with a graphical installer. Deliverables: A nice ncurses installer, written in GNU Guile, that lets users partition disks and install GuixSD in a clear easy to understand way. Partitioning will allow for custom setups and also offer several default "most common" options such as: Simple all in one big partition on one disk Separate root and home LVM/LVM encrypted (this would probably be more difficult to add) The installer will also include steps on setting up new users username, passwords, root password, and sudo access. In addition the installers should be written in such a way that it could be hooked into different UI's other than the ncurses one (For example fhmgufs on IRC was talking about perhaps a Gtk+ one). This is important as I admit ncurses is not the prettiest. The installer could also give users the option of which desktop environment they wish installed onto their system by default. This could be done by giving the user the option to connect to the internet while installing and then the chosen desktop environment packages could be downloaded over the network. Plan: Before the summer starts: I will be reading up on the ncurses documentation and guile writing small programs to practice and prepare. I've been programming in scheme for six months so I'm still a relatively novice schemer, but will work hard to improve in the following months. I'll look at the source code of other installers like debian-installer, Ubiquity, and others in order to understand how the accomplish what the do and what features they offer. This will give me an idea of where to start and what level of features we will want. I will also become very familiar with the installation process of GuixSD as it currently exists in order to better understand how to automate the process. Also I will become more familiar with the Guix code base in order to follow the same style and such in my own code. Once the summer has started: I will begin to write tools and a UI in ncurses to walk users through installing GuixSD onto their machine. I'll start by getting the basic interface and partitioning done then once that is done I will move on to adding and setting up new users and setting the root password/setting up sudo. Stretch goals: once that is completed and working well adding more options like picking between different desktop environments. Communication: I am subscribed to the GNU Guix mailing list and frequently am hanging out in the #guix on freenode with the nick adverb. I can also talk over Jabber my username is address@hidden I'm open to talking over any other platforms, preferably free software ones though. Qualifications: I have been using GNU Linux and other Unix-like systems since 2013. I started with Ubuntu and OpenSUSE, then I used Arch Linux for over a year, and have more recently been using Debian. I distro hopped frequently in the past three years so I have a lot of experience with good and bad installers as well as different systems. I've been programming since 2012 when I started Python programming, since then I've been programming Java for two years and taken classes on it in high school and at my University. I have been programming in C for a little over a year and am currently taking a introductory course on C. I became interested in Lisp in the fall of last year and began learning scheme in my spare time. Since I learning Guix would be participating in GSoC I have been spending much more of my time learning the ins and outs of GNU Guile in the hopes of getting accepted to the project. Although I have not previously contributed to free software I have always wanted to contribute back to free software. I have run GNU Linux exclusively for the past three years and care deeply about user freedoms.