[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GSoC] Draft proposal for an Install Wizard for Guix

From: Chris Marusich
Subject: Re: [GSoC] Draft proposal for an Install Wizard for Guix
Date: Wed, 23 Mar 2016 01:51:13 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Thomas Ingram <address@hidden> writes:

> Project: Installer Wizard for GuixSD

Sounds useful!  I have a some shell scripts that I use to "reproducibly"
install GuixSD on my laptops, but they're not very elegant at the
moment, and they hard-code marusich-specific things in places.  If you'd
like to see them, I'd be happy to share.  I would love to see them get
replaced with a nice guile-based installer!

> 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)

Is this different from LUKS?  I use LUKS today to encrypt my home
partition (but not my root partition), and I use shell scripts to script
the installation process.  It's quite easy with LUKS. For example, if
you made a partition /dev/sda2, and you want to use it as an encrypted
home partition, it's sufficient to do this:

--8<---------------cut here---------------start------------->8---
# cryptsetup luksFormat /dev/sda2
# cryptsetup luksOpen /dev/sda2 encrypted-user
# mkfs.ext4 -L user /dev/mapper/encrypted-user
--8<---------------cut here---------------end--------------->8---

And then include something like this in your operating system
configuration file

--8<---------------cut here---------------start------------->8---
  (mapped-devices (list (mapped-device
                         (source "/dev/sda2")
                         (target "home")
                         (type luks-device-mapping))))
--8<---------------cut here---------------end--------------->8---

Accomplishing the same thing using guile can't be too hard.

One more thing to consider.  While you write this installer, you might
want to think about how we can make the installation process itself as
reproducible as possible.  One of Guix's features is reproducible
software builds.  Shouldn't GuixSD also make it possible to reproduce
the process of partitioning the system's disks, making its filesystems,
and configuring the system for the first time?

Some existing software attempts to solve this specific problem.  For
example, RedHat's Kickstart installation process provides a way to
automate the installation of RedHat's brand of GNU/Linux.  Something
that solves this same problem for GuixSD would be great!  Even if this
is out of scope for your project this year, it would be great if in the
future we could stand on the shoulders of what you create to add such a
feature with minimal additional effort.

> 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.

That's wonderful!  Thank you for taking the time to help improve the
world :)


Attachment: signature.asc
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]