Quick-start guide

Message ID CAGSLf826Urbr5hJPDi_i5tnCaGUEPV-GM9NnDuWMfXxcK0kfdw@mail.gmail.com
State New
Headers

Commit Message

yoosty@gmail.com June 24, 2016, 4:55 a.m. UTC
  On Thu, Jun 16, 2016 at 3:51 AM, Ludovic Courtès <ludo@gnu.org> wrote:

> Hi,
>
> yoosty@gmail.com skribis:
>
> > After reading the feedback here and spending some more time in IRC (which
> > really drives home the feedback about translations and colloquialisms,
> > thanks John) I would like to do the following:
> > - Add a contiguous set of examples to the existing "System Installation"
> > section (such that if you follow the examples you will almost certainly
> end
> > up with a working system, even if you don't read much of anything else)
>
> You mean OS config examples?  Currently there are 3 example
> configurations.  We could add more, but I wonder if that wouldn’t be too
> much for the manual itself (we could still add more to the installation
> image, though.)
>

> > - Add at least one more sub-section to "System Installation" that
> > introduces users to extending/customizing the initial system's .scm file
> > -- Something like a "Where to go from here? Customizing your
> installation."
> > -- A chance to tease users in to Scheme programming
>
> Makes sense.  The “Using the Configuration System” section was intended
> to achieve this, but maybe it’s failing.  Do you think it could be
> improved, or is a new section needed, and if so, how should we
> articulate both?
>

I might be viewing this from the wrong angle.. Maybe what's needed is not
necessarily different instructions, but more pointers to the existing
instructions :)

Can we put some comments in the current example configs to point to existing
documentation?

e.g.:




Something else I'm probably just missing.. Is there a way to enumerate
%base-packages from the command line? I've seen you (Ludo) do this a few
times in the videos but I don't recall a mention of instructions for
configuring
this setup.

 --

   .:Justin:.
  

Comments

Ludovic Courtès June 24, 2016, 12:36 p.m. UTC | #1
yoosty@gmail.com skribis:

> On Thu, Jun 16, 2016 at 3:51 AM, Ludovic Courtès <ludo@gnu.org> wrote:
>
>> Hi,
>>
>> yoosty@gmail.com skribis:

[...]

>> > - Add at least one more sub-section to "System Installation" that
>> > introduces users to extending/customizing the initial system's .scm file
>> > -- Something like a "Where to go from here? Customizing your
>> installation."
>> > -- A chance to tease users in to Scheme programming
>>
>> Makes sense.  The “Using the Configuration System” section was intended
>> to achieve this, but maybe it’s failing.  Do you think it could be
>> improved, or is a new section needed, and if so, how should we
>> articulate both?
>>
>
> I might be viewing this from the wrong angle.. Maybe what's needed is not
> necessarily different instructions, but more pointers to the existing
> instructions :)

Maybe!  If you have ideas of what pointers to put where, that’s even
better.  :-)

> Can we put some comments in the current example configs to point to existing
> documentation?
>
> e.g.:
>
> diff --git a/gnu/system/examples/bare-bones.tmpl
> b/gnu/system/examples/bare-bones.tmpl
> index 87e8d1e..811a6c3 100644
> --- a/gnu/system/examples/bare-bones.tmpl
> +++ b/gnu/system/examples/bare-bones.tmpl
> @@ -38,6 +38,8 @@
>                 %base-user-accounts))
>
>    ;; Globally-installed packages.
> +  ;; See the "System Configuration"/"Globally-Visible Packages"
> +  ;; section in the Guix manual for more info
>    (packages (cons tcpdump %base-packages))

The problem is that these files are included in the manual, so it would
seem awkward IMO to give the section name here.  Not sure what to do
here.

> Something else I'm probably just missing.. Is there a way to enumerate
> %base-packages from the command line? I've seen you (Ludo) do this a few
> times in the videos but I don't recall a mention of instructions for
> configuring
> this setup.

This can be done from a Guile “read-eval-print loop” (REPL):

