unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [GSoC] Draft proposal for an Install Wizard for Guix
@ 2016-03-22 20:45 Thomas Ingram
  2016-03-23  8:51 ` Chris Marusich
                   ` (3 more replies)
  0 siblings, 4 replies; 23+ messages in thread
From: Thomas Ingram @ 2016-03-22 20:45 UTC (permalink / raw)
  To: guix-devel, GNU Summer Of Code workers

[-- Attachment #1: Type: text/plain, Size: 372 bytes --]

Hello,

I'm a big fan of the project and I'd like to help write an installer for 
GuixSD this summer for GSoC I'm including a plain text version of my 
draft proposal I'm about so submit to the GNU GSoC page. Any feedback or 
suggestions would be very helpful.

Sorry this comes so late in the application process, I hope I can still 
be considered.

Thanks
Thomas Ingram

[-- Attachment #2: guix-proposal.txt --]
[-- Type: text/plain, Size: 4366 bytes --]

Name: Thomas Ingram
Email: taingram@mtu.edu
Jabber: delimiters@dukgo.com
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 delimiters@dukgo.com. 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.

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2016-04-19 17:50 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-22 20:45 [GSoC] Draft proposal for an Install Wizard for Guix Thomas Ingram
2016-03-23  8:51 ` Chris Marusich
2016-03-23 11:29   ` Ricardo Wurmus
2016-03-23 14:11     ` Ludovic Courtès
2016-03-23 14:33     ` Chris Marusich
2016-03-23 11:53   ` Danny Milosavljevic
2016-03-23 14:13     ` Ludovic Courtès
2016-03-23 22:20 ` Mark H Weaver
2016-03-25 13:09 ` Ludovic Courtès
2016-03-25 15:48   ` Thomas Ingram
2016-03-26 11:39     ` Ludovic Courtès
2016-03-27  6:50       ` Thomas Ingram
2016-03-27 18:30         ` myglc2
2016-03-27 20:48           ` Jookia
2016-03-27 22:53             ` myglc2
2016-03-28 16:28               ` Christopher Allan Webber
2016-04-01 12:29                 ` Ludovic Courtès
2016-03-27 23:25           ` Leo Famulari
2016-03-28  6:20             ` Chris Marusich
2016-04-01 12:27           ` Ludovic Courtès
2016-04-19 17:49             ` myglc2
2016-04-01 12:09         ` Ludovic Courtès
2016-03-25 20:19 ` myglc2

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).