summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrekado <rekado@elephly.net>2015-04-18 17:46:28 +0200
committerrekado <rekado@elephly.net>2015-04-18 17:46:28 +0200
commit214b8dc0b1d5d130ddfde6101de01c27271fd14b (patch)
treef068e8726b79ae13e730a869e894e8eb4a2d016c
parentd97a86a4ae71fdedf41e53878759cc56de20fa23 (diff)
posts: add diagram for shared Guix profiles and store
-rw-r--r--images/posts/2015/guix-shared.svg712
-rw-r--r--posts/2015-04-17-gnu-guix.markdown2
2 files changed, 714 insertions, 0 deletions
diff --git a/images/posts/2015/guix-shared.svg b/images/posts/2015/guix-shared.svg
new file mode 100644
index 0000000..6372f87
--- /dev/null
+++ b/images/posts/2015/guix-shared.svg
@@ -0,0 +1,712 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="297mm"
+ height="210mm"
+ viewBox="0 0 1052.3622 744.09448"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="guix.svg">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="TriangleOutM"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutM"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path4410"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutS"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutS"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path4413"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.2)" />
+ </marker>
+ <marker
+ inkscape:stockid="SemiCircleIn"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="SemiCircleIn"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path4443"
+ d="M -0.37450702,-0.045692580 C -0.37450702,2.7143074 1.8654930,4.9543074 4.6254930,4.9543074 L 4.6254930,-5.0456926 C 1.8654930,-5.0456926 -0.37450702,-2.8056926 -0.37450702,-0.045692580 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.6)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="DotM"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path4329"
+ d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.4) translate(7.4, 1)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutL"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path4407"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.8)" />
+ </marker>
+ <marker
+ inkscape:stockid="Tail"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Tail"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <g
+ id="g4301"
+ transform="scale(-1.2)"
+ style="stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1">
+ <path
+ id="path4303"
+ d="M -3.8048674,-3.9585227 L 0.54352094,0"
+ style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" />
+ <path
+ id="path4305"
+ d="M -1.2866832,-3.9585227 L 3.0617053,0"
+ style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" />
+ <path
+ id="path4307"
+ d="M 1.3053582,-3.9585227 L 5.6537466,0"
+ style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" />
+ <path
+ id="path4309"
+ d="M -3.8048674,4.1775838 L 0.54352094,0.21974226"
+ style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" />
+ <path
+ id="path4311"
+ d="M -1.2866832,4.1775838 L 3.0617053,0.21974226"
+ style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" />
+ <path
+ id="path4313"
+ d="M 1.3053582,4.1775838 L 5.6537466,0.21974226"
+ style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" />
+ </g>
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lstart"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path4283"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) translate(1,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="marker5942"
+ style="overflow:visible;"
+ inkscape:isstock="true">
+ <path
+ id="path5944"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) rotate(180) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;"
+ inkscape:isstock="true">
+ <path
+ id="path4298"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-2.3,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mend"
+ style="overflow:visible;"
+ inkscape:isstock="true">
+ <path
+ id="path4274"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.4) rotate(180) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mend"
+ style="overflow:visible;"
+ inkscape:isstock="true">
+ <path
+ id="path4292"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) rotate(180) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lend"
+ style="overflow:visible;"
+ inkscape:isstock="true">
+ <path
+ id="path4268"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.98524537"
+ inkscape:cx="635.16005"
+ inkscape:cy="350.04247"
+ inkscape:document-units="px"
+ inkscape:current-layer="g6897"
+ showgrid="false"
+ inkscape:connector-spacing="10"
+ inkscape:window-width="1920"
+ inkscape:window-height="1043"
+ inkscape:window-x="1280"
+ inkscape:window-y="0"
+ inkscape:window-maximized="1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid5352" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-308.26772)">
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="304.05591"
+ y="203.83408"
+ id="text4162"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4164"
+ x="304.05591"
+ y="203.83408"></tspan></text>
+ <g
+ id="g6897"
+ transform="matrix(0.444,0,0,0.444,166.01704,430.92217)">
+ <rect
+ ry="25.332346"
+ rx="20.289091"
+ y="357.64059"
+ x="100.06584"
+ height="722.29224"
+ width="556.50079"
+ id="rect3336"
+ style="opacity:1;fill:#d2e8a8;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text4138"
+ y="434.55569"
+ x="129.62114"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:70px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold'"
+ id="tspan4142"
+ y="434.55569"
+ x="129.62114"
+ sodipodi:role="line">Guix share</tspan></text>
+ <g
+ transform="translate(-43.201245,340.29702)"
+ id="g4215">
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="177.78683"
+ y="156.35689"
+ id="text4146"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4148"
+ x="177.78683"
+ y="156.35689">/gnu</tspan><tspan
+ sodipodi:role="line"
+ x="177.78683"
+ y="206.35689"
+ id="tspan4150"> store</tspan><tspan
+ sodipodi:role="line"
+ x="177.78683"
+ y="256.35687"
+ id="tspan4154"> ...</tspan><tspan
+ sodipodi:role="line"
+ x="177.78683"
+ y="306.35687"
+ id="tspan4205"> yzwb...-python-3.3.5</tspan><tspan
+ sodipodi:role="line"
+ x="177.78683"
+ y="356.35687"
+ id="tspan4203"> zjhaq...-guile-2.0.11</tspan><tspan
+ sodipodi:role="line"
+ x="177.78683"
+ y="406.35687"
+ id="tspan4201"> </tspan><tspan
+ sodipodi:role="line"
+ x="177.78683"
+ y="456.35687"
+ id="tspan4171"> var/guix/profiles/...</tspan><tspan
+ sodipodi:role="line"
+ x="177.78683"
+ y="506.35687"
+ id="tspan6955"> per-user</tspan><tspan
+ sodipodi:role="line"
+ x="177.78683"
+ y="556.35687"
+ id="tspan6957"> john</tspan><tspan
+ sodipodi:role="line"
+ x="177.78683"
+ y="606.35687"
+ id="tspan6959"> paul</tspan><tspan
+ sodipodi:role="line"
+ x="177.78683"
+ y="656.35687"
+ id="tspan6961"> george</tspan><tspan
+ sodipodi:role="line"
+ x="177.78683"
+ y="706.35687"
+ id="tspan6963"> ringo</tspan><tspan
+ sodipodi:role="line"
+ x="177.78683"
+ y="756.35687"
+ id="tspan4152" /></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 180.81731,169.48888 0,274.87332 28.84087,0"
+ id="path4160"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 226.60685,215.97693 0,129.37191 23.89672,0"
+ id="path4207"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 225.78282,294.25929 23.0727,0"
+ id="path4209"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 225.78282,251.41 24.72075,0"
+ id="path4211"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.80000019;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 181.28548,194.43216 29.6649,0"
+ id="path4213"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 226.60685,466.3516 0,27.64575 23.89672,0"
+ id="path4207-3"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 262.64285,523.96176 0,168.23359 23.89672,0"
+ id="path4207-7"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 261.81882,641.1058 23.0727,0"
+ id="path4209-0"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 261.81882,598.25651 24.72075,0"
+ id="path4211-8"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 260.49508,548.02503 24.72075,0"
+ id="path4211-8-6"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <rect
+ ry="23.628561"
+ rx="25.837723"
+ y="-139.10573"
+ x="106.77447"
+ height="311.46793"
+ width="773.22552"
+ id="rect4231"
+ style="opacity:1;fill:#f2f0e3;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <text
+ inkscape:transform-center-x="-9.3227775"
+ sodipodi:linespacing="125%"
+ id="text4138-1"
+ y="-60.273418"
+ x="132.96968"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:70px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold'"
+ id="tspan4142-7"
+ y="-60.273418"
+ x="132.96968"
+ sodipodi:role="line">Management host</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text4251"
+ y="13.850248"
+ x="132.85063"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ y="13.850248"
+ x="132.85063"
+ id="tspan4253"
+ sodipodi:role="line">Write access to Guix share</tspan><tspan
+ id="tspan4255"
+ y="63.85025"
+ x="132.85063"
+ sodipodi:role="line">Runs Guix daemon</tspan><tspan
+ id="tspan4257"
+ y="113.85025"
+ x="132.85063"
+ sodipodi:role="line">Used to modify profiles</tspan></text>
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="529.63159"
+ x="1100.4871"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317"
+ style="opacity:1;fill:#c1c0eb;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ inkscape:connection-start="#rect3336"
+ inkscape:connection-end="#rect5317-2"
+ inkscape:connector-curvature="0"
+ inkscape:connector-type="polyline"
+ id="path5381"
+ d="M 656.56664,597.47557 962.77002,586.6145"
+ style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ inkscape:connection-start="#rect4231"
+ inkscape:connector-curvature="0"
+ inkscape:connector-type="polyline"
+ id="path5513"
+ d="M 465.98798,172.3622 438.44154,328.93275"
+ style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM)" />
+ <text
+ inkscape:transform-center-x="-9.3227775"
+ sodipodi:linespacing="125%"
+ id="text4138-1-7"
+ y="232.03957"
+ x="959.9917"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:70px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold'"
+ id="tspan4142-7-4"
+ y="232.03957"
+ x="959.9917"
+ sodipodi:role="line">Cluster nodes</tspan></text>
+ <text
+ inkscape:transform-center-x="-9.3227775"
+ sodipodi:linespacing="125%"
+ id="text4138-1-7-8"
+ y="781.05786"
+ x="963.91833"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:70px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold';stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none"
+ id="tspan4142-7-4-4"
+ y="781.05786"
+ x="963.91833"
+ sodipodi:role="line">Workstations</tspan></text>
+ <path
+ inkscape:connection-end="#rect5317-24-9"
+ inkscape:connection-start="#rect3336"
+ inkscape:connector-curvature="0"
+ inkscape:connector-type="polyline"
+ id="path5769"
+ d="M 656.56664,720.76071 962.89105,845.61932"
+ style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ inkscape:connection-end="#rect5317-9-1"
+ inkscape:connection-start="#rect3336"
+ inkscape:connector-curvature="36"
+ inkscape:connector-type="polyline"
+ id="path5771"
+ d="M 656.56664,779.35467 963.27507,968.95646"
+ style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="529.63159"
+ x="962.77002"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-2"
+ style="opacity:1;fill:#c1c0eb;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="394.66388"
+ x="1375.9209"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-6"
+ style="opacity:1;fill:#c1c0eb;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="394.66388"
+ x="1238.204"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-1"
+ style="opacity:1;fill:#c1c0eb;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="394.66388"
+ x="1100.4871"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-7"
+ style="opacity:1;fill:#c1c0eb;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="394.66388"
+ x="962.77002"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-9"
+ style="opacity:1;fill:#c1c0eb;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="259.69614"
+ x="1375.9209"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-5"
+ style="opacity:1;fill:#c1c0eb;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="259.69614"
+ x="1238.204"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-16"
+ style="opacity:1;fill:#c1c0eb;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="259.69614"
+ x="1100.4871"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-4"
+ style="opacity:1;fill:#c1c0eb;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="259.69614"
+ x="962.77002"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-24"
+ style="opacity:1;fill:#c1c0eb;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ inkscape:connection-end="#rect5317-24"
+ inkscape:connection-start="#rect3336"
+ inkscape:connector-curvature="0"
+ inkscape:connector-type="polyline"
+ id="path5840"
+ d="M 656.56664,480.2655 962.77002,340.41946"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ inkscape:connection-end="#rect5317-9"
+ inkscape:connection-start="#rect3336"
+ inkscape:connector-curvature="0"
+ inkscape:connector-type="polyline"
+ id="path5842"
+ d="M 656.56664,538.87054 962.77002,463.517"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="1083.5427"
+ x="1100.6082"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-62"
+ style="opacity:1;fill:#f2b9b9;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="1083.5427"
+ x="962.89105"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-2-7"
+ style="opacity:1;fill:#d4ebc0;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="948.57501"
+ x="1376.042"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-6-7"
+ style="opacity:1;fill:#f7f7b4;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="948.57501"
+ x="1238.3251"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-1-9"
+ style="opacity:1;fill:#e0c0eb;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="948.57501"
+ x="1100.6082"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-7-7"
+ style="opacity:1;fill:#c6c0eb;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="948.57501"
+ x="962.89105"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-9-1"
+ style="opacity:1;fill:#c0d6eb;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="813.6073"
+ x="1376.042"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-5-5"
+ style="opacity:1;fill:#c0ebe8;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="813.6073"
+ x="1238.3251"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-16-8"
+ style="opacity:1;fill:#c0ebc6;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="813.6073"
+ x="1100.6082"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-4-2"
+ style="opacity:1;fill:#ebe3c0;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ ry="25.3323"
+ rx="20.289101"
+ y="813.6073"
+ x="962.89105"
+ height="109.96774"
+ width="112.71694"
+ id="rect5317-24-9"
+ style="opacity:1;fill:#ebc0c0;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ inkscape:connection-end="#rect5317-2-7"
+ inkscape:connection-start="#rect3336"
+ inkscape:connector-curvature="0"
+ inkscape:connector-type="polyline"
+ id="path5888"
+ d="M 656.03801,837.51053 966.35048,1094.6859"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </g>
+</svg>
diff --git a/posts/2015-04-17-gnu-guix.markdown b/posts/2015-04-17-gnu-guix.markdown
index dfc95bb..8df8d0f 100644
--- a/posts/2015-04-17-gnu-guix.markdown
+++ b/posts/2015-04-17-gnu-guix.markdown
@@ -230,6 +230,8 @@ local users only. In an environment with multiple clusters and
multiple workstations this approach requires considerable effort to
make it work correctly and securely.
+<img class="full stretch" src="/images/posts/2015/guix-shared.svg" alt="Sharing Guix store and profiles" />
+
Instead we opted to run the Guix daemon on a single dedicated server,
writing profile data and store items onto an NFS share. The cluster
nodes and workstations mount this share read-only. Although this