--8<---------------cut here---------------start------------->8---
$ guile
GNU Guile 2.0.11.156-c3f95-dirty
Copyright (C) 1995-2016 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> ,use(gnu)
scheme@(guile-user)> %base-packages
$1 = (#<package procps-3.2.8 gnu/packages/linux.scm:457 3830e40> #<package psmisc-22.20 gnu/packages/linux.scm:368 3eeb000> #<package which-2.21 gnu/packages/base.scm:683 37b8600> #<package less-451 gnu/packages/less.scm:27 36f0e40> #<package zile-2.4.11 gnu/packages/zile.scm:33 37b8180> #<package nano-2.4.2 gnu/packages/nano.scm:28 39f13c0> #<package dmd-0.2.01 gnu/packages/admin.scm:65 39d7cc0> #<package guix-0.8.3.5d09263 gnu/packages/package-management.scm:180 37b83c0> #<package lsof-4.88 gnu/packages/lsof.scm:30 37b80c0> #<package pciutils-3.2.0 gnu/packages/pciutils.scm:29 300e000> #<package usbutils-006 gnu/packages/linux.scm:524 3830d80> #<package util-linux-2.25.2 gnu/packages/linux.scm:391 3830f00> #<package inetutils-1.9.4 gnu/packages/admin.scm:168 39d79c0> #<package isc-dhcp-4.3.1 gnu/packages/admin.scm:391 39d7540> #<package iw-3.17 gnu/packages/linux.scm:1137 38300c0> #<package wireless-tools-30.pre9 gnu/packages/linux.scm:1705 3881540> #<package net-tools-1.60 gnu/packages/linux.scm:927 38303c0> #<package man-db-2.7.1 gnu/packages/man.scm:58 36f0c00> #<package sudo-1.8.10p3 gnu/packages/admin.scm:647 39d70c0> #<package kmod-17 gnu/packages/linux.scm:1528 3881780> #<package eudev-2.1.1 gnu/packages/linux.scm:1573 38816c0> #<package e2fsprogs-1.42.13 gnu/packages/linux.scm:548 3830cc0> #<package kbd-2.0.2 gnu/packages/linux.scm:1450 3881900> #<package bash-completion-2.1 gnu/packages/bash.scm:243 3260540> #<package guile-2.0.11 gnu/packages/bootstrap.scm:145 3f8ed80> #<package bash-4.3.39 gnu/packages/bootstrap.scm:145 3f8ef00> #<package coreutils-8.24 gnu/packages/bootstrap.scm:145 3f8e900> #<package findutils-4.4.2 gnu/packages/bootstrap.scm:145 3f919c0> #<package grep-2.21 gnu/packages/bootstrap.scm:145 3f8e780> #<package sed-4.2.2 gnu/packages/bootstrap.scm:145 3f91b40> #<package diffutils-3.3 gnu/packages/bootstrap.scm:145 3f91e40> #<package patch-2.7.5 gnu/packages/bootstrap.scm:145 3f91cc0> #<package gawk-4.1.3 gnu/packages/bootstrap.scm:145 3f91840> #<package tar-1.28 gnu/packages/bootstrap.scm:145 3f8e600> #<package gzip-1.6 gnu/packages/bootstrap.scm:145 3f8e480> #<package bzip2-1.0.6 gnu/packages/bootstrap.scm:145 3f8e300> #<package xz-5.0.4 gnu/packages/bootstrap.scm:145 3f8e180> #<package lzip-1.16 gnu/packages/compression.scm:301 3054000>)
--8<---------------cut here---------------end--------------->8---

Or as a one-liner:

--8<---------------cut here---------------start------------->8---
$ guile -c '(use-modules (gnu) (guix)) (pk (map package-full-name %base-packages))'

;;; (("procps-3.2.8" "psmisc-22.20" "which-2.21" "less-451" "zile-2.4.11" "nano-2.4.2" "dmd-0.2.01" "guix-0.8.3.5d09263" "lsof-4.88" "pciutils-3.2.0" "usbutils-006" "util-linux-2.25.2" "inetutils-1.9.4" "isc-dhcp-4.3.1" "iw-3.17" "wireless-tools-30.pre9" "net-tools-1.60" "man-db-2.7.1" "sudo-1.8.10p3" "kmod-17" "eudev-2.1.1" "e2fsprogs-1.42.13" "kbd-2.0.2" "bash-completion-2.1" "guile-2.0.11" "bash-4.3.39" "coreutils-8.24" "findutils-4.4.2" "grep-2.21" "sed-4.2.2" "diffutils-3.3" "patch-2.7.5" "gawk-4.1.3" "tar-1.28" "gzip-1.6" "bzip2-1.0.6" "xz-5.0.4" "lzip-1.16"))
--8<---------------cut here---------------end--------------->8---

HTH!

Ludo’.
  

Patch

diff --git a/gnu/system/examples/bare-bones.tmpl
b/gnu/system/examples/bare-bones.tmpl
index 87e8d1e..811a6c3 100644
--- a/gnu/system/examples/bare-bones.tmpl
+++ b/gnu/system/examples/bare-bones.tmpl
@@ -38,6 +38,8 @@ 
                %base-user-accounts))

   ;; Globally-installed packages.
+  ;; See the "System Configuration"/"Globally-Visible Packages"
+  ;; section in the Guix manual for more info
   (packages (cons tcpdump %base-packages))

   ;; Add services to the baseline: a DHCP client and