Hi all,
My name is Dylan, and I am a Swarthmore College student interested in
working with Guix this summer! Attached is my proposal to help develop
an installation wizard for GuixSD. Please let me know if there are any
questions or comments.
I am also interested in applying to work on 8sync/adding an extensible
event loop to GNU Shepard. I will add that proposal soon!
Best,
Dylan
DYLAN JEFFERS
sapient...@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
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