diff options
author | David Thompson <dthompson2@worcester.edu> | 2016-01-19 09:01:49 -0500 |
---|---|---|
committer | David Thompson <dthompson2@worcester.edu> | 2016-01-19 09:01:49 -0500 |
commit | 838972fdb2de0e672cc89a3bb2f076d55a44bda5 (patch) | |
tree | 52953531f1d7532e2568d7a558f533e23179c005 | |
parent | c864fc16b0a8aa43752338fa8e76af25b8e64fcf (diff) |
Fill in all blank slides for Guix talk.
-rw-r--r-- | guix-blu-2016-01-20.org | 73 |
1 files changed, 63 insertions, 10 deletions
diff --git a/guix-blu-2016-01-20.org b/guix-blu-2016-01-20.org index f5f4424..5cc53e6 100644 --- a/guix-blu-2016-01-20.org +++ b/guix-blu-2016-01-20.org @@ -230,6 +230,13 @@ \includegraphics[width=\textwidth]{nsa-vw.png} \end{center} +* Transparent + + Guix is a *source-based* package manager, but will *transparently* + download pre-built binaries from a trusted party, if available. + + Otherwise, it will simply build from source. + * Decentralized In Guix, there is *no central point of trust* for receiving @@ -262,16 +269,22 @@ * Atomic + Package installation/removal and full-system updates are *atomic* + operations, meaning that either the operation succeeds, or nothing + happens. +* Roll back -* Atomic + /Any/ package transaction may be *rolled back*, likewise for + full-system upgrades. - /Any/ package transaction may be *rolled back* + If a full-system update goes wrong, just boot into the previous + working generation! * Coexistence - Each package has its own *unique* directory in the store in which to - write build artifacts. + Each package has its own *unique* directory in the store that + contains its build artifacts. You can have every version of Ruby, Python, and Perl under the sun and that’s OK! @@ -401,19 +414,48 @@ Demo Emacs UI, web prototype -* Importing packages from elsewhere +* Importing packages + + The =guix import= tool that can *automatically generate code + snippets* for packages found in foreign systems. - guix import + Supported systems include: PyPI, RubyGems, CPAN, Hackage, ELPA, and + CRAN. - guix refresh +* Auto-updating + + The =guix refresh= tool can automatically find the latest release of + certain software. + + For example, Python packages can be updated by querying PyPI for + information on the latest release. * Demo! =guix import= -* Development environments +* Reproducible development environments + + Getting the dependencies needed to create development environments + can be tough. + + Many languages invent their own solution, but this is a general + problem. - WRITEME +* Reproducible development environments + + Guix has a tool for this: =guix environment= + + Think of it like a language-agnostic version of Python’s + =virtualenv=. + +* Reproducible development environments + + Environments can be *purified* via standard environment variables + or, for better isolation, Linux containers. + + This allows developers to have confidence that potential + contributors will be able to build their software. * Demo! @@ -421,7 +463,18 @@ * Full-system configuration - WRITEME + The Guix System Distribution supports a *consistent whole-system + configuration mechanism*. + + All aspects of a system configuration are *declared* in a single + place. + +* Advantages + + Easy to replicate configuration on different machines *without + resorting to additional tools* layered on top. + + System upgrades are atomic and can be rolled back. * Example system configuration |