DYLAN JEFFERS sapientech@openmailbox.org | git: notabug.org/SapienTech | IRC: SapienTech GUIX: INSTALLER WIZARD FOR GuixSD SUMMARY - Build an intuitive, yet highly customizable installer wizard for the Guix System Distribution - Design with reproducible builds in mind - Consider both a text-based and graphical application using guile-ncurses/libRUIN - Design for portability for use in other software distributions that lack a proper installer wizard x BENEFITS Difficulty with distro installation is the major obstacle preventing the Linux desktop from mainstream use. GuixSD, although young and still techie-focused, will need an intuitive installer wizard to attract a more general user-base. A well developed installer wizard will make an immediate impact on Guix development. More users means more Guix code is tested, which helps current Guix developers triage bugs more effectively, and encourages new developers with the skill sets in diverse areas to contribute. Although a good techie should not judge a distro by its installer wizard, first impressions do matter. A smooth install is satisfying, which helps establish a good relationship with new users right away. DELIVERABLES - An extensible TUI (and possible GUI) installation wizard - An emphasis on rigorous test suites, with stability prioritized over features - Continually updated installation guide on Guix wiki PLAN - Research installer wizards in other distributions, and work with the Guix community to determine a minimal yet effective installation flow - Research and incorporate installation scripts other Guile users have created - Begin writing the back-end logic, moving on to the TUI, and if support is there, a GUI - Build the installer wizard in steps, and expose them early to help users automate parts of the installation - Document this progress on Guix wiki to keep users updated and informed - Respond to bug-reports ASAP to engage new users and maximize successful installations COMMUNICATION - 24/7 IRC connection with daily checking - Weekly meetings with mentors (if mentors agree) - Release announcements on dev email list - Contributions to bug tracker - General communication and announcements on GNU Social QUALIFICATIONS - Experience working in Guile and C (previously discussed in IRC) - Worked with MediaGoblin last year on its Android client MediaGoblin, and learned how to develop in a free software setting - Experience installing multiple Linux desktops and servers, BSD distros, Plan9, OSX, Windows, and boot firmware - Experience with mobile app development, which shares many similarities with an installation wizard - Contributed to other free software projects - Already use GuixSD for much of my development work in addition to Trisquel running libreboot - Will sustain interest in Guix beyond the summer internship