Howdy! This is my first submission, please be gentle ;) Input is definitely welcome. diff --git a/doc/contributing.texi b/doc/contributing.texi index 208c6af..46c652f 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -18,6 +18,7 @@ the @file{CODE-OF-CONDUCT} file in the source tree. @menu * Building from Git:: The latest and greatest. * Running Guix Before It Is Installed:: Hacker tricks. +* Quick Setup:: The quick and easy tools * The Perfect Setup:: The right tools. * Coding Style:: Hygiene of the contributor. * Submitting Patches:: Share your work. @@ -153,6 +154,75 @@ the @file{/root/.config/guix/latest} symlink to point to @command{guix} as your user does.} +@node Quick Setup +@section Quick Setup + +So you just want the quick-and-dirty guide? Assuming you have some familiarity +with GNU/Linux systems in general and have installed one several times before +you can probably get started with a few notes while citing +@pxref{GNU Distribution} as necessary. As this is a quick-setup guide we'll use +some example defaults. + +The general idea is that you will: +@itemize +@item @uref{https://gnu.org/software/guix/download/, Download} the USB installer +@item Transfer the image to a USB stick (@pxref{USB Stick Installation}) +using dd +@item Boot the USB stick +@item Configure @pxref{Preparing for Installation,Networking} +@item Set your @xref{Preparing for Installation,Disk Partitioning} +(using an msdos label instead of a gpt label might be easier at the moment) +@item Mount your partitions (e.g. /mnt) +@item Run (again, e.g. /mnt) @command{herd start cow-store /mnt} +@item Create a system configuration file using +@xref{Proceeding with the Installation} and +@xref{Using the Configuration System} as guides. It is suggested to start +with the bare-bones template as you can easily re-configure your system +once it is up. +@item Using /mnt/root/guix_configs/config00.scm as the example config file +and /mnt as the example install mount point, run +@command{guix system init /mnt/root/guix_configs/config00.scm /mnt} +@item Cross your fingers and grab a beer +@item If you're using reasonably new hardware and a bare-bones config +then guix should be done before your beverage and you can run +@command{reboot} +@end itemize + +Now you should be ready to rock! Don't forget to set your user passwords. + +Of course, you're not here just to have a working system are you, you want +to dive in to the source, right? Let's take a quick look at that as well. +This guide assumes that you have at least perused @pxref{Building from Git}. +First you might want to head to +@uref{http://git.savannah.gnu.org/cgit/guix.git, the Guix Git page} and browse +around. We're going to assume that you utilized a bare-bones config as per the +quick install guide above. In this short example you will be shown simply +how to change the release version of Guix (not something you will likely do +but an easy and fun example). + +@itemize +@item Install git in to your user's profile: @command{guix package --install git} +@item Create a directory for your git checkout (e.g. @command{mkdir ~/git_repos}) +@item Clone the Guix repository: +@command{cd ~/git_repos/; git clone git://git.sv.gnu.org/guix.git; cd guix} +@item To make the simple version change: +@code{AC_INIT([GNU Guix], [0.10.0], [bug-guix@@gnu.org], [guix],} +to +@code{AC_INIT([GNU Guix], [0.10.42], [bug-guix@@gnu.org], [guix],} +@item Check your change with: @command{git diff configure.ac} +@item Let Guix set up your Guix build +environment:@command{guix environment guix} +@item Build Guix: +@command{./bootstrap ; ./configure --localstatedir=/var ; make} +@item Run the daemon in a pre-installation environment: +@command{sudo ./pre-inst-env guix-daemon --build-users-group=guixbuild} +@item Switch to a new terminal +@item Check the pre-installation environement daemon's version: +@command{./git_repos/guix/pre-inst-env guix --version} +@item Your version output should be updated! +@end itemize + + @node The Perfect Setup @section The Perfect Setup -- .:Justin:.