all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Pierre Neidhardt <pe.neidhardt@googlemail.com>
To: "Gábor Boskovits" <boskovits@gmail.com>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: Videos
Date: Tue, 19 Jun 2018 11:16:01 +0200	[thread overview]
Message-ID: <87po0ngmr2.fsf@gmail.com> (raw)
In-Reply-To: <CAE4v=pgBmiw-jevD6x-hfFwaeieE752euZogpgp1ahznkNmgJw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3917 bytes --]


As for the "no-turning-back" features of Guix (in my opinion):

- Rollbacks: system and user profiles are much harder to break.

- System integrity: because the system configuration is declarative,
this gives the user / sys-admin an actual guarantee of what's going
on.
On other Unices, it's much harder to tell when a random configuration
file has been touched somewhere.

- Keep your system config under version control: udev rules, Xorg, pam,
etc.  Thanks to Guile, the config can be made conditional to the
hardware or even the hostname!
With other Unices this is much harder, although I don't know much about
configuration management tools like Ansible.

- Replacement for other (not so good) package managers: TeXlive(!!!),
Emacs package.el, etc.  It makes user-profile declaration much easier.
Guix is possibly the only sane way to manage TeXlive.

- Package declaration using Guile: it makes it much easier to work out
package (re)definitions _en masse_.  It advantageously replaces concepts
such as Portage's USE flags (Guix is more flexible and can make use of
conditionals, filters, etc.), split packages (Guix "output" makes it much
easier and clearer to separate the doc, the libraries, the extra tools,
etc.).

- Non-propagated inputs: the first month using Guix I didn't get the
point of having two "inputs" and "propagated-inputs".  But now I see how
nice it is of Guix to not clutter my user profile with dependencies I
don't need for my own use.  See "inxi" for a good example: if I only
need a tool to report about my system and hardware, I don't necessarily
want 2-3 dozens of additional commandline tools (I know nothing of)
added to my PATH.

- guix environment: Like non-propagated inputs, it's a neat way to keep
the user profile clean.

- Partial upgrade are 100% supported.  This is possible the main cause
of breakages on Arch / Gentoo.  Because only one (or a few) version at a
time is supported, the whole system has to be updated together.  Which
means more bandwith usage on every upgrade.

- Continuous integration and lack of package maintainers: Thanks to
reproducible builds and partial upgrades, once a package works in Guix
it works "forever", it won't break at the next upgrade of some dependency.
This means that the workload of packaging can be transfered to build
farms.  Contrast that to the Arch community which needs a couple dozen
maintainers to stay tuned on thousand of packages.
With Guix, the contributors time can be put into better use.
In Guix it's straightforward to build from source or to install a
pre-built package directly, in fact, the distinction is not some
important to the end-user.  Guix can fall back on the building from
source if no substitute is available.

- "guix refresh": Update package definitions automatically.
Tools like that highlight the advantages of having a real programming
language at hand for package definitions.  What is a hard problem on
most distributions is pretty easy to implement on Guix.

- GUIX_PACKAGE_PATH: It's stupid but it's one of my favourite features!
On Arch Linux or Gentoo, one would have to set up a local repository.
Because they don't support partial upgrades, it means that the user has
to do some maintainance once in a while (i.e. make sure dependency
upgrades don't break the user's packages.)
Package inheritance makes it very easy to customize packages with a
patch, for instance.

- Emacs guix.el: Guix is the only distribution I know which comes with a
powerful user interface!

- Guix provides a good, concrete example of why containers are not the
right approach to packaging :)

- guix system vm / disk-image: It's trivial to build a "Live USB" with
my exact configuration (both system and user).

The list drags on, but that'll be it for today! :D

--
Pierre Neidhardt

Democracy is the recurrent suspicion that more than half of the people
are right more than half of the time.
		-- E. B. White

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

  reply	other threads:[~2018-06-19  9:16 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-29 14:48 Videos Ricardo Wurmus
2018-05-29 15:45 ` Videos Julien Lepiller
2018-05-29 15:51   ` Videos Catonano
2018-05-29 16:25     ` Videos Ricardo Wurmus
2018-05-30 12:11     ` Videos Alex Vong
2018-05-30 22:10       ` Videos Roel Janssen
2018-05-31  6:12         ` Videos Ricardo Wurmus
2018-05-31  7:45           ` Videos Thorsten Wilms
2018-05-31  8:53             ` Videos Vincent Legoll
2018-05-31  9:17               ` Videos Pierre Neidhardt
2018-06-01 16:12                 ` Videos swedebugia
2018-06-01 16:16                   ` Videos Pierre Neidhardt
2018-06-05 21:41                   ` Videos Alex Vong
2018-06-06 12:56                     ` Videos swedebugia
2018-05-29 16:14 ` Videos Amirouche Boubekki
2018-05-29 20:01 ` Videos Ludovic Courtès
2018-06-18 20:47 ` Videos Ricardo Wurmus
2018-06-19  7:16   ` Videos Gábor Boskovits
2018-06-19  9:16     ` Pierre Neidhardt [this message]
2018-06-19 14:44       ` Videos swedebugia
2018-06-19  9:32   ` Videos Thorsten Wilms
2018-06-19 19:46   ` Videos Dan Partelly
2018-06-19 20:01     ` Videos Ricardo Wurmus
2018-06-19 20:11     ` Videos Tobias Geerinckx-Rice
2018-06-19 20:20       ` Videos Dan Partelly
  -- strict thread matches above, loose matches on Subject: below --
2018-06-02  6:41 videos Catonano
2018-06-04 12:00 ` videos Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87po0ngmr2.fsf@gmail.com \
    --to=pe.neidhardt@googlemail.com \
    --cc=boskovits@gmail.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.