unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* GNU Guix diagram
@ 2016-03-04  3:31 myglc2
  2016-03-04 10:21 ` Adam Pribyl
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: myglc2 @ 2016-03-04  3:31 UTC (permalink / raw)
  To: guix-devel

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

Upon installing GuixSD a month ago I found it difficult to get a grip on
GNU Guix' stucture. Because I like pictures I made a diagram showing
what I think I now understand about how GNU Guix' works. I am thinking
it might be helpful to Guix newcomers. Comments &/or corrections would
be most welcome. - George

[-- Attachment #2: gnuguix2.dot --]
[-- Type: application/octet-stream, Size: 1966 bytes --]

// Overview of GNU Guix
digraph G {
	compound=true
	size="12,12"
	edge [fontname = helvetica]
	graph [fontname = helvetica]
	node  [fontname = helvetica]
	{ node [shape=box style = filled fillcolor="white" color = transparent]
		pkgsource [label = "Source"]
		substitutes [label = "Prebuilt\nPackage"]
	}
	{ node [shape=box style = filled fillcolor=pink color = transparent]		
		spkgs [label = "System Packages\nInstall: 'sudo guix system reconfigure CONFIG.scm'\nUpdate: 'sudo guix pull && guix system reconfigure CONFIG.scm'"]
	}
	{ node [shape=box style ="filled,rounded" fillcolor=pink color = transparent]		
		guixd [label = " guix-daemon "]
	}
	{ node [shape=box style ="filled,rounded" fillcolor=lightblue color = transparent]		
		user1 [label = "user1"]
	}
	{ node [shape=box style ="filled" fillcolor=lightblue color = transparent]		
		u1pkgs [label = "user1 Packages\nInstall: 'guix package -i PACKAGE'\nUpdate: 'guix pull'"]
		guix2 [label="user1 guix\nUpdate: 'guix pull'"]
	}
	subgraph cluster_pkgsource {
		label = "Developer"
		labelloc = "t"
		style = filled fillcolor= azure2 color = transparent
		pkgsource
	}
	subgraph cluster_hydra {
		label = "Guix  Hydra"
		style = filled fillcolor= azure2 color = transparent
		substitutes
	}
	subgraph cluster_guixSD {
		label = "Computer Running GNU Guix"
		labelloc = "t"
		style = filled fillcolor= azure2 color = transparent
		user1 -> spkgs  [ label = " /run/current-system/profile  "]
		user1 -> guix2  [ label = " ~/.config/guix/latest  " ]
		user1 -> u1pkgs  [ label = " ~/.guix-profile  " ]
		subgraph cluster_guixstore {
			label = "Guix Package Store /gnu/store"
			labelloc = "b"
			style = filled fillcolor= tan color = transparent
			u1pkgs
			guix2
			spkgs
		}
		guixd
		spkgs -> guixd  [dir = back ltail=cluster_guixstore ]
	}
	pkgsource -> substitutes [lhead=cluster_hydra ltail=cluster_pkgsource]
	pkgsource -> guixd [ltail=cluster_pkgsource]
	substitutes -> guixd [ltail=cluster_hydra]
}

[-- Attachment #3: gnuguix2.png --]
[-- Type: image/png, Size: 51753 bytes --]

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

* Re: GNU Guix diagram
  2016-03-04  3:31 GNU Guix diagram myglc2
@ 2016-03-04 10:21 ` Adam Pribyl
  2016-03-04 12:36 ` Amirouche Boubekki
  2016-03-04 13:22 ` John Darrington
  2 siblings, 0 replies; 5+ messages in thread
From: Adam Pribyl @ 2016-03-04 10:21 UTC (permalink / raw)
  Cc: guix-devel

On Thu, 3 Mar 2016, myglc2 wrote:

> Upon installing GuixSD a month ago I found it difficult to get a grip on
> GNU Guix' stucture. Because I like pictures I made a diagram showing
> what I think I now understand about how GNU Guix' works. I am thinking
> it might be helpful to Guix newcomers. Comments &/or corrections would
> be most welcome. - George

I agree this deserves explanation, as this is not a common approach in 
mainstream distros. As I do understand this now, I can hardly judge this 
image will be understood by newcomer, but if this is a part of guix doc + 
the explanation in words (is it not there?), then it would be definitely 
good.

