From 4179bf789bfbbc0987f2e94bc26447d9b1a055b5 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 22 May 2019 08:54:31 +0100 Subject: Make some general updates to the slides --- index.html | 138 ++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 77 insertions(+), 61 deletions(-) diff --git a/index.html b/index.html index abbc52c..2581114 100644 --- a/index.html +++ b/index.html @@ -183,7 +183,7 @@ there is still room for improvement. Sometimes, package managers have the option to install - software without building it from source by fetching some + software without building it from source, by fetching some corresponding binary package. But you may want to build the software from source anyway, and this can be tricky. @@ -221,7 +221,7 @@ package, and being able to remove or upgrade software, without worrying about causing problems are all issues of user control and user freedom. - + I think Guix is a tool that can help, so how does it work? @@ -234,7 +234,7 @@ important concepts to cover first. These are not new concepts, to put things in perspective, - here is a timeline. + here is a timeline. @@ -253,12 +253,14 @@
-

2004

Nix: A Safe and Policy-Free System for - Software Deployment +

2004

Nix Paper + + A Safe and Policy-Free System for Software Deployment +
-
+

2012

@@ -318,6 +320,60 @@ +
+

7 key properties

+ +
    +
  • Handle multiple versions/variants
  • +
  • Per system, user or more general profiles
  • +
  • Tooling for reproducible builds
  • +
  • Hybrid source/binary package management
  • +
  • Support for multiple platforms
  • +
  • Comprehensive set of tooling
  • +
  • Extensibility through Guile
  • +
+
+ +
+

The hello package

+ +
+            (define-public hello
+  (package
+    (name "hello")
+    (version "2.10")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/hello/hello-" version
+                                  ".tar.gz"))
+              (sha256
+               (base32
+                "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))
+    (build-system gnu-build-system)
+    (synopsis "Hello, GNU world: An example GNU package")
+    (description
+     "GNU Hello prints the message \"Hello, world!\" and then exits.  It
+serves as an example of standard GNU coding practices.  As such, it supports
+command-line arguments, multiple languages, and so on.")
+    (home-page "https://www.gnu.org/software/hello/")
+    (license gpl3+)))
+ + +
+

The store

@@ -331,12 +387,13 @@ │ └── ... └── man └── ... - +
-
+
$ guix build --derivations hello
 /gnu/store/1drc59xkcvgdphzgylxm41ln9p5dwbgn-hello-2.10.drv
@@ -561,7 +618,7 @@
-
+
$ guix build --derivations hello
 /gnu/store/1drc59xkcvgdphzgylxm41ln9p5dwbgn-hello-2.10.drv
@@ -665,7 +722,7 @@
- + Derivation graph for the hello package @@ -726,47 +783,6 @@
-
-

The hello package

- -
-            (define-public hello
-  (package
-    (name "hello")
-    (version "2.10")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnu/hello/hello-" version
-                                  ".tar.gz"))
-              (sha256
-               (base32
-                "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))
-    (build-system gnu-build-system)
-    (synopsis "Hello, GNU world: An example GNU package")
-    (description
-     "GNU Hello prints the message \"Hello, world!\" and then exits.  It
-serves as an example of standard GNU coding practices.  As such, it supports
-command-line arguments, multiple languages, and so on.")
-    (home-page "https://www.gnu.org/software/hello/")
-    (license gpl3+)))
- - -
-

What can you do with Guix?

@@ -782,7 +798,7 @@ command-line arguments, multiple languages, and so on.")

Install a package in to your profile

- guix package -i hello + guix install hello
-
guix package -i samtools bowtie
+
guix install samtools bowtie
@@ -875,7 +891,7 @@ command-line arguments, multiple languages, and so on.")
-
guix package -r bowtie
+
guix remove bowtie
@@ -926,13 +942,13 @@ command-line arguments, multiple languages, and so on.") So, we've just covered some of the uses of the guix package commands. - Lets go back to that first command, guix package -i hello. + Lets go back to that first command, guix install hello.
- - guix package -i hello + + guix install hello -- cgit v1.2.3