unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Guix vs GuixSD
@ 2016-02-15  0:22 myglc2
  2016-02-15  1:05 ` Chris Marusich
  2016-03-05  1:59 ` myglc2
  0 siblings, 2 replies; 14+ messages in thread
From: myglc2 @ 2016-02-15  0:22 UTC (permalink / raw)
  To: guix-devel

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

I hope to switch my home servers from Debian 8 to NixOS or GuixSD.  Once
that is working, I hope to convince the system managers at work to
install Nix or Guix.

I started experimenting with Nix and NixOS 6 weeks ago. 3 weeks ago I
switched my focus to Guix and installed guixSD on one of my servers.

I found it difficult to determine exactly which parts of the volumminous
(and tasty) Guix doc to read and how best to apply GuixSD. FWIW, I
experienced the same difficulty with Nix/NixOS.

To clarify my thoughts, I made a diagram (guix-ov) to illustrate Guix
features that are important to me:

1) Auditable flow of free software from developer site to user
   environment

2) Automated local package builds

3) Pre-built packages from Hydra

4) The potential of an identical Guix user environment everywhere

I intended to show the differences between Guix and GuixSD. But frankly,
looking at diagram guix-ov, they seem more alike than not. I think this
contributed to my difficulty in figuring out GuixSD. So, made a second
diagram (guix-ov2) that I think ...

- shows clearly the difference and relationship between Guix and GuixSD

- is more modular in appearance and easier to understand

- is more descriptive of how the software works

- is better aligned with the doc

- illustrates the distinction between user and system environments

In short, I think diagram guix-ov2 is a more informative way to explain
the Guix-verse.

I know guix-ov2 does not match the way Guix and GuixSD are currently
described. But I believe that if you describe things this way it will be
easier for new users to understand and apply Guix and GuixSD.

Sidebar:

At the moment, the GNU Guix web site focuses mostly on GuixSD. But to
test drive Guix, a user must first decide what to download. Perhaps one
of these diagrams (with suitable prettyfication) could help a user
decide what to download.

[-- Attachment #2: guix-ov2.dot --]
[-- Type: application/octet-stream, Size: 1869 bytes --]

// Overview of Guix & GuixSD
digraph G {
	compound=true
	size="6,6"

	{ node [shape=box style = filled fillcolor="azure" color = transparent fontname = courier]
		packages [label = "Store"]
		system [label = "Stateful\nSystem\nEnvironment"]
		systemSD [label = "Guix\nSystem\nEnvironment"]
		GNULinux [label = "GNU/Linux \nDistribution"]
		user [label = "Guix User\nEnvironment"]
		userSD [label = "Guix User\nEnvironment"]
		packagesx [label = "Store"]
		substitutes [label = "Pre-built\nPackage"]
		pkgsource [label = "Package Source"]
		hydra [label = "Build Farm"]
		guix [image="./guix-artwork/website/static/base/img/Guix-package.png" label=""]
		guix2 [image="./guix-artwork/website/static/base/img/Guix-package.png" label=""]
		GuixSD [image="./guix-artwork/website/static/base/img/GuixSD-logo.png" label="" fillcolor="black"]
	}

	subgraph cluster_pkgsource {
		label = "Free Software\nDeveloper's Site"
		style = filled fillcolor= azure3 color = transparent
		fontname = courier
		pkgsource
	}

	subgraph cluster_hydra {
		label = "Guix  Hydra"
		style = filled fillcolor= azure3 color = transparent
		fontname = courier
		hydra -> substitutes [nodesep = .2]
	}

	subgraph cluster_guixSD {
		label = "Computer Running\nGuix + GuixSD"
		labelloc = "b"
		style = filled fillcolor= azure3 color = transparent
		fontname = courier
		{ rank=same guix2 ->  packagesx [ dir = none ]}
		guix2 -> systemSD -> GuixSD [ dir = none ]
		userSD -> guix2  [ dir = none ]
	}

	subgraph cluster_guix {
		label = "Computer Running\nGuix + GNU/Linux"
		labelloc = "b"
		style = filled fillcolor= azure3 color = transparent
		fontname = courier
		{ rank=same guix ->  packages [ dir = none ]}
		guix ->  system -> GNULinux [ dir = none ]
		user -> guix  [ dir = none ]
	}
		
	pkgsource -> hydra
	substitutes -> guix
	pkgsource -> guix
	substitutes -> guix2
	pkgsource -> guix2
}

[-- Attachment #3: guix-ov2.png --]
[-- Type: image/png, Size: 38176 bytes --]

[-- Attachment #4: guix-ov.dot --]
[-- Type: application/octet-stream, Size: 1613 bytes --]

// Overview of Guix & GuixSD
digraph G {
	compound=true
	size="6,6"

	{ node [shape=box style = filled fillcolor="azure" color = transparent fontname = courier]
		packages [label = "Store"]
		GNULinux [label = "GNU/Linux \nDistribution"]
		user [label = "Guix User\nEnvironment"]
		userSD [label = "Guix User\nEnvironment"]
		packagesx [label = "Store"]
		substitutes [label = "Pre-built\nPackage"]
		pkgsource [label = "Package Source"]
		hydra [label = "Build Farm"]
		guix [image="./guix-artwork/website/static/base/img/Guix-package.png" label=""]
		guixSD [image="./guix-artwork/website/static/base/img/GuixSD-package.png" label=""]
	}

	subgraph cluster_pkgsource {
		label = "Free Software\nDeveloper's Site"
		style = filled fillcolor= azure3 color = transparent
		fontname = courier
		pkgsource
	}

	subgraph cluster_hydra {
		label = "Guix  Hydra"
		style = filled fillcolor= azure3 color = transparent
		fontname = courier
		hydra -> substitutes [nodesep = .2]
	}

	subgraph cluster_guixSD {
		label = "Computer Running\nGuixSD"
		labelloc = "b"
		style = filled fillcolor= azure3 color = transparent
		fontname = courier
		{ rank=same guixSD ->  packagesx [ dir = none ]}
		userSD -> guixSD  [ dir = none ]
	}

	subgraph cluster_guix {
		label = "Computer Running\nGuix + GNU/Linux"
		labelloc = "b"
		style = filled fillcolor= azure3 color = transparent
		fontname = courier
		{ rank=same guix ->  packages [ dir = none ]}
		guix ->  GNULinux [ dir = none ]
		user -> guix  [ dir = none ]
	}
		
	pkgsource -> hydra
	substitutes -> guix
	pkgsource -> guix
	substitutes -> guixSD
	pkgsource -> guixSD
}

[-- Attachment #5: guix-ov.png --]
[-- Type: image/png, Size: 36443 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2016-03-25 21:47 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-15  0:22 Guix vs GuixSD myglc2
2016-02-15  1:05 ` Chris Marusich
2016-02-15 17:37   ` myglc2
2016-02-16  3:26     ` Chris Marusich
2016-02-16  9:24       ` Jookia
2016-02-16  9:41         ` Chris Marusich
2016-03-05  1:59 ` myglc2
2016-03-06 13:53   ` Ludovic Courtès
2016-03-06 15:37     ` myglc2
2016-03-07  6:57   ` Chris Marusich
2016-03-07 22:53     ` myglc2
2016-03-08  7:34       ` Chris Marusich
2016-03-08 17:58         ` myglc2
2016-03-25 21:47           ` myglc2

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).