Adam Pribyl

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

* Re: GNU Guix diagram
  2016-03-04  3:31 GNU Guix diagram myglc2
  2016-03-04 10:21 ` Adam Pribyl
@ 2016-03-04 12:36 ` Amirouche Boubekki
  2016-03-04 17:52   ` myglc2
  2016-03-04 13:22 ` John Darrington
  2 siblings, 1 reply; 5+ messages in thread
From: Amirouche Boubekki @ 2016-03-04 12:36 UTC (permalink / raw)
  To: myglc2; +Cc: guix-devel, guix-devel-bounces+amirouche=hypermove.net

Le 2016-03-04 04:31, myglc2 a écrit :
> Upon installing GuixSD a month ago I found it difficult to get a grip 
> on
> GNU Guix' stucture. Because I like pictures I made a diagram showing
> what I think I now understand about how GNU Guix' works. I am thinking
> it might be helpful to Guix newcomers. Comments &/or corrections would
> be most welcome. - George

This kind of incorrect because there is a directory which stores every
installed (or past installed) software which is linked inside profiles
(system, users, and custom profiles).

Users can't install program in the system profile, it can only be done
through system config.scm.

-- 
Amirouche ~ amz3 ~ http://www.hyperdev.fr

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

* Re: GNU Guix diagram
  2016-03-04  3:31 GNU Guix diagram myglc2
  2016-03-04 10:21 ` Adam Pribyl
  2016-03-04 12:36 ` Amirouche Boubekki
@ 2016-03-04 13:22 ` John Darrington
  2 siblings, 0 replies; 5+ messages in thread
From: John Darrington @ 2016-03-04 13:22 UTC (permalink / raw)
  To: myglc2; +Cc: guix-devel

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

On Thu, Mar 03, 2016 at 10:31:47PM -0500, myglc2 wrote:
     Upon installing GuixSD a month ago I found it difficult to get a grip on
     GNU Guix' stucture. Because I like pictures I made a diagram showing
     what I think I now understand about how GNU Guix' works. I am thinking
     it might be helpful to Guix newcomers. Comments &/or corrections would
     be most welcome. - George

The problem with pictures is, that whilst it is true that "A picture paints
a thousand words" - it paints a thousand different words to a thousand 
different people.

J'



-- 
Avoid eavesdropping.  Send strong encryted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

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

* Re: GNU Guix diagram
  2016-03-04 12:36 ` Amirouche Boubekki
@ 2016-03-04 17:52   ` myglc2
  0 siblings, 0 replies; 5+ messages in thread
From: myglc2 @ 2016-03-04 17:52 UTC (permalink / raw)
  To: Amirouche Boubekki; +Cc: guix-devel, guix-devel-bounces+amirouche=hypermove.net

Amirouche Boubekki <amirouche@hypermove.net> writes:

> Le 2016-03-04 04:31, myglc2 a écrit :
>> Upon installing GuixSD a month ago I found it difficult to get a
>> grip on
>> GNU Guix' stucture. Because I like pictures I made a diagram showing
>> what I think I now understand about how GNU Guix' works. I am thinking
>> it might be helpful to Guix newcomers. Comments &/or corrections would
>> be most welcome. - George
>
> This kind of incorrect because there is a directory which stores every
> installed (or past installed) software which is linked inside profiles
> (system, users, and custom profiles).

Thanks. I agree that generations are a key feature of guix. But they
seem secondary to showing where guix packages are, how they are
referenced, and how to install & update them. I also chose not to show
generations because the diagram is at the limit of complexity that can
be reasonably digested. Generations might be the subject of another
diagram

> Users can't install program in the system profile, it can only be done
> through system config.scm.

Thanks. I tried to suggest this by using a different color for system
components and showing 'sudo' for system operations. Can you suggest a
better way to handle it?

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

end of thread, other threads:[~2016-03-04 17:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-04  3:31 GNU Guix diagram myglc2
2016-03-04 10:21 ` Adam Pribyl
2016-03-04 12:36 ` Amirouche Boubekki
2016-03-04 17:52   ` myglc2
2016-03-04 13:22 ` John Darrington

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).