summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix-blu-2016-01-20.org73
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