Error: user-error ("Unable to resolve link: \"introduction\"")
mapbacktrace(#f(compiled-function (evald func args flags) #))
debug-early-backtrace()
debug-early(error (user-error "Unable to resolve link: \"introduction\""))
signal(user-error ("Unable to resolve link: \"introduction\""))
user-error("Unable to resolve link: %S" "introduction")
org-export-data((link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #126))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #172) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #175))) #126 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #177))) :mode nil :granularity nil :parent #172) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #177) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #180) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #183)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #183) #("Guix-notes" 0 10 (:parent #187))) #("and the main " 0 13 (:parent #183)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #183)) #("doc).\n" 0 6 (:parent #183))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #178))) :mode nil :granularity nil :parent #172) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #181))) :mode section :granularity nil :parent #178) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #181) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #184) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #187))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #184) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #188))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #182))) :mode nil :granularity nil :parent #178) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #182) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #185) #("Fetch the GNU Guix binary from " 0 31 (:parent #188)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #188) #("here" 0 4 (:parent #192))) #("(middle panel) and follow\n" 0 26 (:parent #188)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #188) #("instructions" 0 12 (:parent #194))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #188))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #185) #("Once you have succeeded, you have to " 0 37 (:parent #189)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #189) #("set the key" 0 11 (:parent #193))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #189))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #185)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #185) #("Which should show something like\n" 0 33 (:parent #191))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #185)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #185) #("#+end" 0 5 (:parent #193)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #193) #("src" 0 3 (:parent #197))) #("\n" 0 1 (:parent #193))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #185) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #194))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #185)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #185) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #196))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #185) #("If you need more help we have another writeup in " 0 49 (:parent #197)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #197) #("guix-notes" 0 10 (:parent #201))) #(". To get\nrid of the locale warning see " 0 39 (:parent #197)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #197) #("set-locale" 0 10 (:parent #203))) #(".\n" 0 2 (:parent #197))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #183))) :mode nil :granularity nil :parent #178) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #183) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #186) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #189))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #186)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #186) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #191))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #186) #("#+begin" 0 7 (:parent #192)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #192) #("src" 0 3 (:parent #196))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #192)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #192)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #192)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #192)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #192)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #192) #("src" 0 3 (:parent #202))) #("bash\n" 0 5 (:parent #192))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #186) #("To test whether this is working try:\n" 0 37 (:parent #193))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #186) #("#+begin" 0 7 (:parent #194)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #194) #("src" 0 3 (:parent #198))) #("bash\n#+end" 0 10 (:parent #194)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #194) #("src" 0 3 (:parent #200))) #("bash\n" 0 5 (:parent #194))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #184))) :mode nil :granularity nil :parent #178) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #184) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #187) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #190))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #187)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #187) #("by pasting it into the command\n" 0 31 (:parent #192))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #187)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #187) #("and hit Ctrl-D.\n" 0 16 (:parent #194))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #187) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #195))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #185))) :mode nil :granularity nil :parent #178) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #185) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #188) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #191))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #188)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #188) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #193))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #188)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #188) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #195)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #195) #("root" 0 4 (:parent #199))) #(".config/guix/latest override).\n" 0 31 (:parent #195))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #188) #("And install with\n" 0 17 (:parent #196))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #188)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #188) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #198))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #188) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #199))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #188) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #200))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #188)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #188) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #202))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #188)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #188) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #204)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #204)) #(".\n" 0 2 (:parent #204))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #188) #("End of the GN2 installation recipe!\n" 0 36 (:parent #205)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #179))) :mode nil :granularity nil :parent #172) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #179) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #182) #("GNU Guix allows for " 0 20 (:parent #185)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #185) #("reproducible deployment" 0 23 (:parent #189))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #185))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #182)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #182) #("Next build guix (and run) following the instructions in " 0 56 (:parent #187)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #187) #("guix-notes" 0 10 (:parent #191))) #(".\n" 0 2 (:parent #187))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #182) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #188))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #182)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #182) #("So\n" 0 3 (:parent #190))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #182) #("#+begin" 0 7 (:parent #191)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #191) #("src" 0 3 (:parent #195))) #("sh :lang bash\n#+begin" 0 23 (:parent #191)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #191) #("src" 0 3 (:parent #197))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #191)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #191) #("PACKAGE" 0 7 (:parent #199))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #191) #("PATH" 0 4 (:parent #200))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #191)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #191) #("src" 0 3 (:parent #202))) #("sh :lang bash\n" 0 16 (:parent #191))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #182) #("Install with\n" 0 13 (:parent #192))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #182) #("#+begin" 0 7 (:parent #193)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #193) #("src" 0 3 (:parent #197))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #193)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #193) #("PACKAGE" 0 7 (:parent #199))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #193) #("PATH" 0 4 (:parent #200))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #193)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #193) #("src" 0 3 (:parent #202))) #("sh :lang bash\n" 0 16 (:parent #193))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #180))) :mode nil :granularity nil :parent #172) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #180) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #183)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #181))) :mode nil :granularity nil :parent #172) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #181) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #184) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #187))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #184) #("First execute above 4 steps:\n" 0 29 (:parent #188))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #184) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #192) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #195) #("Step 1: Install GNU Guix" 0 24 (:parent #198))) #("\n" 0 1 (:parent #195)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #193) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #196) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #199))) #("\n" 0 1 (:parent #196)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #194) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #197) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #200))) #("\n" 0 1 (:parent #197)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #195) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #198) #("Step 4: Install and run GN2 " 0 28 (:parent #201))) #("\n" 0 1 (:parent #198)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #185))) :mode nil :granularity nil :parent #181) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #185) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #188) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #191)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #191)) #(".\n" 0 2 (:parent #191))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #188) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #192)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #192) #("PATH" 0 4 (:parent #196))) #("and\nR" 0 5 (:parent #192)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #192) #("LIBS" 0 4 (:parent #198))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #192) #("SITE" 0 4 (:parent #199))) #("are set) from the information given by guix:\n" 0 45 (:parent #192))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #188)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #188) #("Inside the repository:\n" 0 23 (:parent #194))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #188)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #188) #("Will fire up your local repo " 0 29 (:parent #196)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #196)) #("using the\nsettings in ./etc/default" 0 35 (:parent #196)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #196) #("settings.py" 0 11 (:parent #202))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #196)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #196) #("settings.py" 0 11 (:parent #204))) #("and pass it into GN2 with\n" 0 26 (:parent #196))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #188)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #188) #("and everything " 0 15 (:parent #198)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #198) #("should" 0 6 (:parent #202))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #198))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #188) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #199))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #188)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #186))) :mode nil :granularity nil :parent #181) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #186) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #189) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #192))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #189) #("#+begin" 0 7 (:parent #193)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #193) #("src" 0 3 (:parent #197))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #193)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #193) #("name" 0 4 (:parent #199))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #193)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #193) #("log" 0 3 (:parent #201))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #193))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #189) #(" proxy" 0 13 (:parent #194)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #194) #("connect" 0 7 (:parent #198))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #194) #("timeout" 0 7 (:parent #199))) #("3000;\n proxy" 0 19 (:parent #194)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #194) #("send" 0 4 (:parent #201))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #194) #("timeout" 0 7 (:parent #202))) #("3000;\n proxy" 0 19 (:parent #194)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #194) #("read" 0 4 (:parent #204))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #194) #("timeout" 0 7 (:parent #205))) #("3000;\n send" 0 18 (:parent #194)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #194) #("timeout" 0 7 (:parent #207))) #("3000;\n" 0 6 (:parent #194))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #189) #(" location / {\n proxy" 0 38 (:parent #195)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #195) #("set" 0 3 (:parent #199))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #195) #("header" 0 6 (:parent #200))) #("Host $http" 0 15 (:parent #195)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #195) #("host" 0 4 (:parent #202))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #195) #("set" 0 3 (:parent #204))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #195) #("header" 0 6 (:parent #205))) #("Connection keep-alive;\n proxy" 0 40 (:parent #195)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #195) #("set" 0 3 (:parent #207))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #195) #("header" 0 6 (:parent #208))) #("X-Real-IP $remote" 0 17 (:parent #195)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #195) #("addr" 0 4 (:parent #210))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #195) #("set" 0 3 (:parent #212))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #195) #("header" 0 6 (:parent #213))) #("X-Forwarded-For $proxy" 0 22 (:parent #195)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #195) #("add" 0 3 (:parent #215))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #195) #("x" 0 1 (:parent #216))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #195) #("forwarded" 0 9 (:parent #217))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #195) #("for" 0 3 (:parent #218))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #195) #("set" 0 3 (:parent #220))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #195) #("header" 0 6 (:parent #221))) #("X-Forwarded-Host $server" 0 24 (:parent #195)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #195) #("name" 0 4 (:parent #223))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #195) #("pass" 0 4 (:parent #225))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #195)) #(";\n }\n}\n#+end" 0 19 (:parent #195)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #195) #("src" 0 3 (:parent #228))) #("js\n" 0 3 (:parent #195))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #189) #("Install the nginx webserver (as root)\n" 0 38 (:parent #196))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #189)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #189) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #198))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #189)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #189) #("Use that path\n" 0 14 (:parent #200))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #189)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #189) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #202))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #189)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #189) #("Make dirs\n" 0 10 (:parent #204))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #189)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #189) #("Add users\n" 0 10 (:parent #206))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #189)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #189) #("Run nginx\n" 0 10 (:parent #208))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #189))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #182))) :mode nil :granularity nil :parent #172) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #182) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #185) #("See the document " 0 17 (:parent #188)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #188)) #(".\n" 0 2 (:parent #188)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #186))) :mode nil :granularity nil :parent #182) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #186) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #189) #("We now compile Guix from scratch.\n" 0 34 (:parent #192))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #189) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #193)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #193) #("these" 0 5 (:parent #197))) #("steps carefully after\n" 0 22 (:parent #193))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #189)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #189) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #195))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #187))) :mode nil :granularity nil :parent #182) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #187) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #190) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #193))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #190) #("#+begin" 0 7 (:parent #194)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #194) #("src" 0 3 (:parent #198))) #("bash\nenv GUIX" 0 13 (:parent #194)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #194) #("PACKAGE" 0 7 (:parent #200))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #194) #("PATH" 0 4 (:parent #201))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #194)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #194)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #194)) #("\"\n#+end" 0 7 (:parent #194)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #194) #("src" 0 3 (:parent #206))) #("bash\n" 0 5 (:parent #194))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #190) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #195))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #190) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #196))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #188))) :mode nil :granularity nil :parent #182) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #188) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #191) #("Make a note of the paths with\n" 0 30 (:parent #194))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #191) #("#+begin" 0 7 (:parent #195)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #195) #("src" 0 3 (:parent #199))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #195)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #195) #("src" 0 3 (:parent #201))) #("bash\n" 0 5 (:parent #195))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #191) #("or this should also work if guix is installed\n" 0 46 (:parent #196))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #191) #("#+begin" 0 7 (:parent #197)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #197) #("src" 0 3 (:parent #201))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #197)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #197) #("src" 0 3 (:parent #203))) #("bash\n" 0 5 (:parent #197))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #191) #("After setting the paths for the server\n" 0 39 (:parent #198))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #191) #("#+begin" 0 7 (:parent #199)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #199) #("src" 0 3 (:parent #203))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #199)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #199) #("LIBS" 0 4 (:parent #205))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #199) #("SITE" 0 4 (:parent #206))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #199)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #199) #("GTK3" 0 4 (:parent #208))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #199) #("PATH" 0 4 (:parent #209))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #199)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #199) #("TYPELIB" 0 7 (:parent #211))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #199) #("PATH" 0 4 (:parent #212))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #199)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #199) #("DATA" 0 4 (:parent #214))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #199) #("DIRS" 0 4 (:parent #215))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #199)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #199) #("EXTRA" 0 5 (:parent #217))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #199) #("MODULES" 0 7 (:parent #218))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #199)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #199) #("src" 0 3 (:parent #220))) #("bash\n" 0 5 (:parent #199))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #191) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #200))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #191) #("#+begin" 0 7 (:parent #201)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #201) #("src" 0 3 (:parent #205))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #201)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #201) #("src" 0 3 (:parent #207))) #("bash\n" 0 5 (:parent #201)))))))) #102)) #78)) #46 (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #82) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #85) #("Binary deployment through GNU Guix" 0 34 (:parent #88))) #("\n" 0 1 (:parent #85))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #82) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #89) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #92) #("Quick installation recipe" 0 25 (:parent #95))) #("\n" 0 1 (:parent #92)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #90) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #93) #("Step 1: Install GNU Guix" 0 24 (:parent #96))) #("\n" 0 1 (:parent #93)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #91) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #94) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #97))) #("\n" 0 1 (:parent #94)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #95) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #98))) #("\n" 0 1 (:parent #95)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #96) #("Step 4: Install and run GN2" 0 27 (:parent #99))) #("\n" 0 1 (:parent #96)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #83) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #86) #("From source deployment" 0 22 (:parent #89))) #("\n" 0 1 (:parent #86)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #84) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #87) #("Create archive" 0 14 (:parent #90))) #("\n" 0 1 (:parent #87)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #85) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #88) #("Source deployment" 0 17 (:parent #91))) #("\n" 0 1 (:parent #88))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #85) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #89) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #95) #("Run your own copy of GN2" 0 24 (:parent #98))) #("\n" 0 1 (:parent #95)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #89) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #96) #("Set up nginx port forwarding" 0 28 (:parent #99))) #("\n" 0 1 (:parent #96)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #86) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #89) #("Source deployment and other information on reproducibility" 0 58 (:parent #92))) #("\n" 0 1 (:parent #89))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #86) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #96) #("Update to recent guix" 0 21 (:parent #99))) #("\n" 0 1 (:parent #96)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #94) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #97) #("Install GN2" 0 11 (:parent #100))) #("\n" 0 1 (:parent #97)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #95) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #98) #("Run GN2" 0 7 (:parent #101))) #("\n" 0 1 (:parent #98)))))))) #26)) #0 #("\n" 0 1 (:parent #26)))) #("Introduction" 0 12 (:parent #0))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section ") :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" " \n" . " ") :html-table-header-tags ("" . " ") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (underline . "%s") (verbatim . "" :html-table-row-close-tag " " :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 29.4 (Org mode 9.6.15)" :with-latex t :latex-header nil :title (#("Installing GeneNetwork services with GNU Guix" 0 45 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #338) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #341))) (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #342))) :mode nil :granularity nil :parent #338) (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent #342) (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent #345) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #351) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #354) #("Introduction" 0 12 (:parent #357))) #("\n" 0 1 (:parent #354)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #352) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #355) #("Binary deployment through GNU Guix" 0 34 (:parent #358))) #("\n" 0 1 (:parent #355))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #352) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #362) #("Quick installation recipe" 0 25 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #363) #("Step 1: Install GNU Guix" 0 24 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #364) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #367))) #("\n" 0 1 (:parent #364)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #365) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #366) #("Step 4: Install and run GN2" 0 27 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #353) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #356) #("From source deployment" 0 22 (:parent #359))) #("\n" 0 1 (:parent #356)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #354) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #357) #("Create archive" 0 14 (:parent #360))) #("\n" 0 1 (:parent #357)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #355) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #358) #("Source deployment" 0 17 (:parent #361))) #("\n" 0 1 (:parent #358))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #355) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #365) #("Run your own copy of GN2" 0 24 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #366) #("Set up nginx port forwarding" 0 28 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #356) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #359) #("Source deployment and other information on reproducibility" 0 58 (:parent #362))) #("\n" 0 1 (:parent #359))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #356) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #366) #("Update to recent guix" 0 21 (:parent #369))) #("\n" 0 1 (:parent #366)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #367) #("Install GN2" 0 11 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #368) #("Run GN2" 0 7 (:parent #371))) #("\n" 0 1 (:parent #368))))))))) (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #343))) :mode nil :granularity nil :parent #338) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #343) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #346) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #349)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #349) #("Guix-notes" 0 10 (:parent #353))) #("and the main " 0 13 (:parent #349)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #349)) #("doc).\n" 0 6 (:parent #349))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #344))) :mode nil :granularity nil :parent #338) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #347))) :mode section :granularity nil :parent #344) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #347) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #350) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #353))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #350) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #354))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #348))) :mode nil :granularity nil :parent #344) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #348) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #351) #("Fetch the GNU Guix binary from " 0 31 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #354) #("here" 0 4 (:parent #358))) #("(middle panel) and follow\n" 0 26 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #354) #("instructions" 0 12 (:parent #360))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #354))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #351) #("Once you have succeeded, you have to " 0 37 (:parent #355)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #355) #("set the key" 0 11 (:parent #359))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #351)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #351) #("Which should show something like\n" 0 33 (:parent #357))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #351)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #351) #("#+end" 0 5 (:parent #359)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #359) #("src" 0 3 (:parent #363))) #("\n" 0 1 (:parent #359))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #351) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #360))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #351)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #351) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #362))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #351) #("If you need more help we have another writeup in " 0 49 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #363) #("guix-notes" 0 10 (:parent #367))) #(". To get\nrid of the locale warning see " 0 39 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #363) #("set-locale" 0 10 (:parent #369))) #(".\n" 0 2 (:parent #363))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #349))) :mode nil :granularity nil :parent #344) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #349) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #352) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #352)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #352) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #357))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #358)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #358) #("src" 0 3 (:parent #362))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #358)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #358)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #358)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #358) #("src" 0 3 (:parent #368))) #("bash\n" 0 5 (:parent #358))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #352) #("To test whether this is working try:\n" 0 37 (:parent #359))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\n#+end" 0 10 (:parent #360)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #360) #("src" 0 3 (:parent #366))) #("bash\n" 0 5 (:parent #360))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #350))) :mode nil :granularity nil :parent #344) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #350) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #353) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #356))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #353)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #353) #("by pasting it into the command\n" 0 31 (:parent #358))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #353)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #353) #("and hit Ctrl-D.\n" 0 16 (:parent #360))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #353) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #361))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #351))) :mode nil :granularity nil :parent #344) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #351) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #354) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #357))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #354)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #354) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #359))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #354)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #354) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #361)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #361) #("root" 0 4 (:parent #365))) #(".config/guix/latest override).\n" 0 31 (:parent #361))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #354) #("And install with\n" 0 17 (:parent #362))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #354)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #354) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #364))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #354) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #365))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #354) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #366))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #354) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #368))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #354) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #370)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #370)) #(".\n" 0 2 (:parent #370))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #354) #("End of the GN2 installation recipe!\n" 0 36 (:parent #371)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #345))) :mode nil :granularity nil :parent #338) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #345) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #348) #("GNU Guix allows for " 0 20 (:parent #351)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #351) #("reproducible deployment" 0 23 (:parent #355))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #351))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #348)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #348) #("Next build guix (and run) following the instructions in " 0 56 (:parent #353)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #353) #("guix-notes" 0 10 (:parent #357))) #(".\n" 0 2 (:parent #353))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #348) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #354))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #348)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #348) #("So\n" 0 3 (:parent #356))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #348) #("#+begin" 0 7 (:parent #357)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #357) #("src" 0 3 (:parent #361))) #("sh :lang bash\n#+begin" 0 23 (:parent #357)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #357) #("src" 0 3 (:parent #363))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #357)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #357) #("PACKAGE" 0 7 (:parent #365))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #357) #("PATH" 0 4 (:parent #366))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #357)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #357) #("src" 0 3 (:parent #368))) #("sh :lang bash\n" 0 16 (:parent #357))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #348) #("Install with\n" 0 13 (:parent #358))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #348) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #359)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #359) #("PACKAGE" 0 7 (:parent #365))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #359) #("PATH" 0 4 (:parent #366))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #359)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #359) #("src" 0 3 (:parent #368))) #("sh :lang bash\n" 0 16 (:parent #359))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #346))) :mode nil :granularity nil :parent #338) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #346) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #349)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #347))) :mode nil :granularity nil :parent #338) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #347) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #350) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #353))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #350) #("First execute above 4 steps:\n" 0 29 (:parent #354))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #350) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #361) #("Step 1: Install GNU Guix" 0 24 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #362) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #363) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #364) #("Step 4: Install and run GN2 " 0 28 (:parent #367))) #("\n" 0 1 (:parent #364)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #351))) :mode nil :granularity nil :parent #347) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #351) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #354) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #357)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #357)) #(".\n" 0 2 (:parent #357))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #354) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #358)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #358) #("PATH" 0 4 (:parent #362))) #("and\nR" 0 5 (:parent #358)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #358) #("LIBS" 0 4 (:parent #364))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #358) #("SITE" 0 4 (:parent #365))) #("are set) from the information given by guix:\n" 0 45 (:parent #358))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #354)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #354) #("Inside the repository:\n" 0 23 (:parent #360))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #354)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #354) #("Will fire up your local repo " 0 29 (:parent #362)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #362)) #("using the\nsettings in ./etc/default" 0 35 (:parent #362)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #362) #("settings.py" 0 11 (:parent #368))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #362)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #370))) #("and pass it into GN2 with\n" 0 26 (:parent #362))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #354)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #354) #("and everything " 0 15 (:parent #364)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #364) #("should" 0 6 (:parent #368))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #364))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #354) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #365))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #354)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #352))) :mode nil :granularity nil :parent #347) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #352) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #355) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #358))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #355) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #359)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #359) #("name" 0 4 (:parent #365))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #359)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #359) #("log" 0 3 (:parent #367))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #359))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #355) #(" proxy" 0 13 (:parent #360)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #360) #("connect" 0 7 (:parent #364))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #360) #("timeout" 0 7 (:parent #365))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #360) #("send" 0 4 (:parent #367))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #368))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #360) #("read" 0 4 (:parent #370))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #371))) #("3000;\n send" 0 18 (:parent #360)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #360) #("timeout" 0 7 (:parent #373))) #("3000;\n" 0 6 (:parent #360))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #355) #(" location / {\n proxy" 0 38 (:parent #361)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #361) #("set" 0 3 (:parent #365))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #361) #("header" 0 6 (:parent #366))) #("Host $http" 0 15 (:parent #361)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #361) #("host" 0 4 (:parent #368))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #361) #("set" 0 3 (:parent #370))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #361) #("header" 0 6 (:parent #371))) #("Connection keep-alive;\n proxy" 0 40 (:parent #361)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #361) #("set" 0 3 (:parent #373))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #361) #("header" 0 6 (:parent #374))) #("X-Real-IP $remote" 0 17 (:parent #361)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #361) #("addr" 0 4 (:parent #376))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #361) #("set" 0 3 (:parent #378))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #361) #("header" 0 6 (:parent #379))) #("X-Forwarded-For $proxy" 0 22 (:parent #361)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #361) #("add" 0 3 (:parent #381))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #361) #("x" 0 1 (:parent #382))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #361) #("forwarded" 0 9 (:parent #383))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #361) #("for" 0 3 (:parent #384))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #361) #("set" 0 3 (:parent #386))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #361) #("header" 0 6 (:parent #387))) #("X-Forwarded-Host $server" 0 24 (:parent #361)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #361) #("name" 0 4 (:parent #389))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #361) #("pass" 0 4 (:parent #391))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #361)) #(";\n }\n}\n#+end" 0 19 (:parent #361)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #361) #("src" 0 3 (:parent #394))) #("js\n" 0 3 (:parent #361))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #355) #("Install the nginx webserver (as root)\n" 0 38 (:parent #362))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #355)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #355) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #364))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #355)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #355) #("Use that path\n" 0 14 (:parent #366))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #355) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #368))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #355) #("Make dirs\n" 0 10 (:parent #370))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #355) #("Add users\n" 0 10 (:parent #372))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #355) #("Run nginx\n" 0 10 (:parent #374))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #355))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #348))) :mode nil :granularity nil :parent #338) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #348) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #351) #("See the document " 0 17 (:parent #354)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #354)) #(".\n" 0 2 (:parent #354)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #352))) :mode nil :granularity nil :parent #348) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #352) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #355) #("We now compile Guix from scratch.\n" 0 34 (:parent #358))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #355) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #359)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #359) #("these" 0 5 (:parent #363))) #("steps carefully after\n" 0 22 (:parent #359))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #355) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #361))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #353))) :mode nil :granularity nil :parent #348) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #353) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #356) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #359))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #356) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\nenv GUIX" 0 13 (:parent #360)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #360) #("PACKAGE" 0 7 (:parent #366))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #360) #("PATH" 0 4 (:parent #367))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #360)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #360)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #360)) #("\"\n#+end" 0 7 (:parent #360)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #360) #("src" 0 3 (:parent #372))) #("bash\n" 0 5 (:parent #360))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #356) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #361))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #356) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #362))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #354))) :mode nil :granularity nil :parent #348) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #354) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #357) #("Make a note of the paths with\n" 0 30 (:parent #360))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #361)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #361) #("src" 0 3 (:parent #365))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #361)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #361) #("src" 0 3 (:parent #367))) #("bash\n" 0 5 (:parent #361))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #357) #("or this should also work if guix is installed\n" 0 46 (:parent #362))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #363)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #363) #("src" 0 3 (:parent #367))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #363)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #363) #("src" 0 3 (:parent #369))) #("bash\n" 0 5 (:parent #363))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #357) #("After setting the paths for the server\n" 0 39 (:parent #364))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #365)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #365) #("src" 0 3 (:parent #369))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #365)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #365) #("LIBS" 0 4 (:parent #371))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #365) #("SITE" 0 4 (:parent #372))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #365)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #365) #("GTK3" 0 4 (:parent #374))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #365) #("PATH" 0 4 (:parent #375))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #365)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #365) #("TYPELIB" 0 7 (:parent #377))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #365) #("PATH" 0 4 (:parent #378))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #365)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #365) #("DATA" 0 4 (:parent #380))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #365) #("DIRS" 0 4 (:parent #381))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #365)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #365) #("EXTRA" 0 5 (:parent #383))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #365) #("MODULES" 0 7 (:parent #384))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #365)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #365) #("src" 0 3 (:parent #386))) #("bash\n" 0 5 (:parent #365))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #357) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #366))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #367)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #367) #("src" 0 3 (:parent #371))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #367)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #367) #("src" 0 3 (:parent #373))) #("bash\n" 0 5 (:parent #367))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #))
#f(compiled-function (element) #)((link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #126))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #172) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #175))) #126 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #177))) :mode nil :granularity nil :parent #172) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #177) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #180) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #183)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #183) #("Guix-notes" 0 10 (:parent #187))) #("and the main " 0 13 (:parent #183)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #183)) #("doc).\n" 0 6 (:parent #183))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #178))) :mode nil :granularity nil :parent #172) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #181))) :mode section :granularity nil :parent #178) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #181) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #184) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #187))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #184) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #188))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #182))) :mode nil :granularity nil :parent #178) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #182) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #185) #("Fetch the GNU Guix binary from " 0 31 (:parent #188)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #188) #("here" 0 4 (:parent #192))) #("(middle panel) and follow\n" 0 26 (:parent #188)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #188) #("instructions" 0 12 (:parent #194))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #188))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #185) #("Once you have succeeded, you have to " 0 37 (:parent #189)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #189) #("set the key" 0 11 (:parent #193))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #189))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #185)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #185) #("Which should show something like\n" 0 33 (:parent #191))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #185)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #185) #("#+end" 0 5 (:parent #193)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #193) #("src" 0 3 (:parent #197))) #("\n" 0 1 (:parent #193))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #185) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #194))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #185)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #185) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #196))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #185) #("If you need more help we have another writeup in " 0 49 (:parent #197)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #197) #("guix-notes" 0 10 (:parent #201))) #(". To get\nrid of the locale warning see " 0 39 (:parent #197)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #197) #("set-locale" 0 10 (:parent #203))) #(".\n" 0 2 (:parent #197))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #183))) :mode nil :granularity nil :parent #178) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #183) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #186) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #189))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #186)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #186) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #191))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #186) #("#+begin" 0 7 (:parent #192)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #192) #("src" 0 3 (:parent #196))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #192)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #192)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #192)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #192)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #192)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #192) #("src" 0 3 (:parent #202))) #("bash\n" 0 5 (:parent #192))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #186) #("To test whether this is working try:\n" 0 37 (:parent #193))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #186) #("#+begin" 0 7 (:parent #194)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #194) #("src" 0 3 (:parent #198))) #("bash\n#+end" 0 10 (:parent #194)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #194) #("src" 0 3 (:parent #200))) #("bash\n" 0 5 (:parent #194))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #184))) :mode nil :granularity nil :parent #178) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #184) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #187) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #190))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #187)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #187) #("by pasting it into the command\n" 0 31 (:parent #192))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #187)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #187) #("and hit Ctrl-D.\n" 0 16 (:parent #194))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #187) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #195))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #185))) :mode nil :granularity nil :parent #178) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #185) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #188) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #191))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #188)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #188) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #193))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #188)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #188) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #195)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #195) #("root" 0 4 (:parent #199))) #(".config/guix/latest override).\n" 0 31 (:parent #195))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #188) #("And install with\n" 0 17 (:parent #196))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #188)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #188) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #198))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #188) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #199))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #188) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #200))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #188)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #188) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #202))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #188)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #188) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #204)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #204)) #(".\n" 0 2 (:parent #204))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #188) #("End of the GN2 installation recipe!\n" 0 36 (:parent #205)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #179))) :mode nil :granularity nil :parent #172) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #179) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #182) #("GNU Guix allows for " 0 20 (:parent #185)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #185) #("reproducible deployment" 0 23 (:parent #189))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #185))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #182)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #182) #("Next build guix (and run) following the instructions in " 0 56 (:parent #187)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #187) #("guix-notes" 0 10 (:parent #191))) #(".\n" 0 2 (:parent #187))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #182) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #188))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #182)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #182) #("So\n" 0 3 (:parent #190))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #182) #("#+begin" 0 7 (:parent #191)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #191) #("src" 0 3 (:parent #195))) #("sh :lang bash\n#+begin" 0 23 (:parent #191)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #191) #("src" 0 3 (:parent #197))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #191)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #191) #("PACKAGE" 0 7 (:parent #199))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #191) #("PATH" 0 4 (:parent #200))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #191)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #191) #("src" 0 3 (:parent #202))) #("sh :lang bash\n" 0 16 (:parent #191))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #182) #("Install with\n" 0 13 (:parent #192))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #182) #("#+begin" 0 7 (:parent #193)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #193) #("src" 0 3 (:parent #197))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #193)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #193) #("PACKAGE" 0 7 (:parent #199))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #193) #("PATH" 0 4 (:parent #200))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #193)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #193) #("src" 0 3 (:parent #202))) #("sh :lang bash\n" 0 16 (:parent #193))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #180))) :mode nil :granularity nil :parent #172) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #180) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #183)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #181))) :mode nil :granularity nil :parent #172) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #181) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #184) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #187))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #184) #("First execute above 4 steps:\n" 0 29 (:parent #188))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #184) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #192) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #195) #("Step 1: Install GNU Guix" 0 24 (:parent #198))) #("\n" 0 1 (:parent #195)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #193) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #196) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #199))) #("\n" 0 1 (:parent #196)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #194) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #197) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #200))) #("\n" 0 1 (:parent #197)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #195) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #198) #("Step 4: Install and run GN2 " 0 28 (:parent #201))) #("\n" 0 1 (:parent #198)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #185))) :mode nil :granularity nil :parent #181) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #185) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #188) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #191)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #191)) #(".\n" 0 2 (:parent #191))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #188) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #192)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #192) #("PATH" 0 4 (:parent #196))) #("and\nR" 0 5 (:parent #192)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #192) #("LIBS" 0 4 (:parent #198))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #192) #("SITE" 0 4 (:parent #199))) #("are set) from the information given by guix:\n" 0 45 (:parent #192))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #188)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #188) #("Inside the repository:\n" 0 23 (:parent #194))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #188)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #188) #("Will fire up your local repo " 0 29 (:parent #196)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #196)) #("using the\nsettings in ./etc/default" 0 35 (:parent #196)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #196) #("settings.py" 0 11 (:parent #202))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #196)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #196) #("settings.py" 0 11 (:parent #204))) #("and pass it into GN2 with\n" 0 26 (:parent #196))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #188)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #188) #("and everything " 0 15 (:parent #198)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #198) #("should" 0 6 (:parent #202))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #198))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #188) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #199))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #188)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #186))) :mode nil :granularity nil :parent #181) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #186) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #189) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #192))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #189) #("#+begin" 0 7 (:parent #193)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #193) #("src" 0 3 (:parent #197))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #193)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #193) #("name" 0 4 (:parent #199))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #193)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #193) #("log" 0 3 (:parent #201))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #193))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #189) #(" proxy" 0 13 (:parent #194)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #194) #("connect" 0 7 (:parent #198))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #194) #("timeout" 0 7 (:parent #199))) #("3000;\n proxy" 0 19 (:parent #194)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #194) #("send" 0 4 (:parent #201))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #194) #("timeout" 0 7 (:parent #202))) #("3000;\n proxy" 0 19 (:parent #194)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #194) #("read" 0 4 (:parent #204))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #194) #("timeout" 0 7 (:parent #205))) #("3000;\n send" 0 18 (:parent #194)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #194) #("timeout" 0 7 (:parent #207))) #("3000;\n" 0 6 (:parent #194))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #189) #(" location / {\n proxy" 0 38 (:parent #195)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #195) #("set" 0 3 (:parent #199))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #195) #("header" 0 6 (:parent #200))) #("Host $http" 0 15 (:parent #195)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #195) #("host" 0 4 (:parent #202))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #195) #("set" 0 3 (:parent #204))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #195) #("header" 0 6 (:parent #205))) #("Connection keep-alive;\n proxy" 0 40 (:parent #195)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #195) #("set" 0 3 (:parent #207))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #195) #("header" 0 6 (:parent #208))) #("X-Real-IP $remote" 0 17 (:parent #195)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #195) #("addr" 0 4 (:parent #210))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #195) #("set" 0 3 (:parent #212))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #195) #("header" 0 6 (:parent #213))) #("X-Forwarded-For $proxy" 0 22 (:parent #195)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #195) #("add" 0 3 (:parent #215))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #195) #("x" 0 1 (:parent #216))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #195) #("forwarded" 0 9 (:parent #217))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #195) #("for" 0 3 (:parent #218))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #195) #("set" 0 3 (:parent #220))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #195) #("header" 0 6 (:parent #221))) #("X-Forwarded-Host $server" 0 24 (:parent #195)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #195) #("name" 0 4 (:parent #223))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #195) #("pass" 0 4 (:parent #225))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #195)) #(";\n }\n}\n#+end" 0 19 (:parent #195)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #195) #("src" 0 3 (:parent #228))) #("js\n" 0 3 (:parent #195))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #189) #("Install the nginx webserver (as root)\n" 0 38 (:parent #196))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #189)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #189) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #198))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #189)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #189) #("Use that path\n" 0 14 (:parent #200))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #189)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #189) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #202))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #189)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #189) #("Make dirs\n" 0 10 (:parent #204))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #189)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #189) #("Add users\n" 0 10 (:parent #206))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #189)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #189) #("Run nginx\n" 0 10 (:parent #208))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #189))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #182))) :mode nil :granularity nil :parent #172) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #182) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #185) #("See the document " 0 17 (:parent #188)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #188)) #(".\n" 0 2 (:parent #188)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #186))) :mode nil :granularity nil :parent #182) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #186) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #189) #("We now compile Guix from scratch.\n" 0 34 (:parent #192))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #189) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #193)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #193) #("these" 0 5 (:parent #197))) #("steps carefully after\n" 0 22 (:parent #193))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #189)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #189) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #195))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #187))) :mode nil :granularity nil :parent #182) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #187) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #190) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #193))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #190) #("#+begin" 0 7 (:parent #194)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #194) #("src" 0 3 (:parent #198))) #("bash\nenv GUIX" 0 13 (:parent #194)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #194) #("PACKAGE" 0 7 (:parent #200))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #194) #("PATH" 0 4 (:parent #201))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #194)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #194)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #194)) #("\"\n#+end" 0 7 (:parent #194)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #194) #("src" 0 3 (:parent #206))) #("bash\n" 0 5 (:parent #194))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #190) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #195))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #190) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #196))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #188))) :mode nil :granularity nil :parent #182) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #188) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #191) #("Make a note of the paths with\n" 0 30 (:parent #194))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #191) #("#+begin" 0 7 (:parent #195)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #195) #("src" 0 3 (:parent #199))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #195)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #195) #("src" 0 3 (:parent #201))) #("bash\n" 0 5 (:parent #195))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #191) #("or this should also work if guix is installed\n" 0 46 (:parent #196))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #191) #("#+begin" 0 7 (:parent #197)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #197) #("src" 0 3 (:parent #201))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #197)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #197) #("src" 0 3 (:parent #203))) #("bash\n" 0 5 (:parent #197))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #191) #("After setting the paths for the server\n" 0 39 (:parent #198))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #191) #("#+begin" 0 7 (:parent #199)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #199) #("src" 0 3 (:parent #203))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #199)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #199) #("LIBS" 0 4 (:parent #205))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #199) #("SITE" 0 4 (:parent #206))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #199)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #199) #("GTK3" 0 4 (:parent #208))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #199) #("PATH" 0 4 (:parent #209))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #199)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #199) #("TYPELIB" 0 7 (:parent #211))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #199) #("PATH" 0 4 (:parent #212))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #199)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #199) #("DATA" 0 4 (:parent #214))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #199) #("DIRS" 0 4 (:parent #215))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #199)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #199) #("EXTRA" 0 5 (:parent #217))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #199) #("MODULES" 0 7 (:parent #218))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #199)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #199) #("src" 0 3 (:parent #220))) #("bash\n" 0 5 (:parent #199))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #191) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #200))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #191) #("#+begin" 0 7 (:parent #201)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #201) #("src" 0 3 (:parent #205))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #201)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #201) #("src" 0 3 (:parent #207))) #("bash\n" 0 5 (:parent #201)))))))) #102)) #78)) #46 (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #82) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #85) #("Binary deployment through GNU Guix" 0 34 (:parent #88))) #("\n" 0 1 (:parent #85))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #82) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #89) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #92) #("Quick installation recipe" 0 25 (:parent #95))) #("\n" 0 1 (:parent #92)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #90) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #93) #("Step 1: Install GNU Guix" 0 24 (:parent #96))) #("\n" 0 1 (:parent #93)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #91) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #94) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #97))) #("\n" 0 1 (:parent #94)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #95) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #98))) #("\n" 0 1 (:parent #95)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #96) #("Step 4: Install and run GN2" 0 27 (:parent #99))) #("\n" 0 1 (:parent #96)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #83) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #86) #("From source deployment" 0 22 (:parent #89))) #("\n" 0 1 (:parent #86)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #84) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #87) #("Create archive" 0 14 (:parent #90))) #("\n" 0 1 (:parent #87)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #85) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #88) #("Source deployment" 0 17 (:parent #91))) #("\n" 0 1 (:parent #88))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #85) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #89) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #95) #("Run your own copy of GN2" 0 24 (:parent #98))) #("\n" 0 1 (:parent #95)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #89) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #96) #("Set up nginx port forwarding" 0 28 (:parent #99))) #("\n" 0 1 (:parent #96)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #86) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #89) #("Source deployment and other information on reproducibility" 0 58 (:parent #92))) #("\n" 0 1 (:parent #89))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #86) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #96) #("Update to recent guix" 0 21 (:parent #99))) #("\n" 0 1 (:parent #96)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #94) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #97) #("Install GN2" 0 11 (:parent #100))) #("\n" 0 1 (:parent #97)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #95) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #98) #("Run GN2" 0 7 (:parent #101))) #("\n" 0 1 (:parent #98)))))))) #26)) #0 #("\n" 0 1 (:parent #26)))) #("Introduction" 0 12 (:parent #0))))
mapconcat(#f(compiled-function (element) #) ((link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #127))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #173) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #176))) #127 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #178))) :mode nil :granularity nil :parent #173) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #178) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #181) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #184)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #184) #("Guix-notes" 0 10 (:parent #188))) #("and the main " 0 13 (:parent #184)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #184)) #("doc).\n" 0 6 (:parent #184))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #179))) :mode nil :granularity nil :parent #173) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #182))) :mode section :granularity nil :parent #179) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #182) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #185) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #188))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #185) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #189))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #183))) :mode nil :granularity nil :parent #179) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #183) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #186) #("Fetch the GNU Guix binary from " 0 31 (:parent #189)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #189) #("here" 0 4 (:parent #193))) #("(middle panel) and follow\n" 0 26 (:parent #189)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #189) #("instructions" 0 12 (:parent #195))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #189))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #186) #("Once you have succeeded, you have to " 0 37 (:parent #190)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #190) #("set the key" 0 11 (:parent #194))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #190))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #186)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #186) #("Which should show something like\n" 0 33 (:parent #192))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #186)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #186) #("#+end" 0 5 (:parent #194)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #194) #("src" 0 3 (:parent #198))) #("\n" 0 1 (:parent #194))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #186) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #195))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #186)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #186) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #197))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #186) #("If you need more help we have another writeup in " 0 49 (:parent #198)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #198) #("guix-notes" 0 10 (:parent #202))) #(". To get\nrid of the locale warning see " 0 39 (:parent #198)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #198) #("set-locale" 0 10 (:parent #204))) #(".\n" 0 2 (:parent #198))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #184))) :mode nil :granularity nil :parent #179) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #184) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #187) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #190))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #187)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #187) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #192))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #187) #("#+begin" 0 7 (:parent #193)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #193) #("src" 0 3 (:parent #197))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #193)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #193)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #193)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #193)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #193)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #193) #("src" 0 3 (:parent #203))) #("bash\n" 0 5 (:parent #193))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #187) #("To test whether this is working try:\n" 0 37 (:parent #194))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #187) #("#+begin" 0 7 (:parent #195)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #195) #("src" 0 3 (:parent #199))) #("bash\n#+end" 0 10 (:parent #195)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #195) #("src" 0 3 (:parent #201))) #("bash\n" 0 5 (:parent #195))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #185))) :mode nil :granularity nil :parent #179) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #185) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #188) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #191))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #188)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #188) #("by pasting it into the command\n" 0 31 (:parent #193))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #188)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #188) #("and hit Ctrl-D.\n" 0 16 (:parent #195))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #188) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #196))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #186))) :mode nil :granularity nil :parent #179) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #186) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #189) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #192))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #189)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #189) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #194))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #189)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #189) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #196)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #196) #("root" 0 4 (:parent #200))) #(".config/guix/latest override).\n" 0 31 (:parent #196))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #189) #("And install with\n" 0 17 (:parent #197))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #189)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #189) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #199))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #189) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #200))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #189) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #201))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #189)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #189) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #203))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #189)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #189) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #205)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #205)) #(".\n" 0 2 (:parent #205))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #189) #("End of the GN2 installation recipe!\n" 0 36 (:parent #206)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #180))) :mode nil :granularity nil :parent #173) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #180) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #183) #("GNU Guix allows for " 0 20 (:parent #186)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #186) #("reproducible deployment" 0 23 (:parent #190))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #186))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #183)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #183) #("Next build guix (and run) following the instructions in " 0 56 (:parent #188)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #188) #("guix-notes" 0 10 (:parent #192))) #(".\n" 0 2 (:parent #188))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #183) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #189))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #183)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #183) #("So\n" 0 3 (:parent #191))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #183) #("#+begin" 0 7 (:parent #192)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #192) #("src" 0 3 (:parent #196))) #("sh :lang bash\n#+begin" 0 23 (:parent #192)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #192) #("src" 0 3 (:parent #198))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #192)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #192) #("PACKAGE" 0 7 (:parent #200))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #192) #("PATH" 0 4 (:parent #201))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #192)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #192) #("src" 0 3 (:parent #203))) #("sh :lang bash\n" 0 16 (:parent #192))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #183) #("Install with\n" 0 13 (:parent #193))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #183) #("#+begin" 0 7 (:parent #194)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #194) #("src" 0 3 (:parent #198))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #194)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #194) #("PACKAGE" 0 7 (:parent #200))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #194) #("PATH" 0 4 (:parent #201))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #194)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #194) #("src" 0 3 (:parent #203))) #("sh :lang bash\n" 0 16 (:parent #194))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #181))) :mode nil :granularity nil :parent #173) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #181) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #184)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #182))) :mode nil :granularity nil :parent #173) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #182) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #185) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #188))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #185) #("First execute above 4 steps:\n" 0 29 (:parent #189))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #185) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #190) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #193) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #196) #("Step 1: Install GNU Guix" 0 24 (:parent #199))) #("\n" 0 1 (:parent #196)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #190) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #194) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #197) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #200))) #("\n" 0 1 (:parent #197)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #190) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #195) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #198) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #201))) #("\n" 0 1 (:parent #198)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #190) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #196) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #199) #("Step 4: Install and run GN2 " 0 28 (:parent #202))) #("\n" 0 1 (:parent #199)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #186))) :mode nil :granularity nil :parent #182) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #186) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #189) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #192)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #192)) #(".\n" 0 2 (:parent #192))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #189) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #193)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #193) #("PATH" 0 4 (:parent #197))) #("and\nR" 0 5 (:parent #193)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #193) #("LIBS" 0 4 (:parent #199))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #193) #("SITE" 0 4 (:parent #200))) #("are set) from the information given by guix:\n" 0 45 (:parent #193))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #189)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #189) #("Inside the repository:\n" 0 23 (:parent #195))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #189)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #189) #("Will fire up your local repo " 0 29 (:parent #197)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #197)) #("using the\nsettings in ./etc/default" 0 35 (:parent #197)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #197) #("settings.py" 0 11 (:parent #203))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #197)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #197) #("settings.py" 0 11 (:parent #205))) #("and pass it into GN2 with\n" 0 26 (:parent #197))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #189)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #189) #("and everything " 0 15 (:parent #199)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #199) #("should" 0 6 (:parent #203))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #199))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #189) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #200))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #189)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #187))) :mode nil :granularity nil :parent #182) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #187) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #190) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #193))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #190) #("#+begin" 0 7 (:parent #194)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #194) #("src" 0 3 (:parent #198))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #194)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #194) #("name" 0 4 (:parent #200))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #194)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #194) #("log" 0 3 (:parent #202))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #194))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #190) #(" proxy" 0 13 (:parent #195)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #195) #("connect" 0 7 (:parent #199))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #195) #("timeout" 0 7 (:parent #200))) #("3000;\n proxy" 0 19 (:parent #195)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #195) #("send" 0 4 (:parent #202))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #195) #("timeout" 0 7 (:parent #203))) #("3000;\n proxy" 0 19 (:parent #195)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #195) #("read" 0 4 (:parent #205))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #195) #("timeout" 0 7 (:parent #206))) #("3000;\n send" 0 18 (:parent #195)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #195) #("timeout" 0 7 (:parent #208))) #("3000;\n" 0 6 (:parent #195))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #190) #(" location / {\n proxy" 0 38 (:parent #196)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #196) #("set" 0 3 (:parent #200))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #196) #("header" 0 6 (:parent #201))) #("Host $http" 0 15 (:parent #196)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #196) #("host" 0 4 (:parent #203))) #(";\n proxy" 0 19 (:parent #196)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #196) #("set" 0 3 (:parent #205))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #196) #("header" 0 6 (:parent #206))) #("Connection keep-alive;\n proxy" 0 40 (:parent #196)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #196) #("set" 0 3 (:parent #208))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #196) #("header" 0 6 (:parent #209))) #("X-Real-IP $remote" 0 17 (:parent #196)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #196) #("addr" 0 4 (:parent #211))) #(";\n proxy" 0 19 (:parent #196)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #196) #("set" 0 3 (:parent #213))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #196) #("header" 0 6 (:parent #214))) #("X-Forwarded-For $proxy" 0 22 (:parent #196)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #196) #("add" 0 3 (:parent #216))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #196) #("x" 0 1 (:parent #217))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #196) #("forwarded" 0 9 (:parent #218))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #196) #("for" 0 3 (:parent #219))) #(";\n proxy" 0 19 (:parent #196)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #196) #("set" 0 3 (:parent #221))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #196) #("header" 0 6 (:parent #222))) #("X-Forwarded-Host $server" 0 24 (:parent #196)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #196) #("name" 0 4 (:parent #224))) #(";\n proxy" 0 19 (:parent #196)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #196) #("pass" 0 4 (:parent #226))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #196)) #(";\n }\n}\n#+end" 0 19 (:parent #196)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #196) #("src" 0 3 (:parent #229))) #("js\n" 0 3 (:parent #196))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #190) #("Install the nginx webserver (as root)\n" 0 38 (:parent #197))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #190)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #190) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #199))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #190)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #190) #("Use that path\n" 0 14 (:parent #201))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #190)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #190) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #203))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #190)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #190) #("Make dirs\n" 0 10 (:parent #205))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #190)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #190) #("Add users\n" 0 10 (:parent #207))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #190)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #190) #("Run nginx\n" 0 10 (:parent #209))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #190))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #183))) :mode nil :granularity nil :parent #173) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #183) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #186) #("See the document " 0 17 (:parent #189)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #189)) #(".\n" 0 2 (:parent #189)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #187))) :mode nil :granularity nil :parent #183) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #187) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #190) #("We now compile Guix from scratch.\n" 0 34 (:parent #193))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #190) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #194)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #194) #("these" 0 5 (:parent #198))) #("steps carefully after\n" 0 22 (:parent #194))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #190)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #190) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #196))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #188))) :mode nil :granularity nil :parent #183) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #188) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #191) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #194))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #191) #("#+begin" 0 7 (:parent #195)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #195) #("src" 0 3 (:parent #199))) #("bash\nenv GUIX" 0 13 (:parent #195)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #195) #("PACKAGE" 0 7 (:parent #201))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #195) #("PATH" 0 4 (:parent #202))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #195)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #195)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #195)) #("\"\n#+end" 0 7 (:parent #195)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #195) #("src" 0 3 (:parent #207))) #("bash\n" 0 5 (:parent #195))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #191) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #196))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #191) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #197))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #189))) :mode nil :granularity nil :parent #183) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #189) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #192) #("Make a note of the paths with\n" 0 30 (:parent #195))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #192) #("#+begin" 0 7 (:parent #196)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #196) #("src" 0 3 (:parent #200))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #196)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #196) #("src" 0 3 (:parent #202))) #("bash\n" 0 5 (:parent #196))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #192) #("or this should also work if guix is installed\n" 0 46 (:parent #197))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #192) #("#+begin" 0 7 (:parent #198)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #198) #("src" 0 3 (:parent #202))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #198)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #198) #("src" 0 3 (:parent #204))) #("bash\n" 0 5 (:parent #198))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #192) #("After setting the paths for the server\n" 0 39 (:parent #199))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #192) #("#+begin" 0 7 (:parent #200)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #200) #("src" 0 3 (:parent #204))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #200)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #200) #("LIBS" 0 4 (:parent #206))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #200) #("SITE" 0 4 (:parent #207))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #200)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #200) #("GTK3" 0 4 (:parent #209))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #200) #("PATH" 0 4 (:parent #210))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #200)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #200) #("TYPELIB" 0 7 (:parent #212))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #200) #("PATH" 0 4 (:parent #213))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #200)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #200) #("DATA" 0 4 (:parent #215))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #200) #("DIRS" 0 4 (:parent #216))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #200)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #200) #("EXTRA" 0 5 (:parent #218))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #200) #("MODULES" 0 7 (:parent #219))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #200)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #200) #("src" 0 3 (:parent #221))) #("bash\n" 0 5 (:parent #200))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #192) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #201))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #192) #("#+begin" 0 7 (:parent #202)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #202) #("src" 0 3 (:parent #206))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #202)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #202) #("src" 0 3 (:parent #208))) #("bash\n" 0 5 (:parent #202)))))))) #103)) #79)) #47 (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #79) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #83) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #86) #("Binary deployment through GNU Guix" 0 34 (:parent #89))) #("\n" 0 1 (:parent #86))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #83) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #90) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #93) #("Quick installation recipe" 0 25 (:parent #96))) #("\n" 0 1 (:parent #93)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #91) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #94) #("Step 1: Install GNU Guix" 0 24 (:parent #97))) #("\n" 0 1 (:parent #94)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #95) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #98))) #("\n" 0 1 (:parent #95)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #96) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #99))) #("\n" 0 1 (:parent #96)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #94) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #97) #("Step 4: Install and run GN2" 0 27 (:parent #100))) #("\n" 0 1 (:parent #97)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #79) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #84) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #87) #("From source deployment" 0 22 (:parent #90))) #("\n" 0 1 (:parent #87)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #79) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #85) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #88) #("Create archive" 0 14 (:parent #91))) #("\n" 0 1 (:parent #88)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #79) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #86) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #89) #("Source deployment" 0 17 (:parent #92))) #("\n" 0 1 (:parent #89))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #86) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #96) #("Run your own copy of GN2" 0 24 (:parent #99))) #("\n" 0 1 (:parent #96)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #94) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #97) #("Set up nginx port forwarding" 0 28 (:parent #100))) #("\n" 0 1 (:parent #97)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #79) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #87) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #90) #("Source deployment and other information on reproducibility" 0 58 (:parent #93))) #("\n" 0 1 (:parent #90))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #87) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #91) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #94) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #97) #("Update to recent guix" 0 21 (:parent #100))) #("\n" 0 1 (:parent #97)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #91) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #95) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #98) #("Install GN2" 0 11 (:parent #101))) #("\n" 0 1 (:parent #98)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #91) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #96) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #99) #("Run GN2" 0 7 (:parent #102))) #("\n" 0 1 (:parent #99)))))))) #27)) . #0)) #("Introduction" 0 12 (:parent #1))) #("\n" 0 1 (:parent (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #105))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #151) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #154))) #105 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #156))) :mode nil :granularity nil :parent #151) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #156) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #159) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #162)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #162) #("Guix-notes" 0 10 (:parent #166))) #("and the main " 0 13 (:parent #162)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #162)) #("doc).\n" 0 6 (:parent #162))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #157))) :mode nil :granularity nil :parent #151) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #160))) :mode section :granularity nil :parent #157) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #160) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #163) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #166))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #163) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #167))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #161))) :mode nil :granularity nil :parent #157) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #161) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #164) #("Fetch the GNU Guix binary from " 0 31 (:parent #167)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #167) #("here" 0 4 (:parent #171))) #("(middle panel) and follow\n" 0 26 (:parent #167)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #167) #("instructions" 0 12 (:parent #173))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #167))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #164) #("Once you have succeeded, you have to " 0 37 (:parent #168)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #168) #("set the key" 0 11 (:parent #172))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #168))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #164)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #164) #("Which should show something like\n" 0 33 (:parent #170))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #164)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #164) #("#+end" 0 5 (:parent #172)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #172) #("src" 0 3 (:parent #176))) #("\n" 0 1 (:parent #172))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #164) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #173))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #164)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #164) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #175))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #164) #("If you need more help we have another writeup in " 0 49 (:parent #176)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #176) #("guix-notes" 0 10 (:parent #180))) #(". To get\nrid of the locale warning see " 0 39 (:parent #176)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #176) #("set-locale" 0 10 (:parent #182))) #(".\n" 0 2 (:parent #176))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #162))) :mode nil :granularity nil :parent #157) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #162) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #165) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #168))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #165)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #165) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #170))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #165) #("#+begin" 0 7 (:parent #171)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #171) #("src" 0 3 (:parent #175))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #171)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #171)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #171)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #171)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #171)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #171) #("src" 0 3 (:parent #181))) #("bash\n" 0 5 (:parent #171))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #165) #("To test whether this is working try:\n" 0 37 (:parent #172))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #165) #("#+begin" 0 7 (:parent #173)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #173) #("src" 0 3 (:parent #177))) #("bash\n#+end" 0 10 (:parent #173)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #173) #("src" 0 3 (:parent #179))) #("bash\n" 0 5 (:parent #173))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #163))) :mode nil :granularity nil :parent #157) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #163) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #166) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #169))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #166)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #166) #("by pasting it into the command\n" 0 31 (:parent #171))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #166)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #166) #("and hit Ctrl-D.\n" 0 16 (:parent #173))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #166) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #174))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #164))) :mode nil :granularity nil :parent #157) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #164) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #167) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #170))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #167)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #167) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #172))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #167)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #167) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #174)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #174) #("root" 0 4 (:parent #178))) #(".config/guix/latest override).\n" 0 31 (:parent #174))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #167) #("And install with\n" 0 17 (:parent #175))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #167)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #167) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #177))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #167) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #178))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #167) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #179))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #167)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #167) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #181))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #167)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #167) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #183)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #183)) #(".\n" 0 2 (:parent #183))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #167) #("End of the GN2 installation recipe!\n" 0 36 (:parent #184)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #158))) :mode nil :granularity nil :parent #151) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #158) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #161) #("GNU Guix allows for " 0 20 (:parent #164)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #164) #("reproducible deployment" 0 23 (:parent #168))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #164))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #161)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #161) #("Next build guix (and run) following the instructions in " 0 56 (:parent #166)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #166) #("guix-notes" 0 10 (:parent #170))) #(".\n" 0 2 (:parent #166))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #161) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #167))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #161)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #161) #("So\n" 0 3 (:parent #169))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #161) #("#+begin" 0 7 (:parent #170)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #170) #("src" 0 3 (:parent #174))) #("sh :lang bash\n#+begin" 0 23 (:parent #170)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #170) #("src" 0 3 (:parent #176))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #170)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #170) #("PACKAGE" 0 7 (:parent #178))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #170) #("PATH" 0 4 (:parent #179))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #170)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #170) #("src" 0 3 (:parent #181))) #("sh :lang bash\n" 0 16 (:parent #170))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #161) #("Install with\n" 0 13 (:parent #171))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #161) #("#+begin" 0 7 (:parent #172)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #172) #("src" 0 3 (:parent #176))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #172)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #172) #("PACKAGE" 0 7 (:parent #178))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #172) #("PATH" 0 4 (:parent #179))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #172)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #172) #("src" 0 3 (:parent #181))) #("sh :lang bash\n" 0 16 (:parent #172))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #159))) :mode nil :granularity nil :parent #151) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #159) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #162)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #160))) :mode nil :granularity nil :parent #151) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #160) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #163) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #166))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #163) #("First execute above 4 steps:\n" 0 29 (:parent #167))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #163) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #168) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #171) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #174) #("Step 1: Install GNU Guix" 0 24 (:parent #177))) #("\n" 0 1 (:parent #174)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #168) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #172) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #175) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #178))) #("\n" 0 1 (:parent #175)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #168) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #173) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #176) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #179))) #("\n" 0 1 (:parent #176)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #168) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #174) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #177) #("Step 4: Install and run GN2 " 0 28 (:parent #180))) #("\n" 0 1 (:parent #177)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #164))) :mode nil :granularity nil :parent #160) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #164) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #167) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #170)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #170)) #(".\n" 0 2 (:parent #170))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #167) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #171)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #171) #("PATH" 0 4 (:parent #175))) #("and\nR" 0 5 (:parent #171)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #171) #("LIBS" 0 4 (:parent #177))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #171) #("SITE" 0 4 (:parent #178))) #("are set) from the information given by guix:\n" 0 45 (:parent #171))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #167)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #167) #("Inside the repository:\n" 0 23 (:parent #173))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #167)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #167) #("Will fire up your local repo " 0 29 (:parent #175)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #175)) #("using the\nsettings in ./etc/default" 0 35 (:parent #175)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #175) #("settings.py" 0 11 (:parent #181))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #175)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #175) #("settings.py" 0 11 (:parent #183))) #("and pass it into GN2 with\n" 0 26 (:parent #175))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #167)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #167) #("and everything " 0 15 (:parent #177)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #177) #("should" 0 6 (:parent #181))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #177))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #167) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #178))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #167)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #165))) :mode nil :granularity nil :parent #160) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #165) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #168) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #171))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #168) #("#+begin" 0 7 (:parent #172)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #172) #("src" 0 3 (:parent #176))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #172)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #172) #("name" 0 4 (:parent #178))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #172)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #172) #("log" 0 3 (:parent #180))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #172))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #168) #(" proxy" 0 13 (:parent #173)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #173) #("connect" 0 7 (:parent #177))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #173) #("timeout" 0 7 (:parent #178))) #("3000;\n proxy" 0 19 (:parent #173)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #173) #("send" 0 4 (:parent #180))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #173) #("timeout" 0 7 (:parent #181))) #("3000;\n proxy" 0 19 (:parent #173)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #173) #("read" 0 4 (:parent #183))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #173) #("timeout" 0 7 (:parent #184))) #("3000;\n send" 0 18 (:parent #173)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #173) #("timeout" 0 7 (:parent #186))) #("3000;\n" 0 6 (:parent #173))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #168) #(" location / {\n proxy" 0 38 (:parent #174)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #174) #("set" 0 3 (:parent #178))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #174) #("header" 0 6 (:parent #179))) #("Host $http" 0 15 (:parent #174)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #174) #("host" 0 4 (:parent #181))) #(";\n proxy" 0 19 (:parent #174)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #174) #("set" 0 3 (:parent #183))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #174) #("header" 0 6 (:parent #184))) #("Connection keep-alive;\n proxy" 0 40 (:parent #174)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #174) #("set" 0 3 (:parent #186))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #174) #("header" 0 6 (:parent #187))) #("X-Real-IP $remote" 0 17 (:parent #174)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #174) #("addr" 0 4 (:parent #189))) #(";\n proxy" 0 19 (:parent #174)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #174) #("set" 0 3 (:parent #191))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #174) #("header" 0 6 (:parent #192))) #("X-Forwarded-For $proxy" 0 22 (:parent #174)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #174) #("add" 0 3 (:parent #194))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #174) #("x" 0 1 (:parent #195))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #174) #("forwarded" 0 9 (:parent #196))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #174) #("for" 0 3 (:parent #197))) #(";\n proxy" 0 19 (:parent #174)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #174) #("set" 0 3 (:parent #199))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #174) #("header" 0 6 (:parent #200))) #("X-Forwarded-Host $server" 0 24 (:parent #174)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #174) #("name" 0 4 (:parent #202))) #(";\n proxy" 0 19 (:parent #174)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #174) #("pass" 0 4 (:parent #204))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #174)) #(";\n }\n}\n#+end" 0 19 (:parent #174)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #174) #("src" 0 3 (:parent #207))) #("js\n" 0 3 (:parent #174))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #168) #("Install the nginx webserver (as root)\n" 0 38 (:parent #175))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #168)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #168) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #177))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #168)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #168) #("Use that path\n" 0 14 (:parent #179))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #168)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #168) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #181))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #168)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #168) #("Make dirs\n" 0 10 (:parent #183))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #168)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #168) #("Add users\n" 0 10 (:parent #185))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #168)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #168) #("Run nginx\n" 0 10 (:parent #187))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #168))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #161))) :mode nil :granularity nil :parent #151) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #161) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #164) #("See the document " 0 17 (:parent #167)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #167)) #(".\n" 0 2 (:parent #167)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #165))) :mode nil :granularity nil :parent #161) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #165) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #168) #("We now compile Guix from scratch.\n" 0 34 (:parent #171))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #168) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #172)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #172) #("these" 0 5 (:parent #176))) #("steps carefully after\n" 0 22 (:parent #172))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #168)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #168) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #174))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #166))) :mode nil :granularity nil :parent #161) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #166) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #169) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #172))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #169) #("#+begin" 0 7 (:parent #173)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #173) #("src" 0 3 (:parent #177))) #("bash\nenv GUIX" 0 13 (:parent #173)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #173) #("PACKAGE" 0 7 (:parent #179))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #173) #("PATH" 0 4 (:parent #180))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #173)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #173)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #173)) #("\"\n#+end" 0 7 (:parent #173)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #173) #("src" 0 3 (:parent #185))) #("bash\n" 0 5 (:parent #173))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #169) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #174))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #169) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #175))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #167))) :mode nil :granularity nil :parent #161) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #167) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #170) #("Make a note of the paths with\n" 0 30 (:parent #173))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #170) #("#+begin" 0 7 (:parent #174)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #174) #("src" 0 3 (:parent #178))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #174)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #174) #("src" 0 3 (:parent #180))) #("bash\n" 0 5 (:parent #174))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #170) #("or this should also work if guix is installed\n" 0 46 (:parent #175))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #170) #("#+begin" 0 7 (:parent #176)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #176) #("src" 0 3 (:parent #180))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #176)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #176) #("src" 0 3 (:parent #182))) #("bash\n" 0 5 (:parent #176))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #170) #("After setting the paths for the server\n" 0 39 (:parent #177))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #170) #("#+begin" 0 7 (:parent #178)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #178) #("src" 0 3 (:parent #182))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #178)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #178) #("LIBS" 0 4 (:parent #184))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #178) #("SITE" 0 4 (:parent #185))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #178)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #178) #("GTK3" 0 4 (:parent #187))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #178) #("PATH" 0 4 (:parent #188))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #178)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #178) #("TYPELIB" 0 7 (:parent #190))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #178) #("PATH" 0 4 (:parent #191))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #178)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #178) #("DATA" 0 4 (:parent #193))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #178) #("DIRS" 0 4 (:parent #194))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #178)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #178) #("EXTRA" 0 5 (:parent #196))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #178) #("MODULES" 0 7 (:parent #197))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #178)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #178) #("src" 0 3 (:parent #199))) #("bash\n" 0 5 (:parent #178))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #170) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #179))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #170) #("#+begin" 0 7 (:parent #180)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #180) #("src" 0 3 (:parent #184))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #180)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #180) #("src" 0 3 (:parent #186))) #("bash\n" 0 5 (:parent #180)))))))) #81)) #57)) #25 (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #57) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #61) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #64) #("Binary deployment through GNU Guix" 0 34 (:parent #67))) #("\n" 0 1 (:parent #64))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #61) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #71) #("Quick installation recipe" 0 25 (:parent #74))) #("\n" 0 1 (:parent #71)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #69) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #72) #("Step 1: Install GNU Guix" 0 24 (:parent #75))) #("\n" 0 1 (:parent #72)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #70) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #73) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #76))) #("\n" 0 1 (:parent #73)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #71) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #74) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #77))) #("\n" 0 1 (:parent #74)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #72) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #75) #("Step 4: Install and run GN2" 0 27 (:parent #78))) #("\n" 0 1 (:parent #75)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #57) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #62) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #65) #("From source deployment" 0 22 (:parent #68))) #("\n" 0 1 (:parent #65)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #57) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #63) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #66) #("Create archive" 0 14 (:parent #69))) #("\n" 0 1 (:parent #66)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #57) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #64) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #67) #("Source deployment" 0 17 (:parent #70))) #("\n" 0 1 (:parent #67))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #64) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #68) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #71) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #74) #("Run your own copy of GN2" 0 24 (:parent #77))) #("\n" 0 1 (:parent #74)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #68) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #72) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #75) #("Set up nginx port forwarding" 0 28 (:parent #78))) #("\n" 0 1 (:parent #75)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #57) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #65) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #68) #("Source deployment and other information on reproducibility" 0 58 (:parent #71))) #("\n" 0 1 (:parent #68))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #65) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #69) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #72) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #75) #("Update to recent guix" 0 21 (:parent #78))) #("\n" 0 1 (:parent #75)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #69) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #73) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #76) #("Install GN2" 0 11 (:parent #79))) #("\n" 0 1 (:parent #76)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #69) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #74) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #77) #("Run GN2" 0 7 (:parent #80))) #("\n" 0 1 (:parent #77)))))))) #5)) . #0)))) "")
org-export-data((paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #100))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #146) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #149))) #100 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #151))) :mode nil :granularity nil :parent #146) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #151) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #154) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #157)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #157) #("Guix-notes" 0 10 (:parent #161))) #("and the main " 0 13 (:parent #157)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #157)) #("doc).\n" 0 6 (:parent #157))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #152))) :mode nil :granularity nil :parent #146) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #155))) :mode section :granularity nil :parent #152) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #155) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #158) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #161))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #158) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #162))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #156))) :mode nil :granularity nil :parent #152) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #156) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #159) #("Fetch the GNU Guix binary from " 0 31 (:parent #162)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #162) #("here" 0 4 (:parent #166))) #("(middle panel) and follow\n" 0 26 (:parent #162)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #162) #("instructions" 0 12 (:parent #168))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #162))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #159) #("Once you have succeeded, you have to " 0 37 (:parent #163)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #163) #("set the key" 0 11 (:parent #167))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #163))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #159)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #159) #("Which should show something like\n" 0 33 (:parent #165))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #159)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #159) #("#+end" 0 5 (:parent #167)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #167) #("src" 0 3 (:parent #171))) #("\n" 0 1 (:parent #167))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #159) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #168))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #159)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #159) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #170))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #159) #("If you need more help we have another writeup in " 0 49 (:parent #171)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #171) #("guix-notes" 0 10 (:parent #175))) #(". To get\nrid of the locale warning see " 0 39 (:parent #171)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #171) #("set-locale" 0 10 (:parent #177))) #(".\n" 0 2 (:parent #171))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #157))) :mode nil :granularity nil :parent #152) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #157) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #160) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #163))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #160)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #160) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #165))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #160) #("#+begin" 0 7 (:parent #166)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #166) #("src" 0 3 (:parent #170))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #166)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #166)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #166)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #166)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #166)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #166) #("src" 0 3 (:parent #176))) #("bash\n" 0 5 (:parent #166))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #160) #("To test whether this is working try:\n" 0 37 (:parent #167))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #160) #("#+begin" 0 7 (:parent #168)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #168) #("src" 0 3 (:parent #172))) #("bash\n#+end" 0 10 (:parent #168)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #168) #("src" 0 3 (:parent #174))) #("bash\n" 0 5 (:parent #168))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #158))) :mode nil :granularity nil :parent #152) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #158) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #161) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #164))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #161)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #161) #("by pasting it into the command\n" 0 31 (:parent #166))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #161)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #161) #("and hit Ctrl-D.\n" 0 16 (:parent #168))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #161) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #169))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #159))) :mode nil :granularity nil :parent #152) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #159) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #162) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #165))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #162)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #162) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #167))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #162)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #162) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #169)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #169) #("root" 0 4 (:parent #173))) #(".config/guix/latest override).\n" 0 31 (:parent #169))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #162) #("And install with\n" 0 17 (:parent #170))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #162)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #162) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #172))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #162) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #173))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #162) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #174))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #162)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #162) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #176))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #162)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #162) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #178)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #178)) #(".\n" 0 2 (:parent #178))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #162) #("End of the GN2 installation recipe!\n" 0 36 (:parent #179)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #153))) :mode nil :granularity nil :parent #146) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #153) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #156) #("GNU Guix allows for " 0 20 (:parent #159)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #159) #("reproducible deployment" 0 23 (:parent #163))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #159))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #156)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #156) #("Next build guix (and run) following the instructions in " 0 56 (:parent #161)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #161) #("guix-notes" 0 10 (:parent #165))) #(".\n" 0 2 (:parent #161))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #156) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #162))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #156)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #156) #("So\n" 0 3 (:parent #164))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #156) #("#+begin" 0 7 (:parent #165)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #165) #("src" 0 3 (:parent #169))) #("sh :lang bash\n#+begin" 0 23 (:parent #165)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #165) #("src" 0 3 (:parent #171))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #165)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #165) #("PACKAGE" 0 7 (:parent #173))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #165) #("PATH" 0 4 (:parent #174))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #165)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #165) #("src" 0 3 (:parent #176))) #("sh :lang bash\n" 0 16 (:parent #165))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #156) #("Install with\n" 0 13 (:parent #166))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #156) #("#+begin" 0 7 (:parent #167)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #167) #("src" 0 3 (:parent #171))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #167)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #167) #("PACKAGE" 0 7 (:parent #173))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #167) #("PATH" 0 4 (:parent #174))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #167)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #167) #("src" 0 3 (:parent #176))) #("sh :lang bash\n" 0 16 (:parent #167))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #154))) :mode nil :granularity nil :parent #146) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #154) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #157)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #155))) :mode nil :granularity nil :parent #146) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #155) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #158) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #161))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #158) #("First execute above 4 steps:\n" 0 29 (:parent #162))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #158) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #166) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #169) #("Step 1: Install GNU Guix" 0 24 (:parent #172))) #("\n" 0 1 (:parent #169)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #167) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #170) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #173))) #("\n" 0 1 (:parent #170)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #168) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #171) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #174))) #("\n" 0 1 (:parent #171)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #169) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #172) #("Step 4: Install and run GN2 " 0 28 (:parent #175))) #("\n" 0 1 (:parent #172)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #159))) :mode nil :granularity nil :parent #155) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #159) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #162) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #165)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #165)) #(".\n" 0 2 (:parent #165))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #162) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #166)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #166) #("PATH" 0 4 (:parent #170))) #("and\nR" 0 5 (:parent #166)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #166) #("LIBS" 0 4 (:parent #172))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #166) #("SITE" 0 4 (:parent #173))) #("are set) from the information given by guix:\n" 0 45 (:parent #166))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #162)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #162) #("Inside the repository:\n" 0 23 (:parent #168))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #162)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #162) #("Will fire up your local repo " 0 29 (:parent #170)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #170)) #("using the\nsettings in ./etc/default" 0 35 (:parent #170)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #170) #("settings.py" 0 11 (:parent #176))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #170)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #170) #("settings.py" 0 11 (:parent #178))) #("and pass it into GN2 with\n" 0 26 (:parent #170))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #162)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #162) #("and everything " 0 15 (:parent #172)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #172) #("should" 0 6 (:parent #176))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #172))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #162) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #173))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #162)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #160))) :mode nil :granularity nil :parent #155) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #160) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #163) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #166))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #163) #("#+begin" 0 7 (:parent #167)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #167) #("src" 0 3 (:parent #171))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #167)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #167) #("name" 0 4 (:parent #173))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #167)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #167) #("log" 0 3 (:parent #175))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #167))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #163) #(" proxy" 0 13 (:parent #168)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #168) #("connect" 0 7 (:parent #172))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #168) #("timeout" 0 7 (:parent #173))) #("3000;\n proxy" 0 19 (:parent #168)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #168) #("send" 0 4 (:parent #175))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #168) #("timeout" 0 7 (:parent #176))) #("3000;\n proxy" 0 19 (:parent #168)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #168) #("read" 0 4 (:parent #178))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #168) #("timeout" 0 7 (:parent #179))) #("3000;\n send" 0 18 (:parent #168)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #168) #("timeout" 0 7 (:parent #181))) #("3000;\n" 0 6 (:parent #168))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #163) #(" location / {\n proxy" 0 38 (:parent #169)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #169) #("set" 0 3 (:parent #173))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #169) #("header" 0 6 (:parent #174))) #("Host $http" 0 15 (:parent #169)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #169) #("host" 0 4 (:parent #176))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #169) #("set" 0 3 (:parent #178))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #169) #("header" 0 6 (:parent #179))) #("Connection keep-alive;\n proxy" 0 40 (:parent #169)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #169) #("set" 0 3 (:parent #181))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #169) #("header" 0 6 (:parent #182))) #("X-Real-IP $remote" 0 17 (:parent #169)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #169) #("addr" 0 4 (:parent #184))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #169) #("set" 0 3 (:parent #186))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #169) #("header" 0 6 (:parent #187))) #("X-Forwarded-For $proxy" 0 22 (:parent #169)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #169) #("add" 0 3 (:parent #189))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #169) #("x" 0 1 (:parent #190))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #169) #("forwarded" 0 9 (:parent #191))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #169) #("for" 0 3 (:parent #192))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #169) #("set" 0 3 (:parent #194))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #169) #("header" 0 6 (:parent #195))) #("X-Forwarded-Host $server" 0 24 (:parent #169)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #169) #("name" 0 4 (:parent #197))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #169) #("pass" 0 4 (:parent #199))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #169)) #(";\n }\n}\n#+end" 0 19 (:parent #169)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #169) #("src" 0 3 (:parent #202))) #("js\n" 0 3 (:parent #169))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #163) #("Install the nginx webserver (as root)\n" 0 38 (:parent #170))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #163)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #163) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #172))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #163)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #163) #("Use that path\n" 0 14 (:parent #174))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #163)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #163) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #176))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #163)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #163) #("Make dirs\n" 0 10 (:parent #178))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #163)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #163) #("Add users\n" 0 10 (:parent #180))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #163)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #163) #("Run nginx\n" 0 10 (:parent #182))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #163))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #156))) :mode nil :granularity nil :parent #146) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #156) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #159) #("See the document " 0 17 (:parent #162)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #162)) #(".\n" 0 2 (:parent #162)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #160))) :mode nil :granularity nil :parent #156) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #160) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #163) #("We now compile Guix from scratch.\n" 0 34 (:parent #166))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #163) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #167)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #167) #("these" 0 5 (:parent #171))) #("steps carefully after\n" 0 22 (:parent #167))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #163)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #163) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #169))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #161))) :mode nil :granularity nil :parent #156) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #161) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #164) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #167))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #164) #("#+begin" 0 7 (:parent #168)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #168) #("src" 0 3 (:parent #172))) #("bash\nenv GUIX" 0 13 (:parent #168)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #168) #("PACKAGE" 0 7 (:parent #174))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #168) #("PATH" 0 4 (:parent #175))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #168)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #168)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #168)) #("\"\n#+end" 0 7 (:parent #168)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #168) #("src" 0 3 (:parent #180))) #("bash\n" 0 5 (:parent #168))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #164) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #169))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #164) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #170))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #162))) :mode nil :granularity nil :parent #156) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #162) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #165) #("Make a note of the paths with\n" 0 30 (:parent #168))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #165) #("#+begin" 0 7 (:parent #169)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #169) #("src" 0 3 (:parent #173))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #169)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #169) #("src" 0 3 (:parent #175))) #("bash\n" 0 5 (:parent #169))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #165) #("or this should also work if guix is installed\n" 0 46 (:parent #170))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #165) #("#+begin" 0 7 (:parent #171)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #171) #("src" 0 3 (:parent #175))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #171)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #171) #("src" 0 3 (:parent #177))) #("bash\n" 0 5 (:parent #171))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #165) #("After setting the paths for the server\n" 0 39 (:parent #172))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #165) #("#+begin" 0 7 (:parent #173)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #173) #("src" 0 3 (:parent #177))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #173)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #173) #("LIBS" 0 4 (:parent #179))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #173) #("SITE" 0 4 (:parent #180))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #173)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #173) #("GTK3" 0 4 (:parent #182))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #173) #("PATH" 0 4 (:parent #183))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #173)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #173) #("TYPELIB" 0 7 (:parent #185))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #173) #("PATH" 0 4 (:parent #186))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #173)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #173) #("DATA" 0 4 (:parent #188))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #173) #("DIRS" 0 4 (:parent #189))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #173)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #173) #("EXTRA" 0 5 (:parent #191))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #173) #("MODULES" 0 7 (:parent #192))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #173)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #173) #("src" 0 3 (:parent #194))) #("bash\n" 0 5 (:parent #173))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #165) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #174))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #165) #("#+begin" 0 7 (:parent #175)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #175) #("src" 0 3 (:parent #179))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #175)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #175) #("src" 0 3 (:parent #181))) #("bash\n" 0 5 (:parent #175)))))))) #76)) #52)) #20 (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #56) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #59) #("Binary deployment through GNU Guix" 0 34 (:parent #62))) #("\n" 0 1 (:parent #59))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #56) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #63) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #66) #("Quick installation recipe" 0 25 (:parent #69))) #("\n" 0 1 (:parent #66)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #64) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #67) #("Step 1: Install GNU Guix" 0 24 (:parent #70))) #("\n" 0 1 (:parent #67)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #65) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #68) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #71))) #("\n" 0 1 (:parent #68)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #66) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #69) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #72))) #("\n" 0 1 (:parent #69)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #70) #("Step 4: Install and run GN2" 0 27 (:parent #73))) #("\n" 0 1 (:parent #70)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #57) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #60) #("From source deployment" 0 22 (:parent #63))) #("\n" 0 1 (:parent #60)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #58) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #61) #("Create archive" 0 14 (:parent #64))) #("\n" 0 1 (:parent #61)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #59) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #62) #("Source deployment" 0 17 (:parent #65))) #("\n" 0 1 (:parent #62))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #59) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #66) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #69) #("Run your own copy of GN2" 0 24 (:parent #72))) #("\n" 0 1 (:parent #69)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #70) #("Set up nginx port forwarding" 0 28 (:parent #73))) #("\n" 0 1 (:parent #70)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #60) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #63) #("Source deployment and other information on reproducibility" 0 58 (:parent #66))) #("\n" 0 1 (:parent #63))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #60) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #70) #("Update to recent guix" 0 21 (:parent #73))) #("\n" 0 1 (:parent #70)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #71) #("Install GN2" 0 11 (:parent #74))) #("\n" 0 1 (:parent #71)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #69) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #72) #("Run GN2" 0 7 (:parent #75))) #("\n" 0 1 (:parent #72)))))))) #0)) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #0) #("Introduction" 0 12 (:parent #3))) #("\n" 0 1 (:parent #0))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section ") :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" " \n" . " ") :html-table-header-tags ("" . " ") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (underline . "%s") (verbatim . "" :html-table-row-close-tag " " :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 29.4 (Org mode 9.6.15)" :with-latex t :latex-header nil :title (#("Installing GeneNetwork services with GNU Guix" 0 45 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #338) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #341))) (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #342))) :mode nil :granularity nil :parent #338) (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent #342) (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent #345) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #351) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #354) #("Introduction" 0 12 (:parent #357))) #("\n" 0 1 (:parent #354)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #352) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #355) #("Binary deployment through GNU Guix" 0 34 (:parent #358))) #("\n" 0 1 (:parent #355))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #352) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #362) #("Quick installation recipe" 0 25 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #363) #("Step 1: Install GNU Guix" 0 24 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #364) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #367))) #("\n" 0 1 (:parent #364)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #365) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #366) #("Step 4: Install and run GN2" 0 27 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #353) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #356) #("From source deployment" 0 22 (:parent #359))) #("\n" 0 1 (:parent #356)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #354) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #357) #("Create archive" 0 14 (:parent #360))) #("\n" 0 1 (:parent #357)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #355) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #358) #("Source deployment" 0 17 (:parent #361))) #("\n" 0 1 (:parent #358))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #355) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #365) #("Run your own copy of GN2" 0 24 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #366) #("Set up nginx port forwarding" 0 28 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #356) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #359) #("Source deployment and other information on reproducibility" 0 58 (:parent #362))) #("\n" 0 1 (:parent #359))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #356) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #366) #("Update to recent guix" 0 21 (:parent #369))) #("\n" 0 1 (:parent #366)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #367) #("Install GN2" 0 11 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #368) #("Run GN2" 0 7 (:parent #371))) #("\n" 0 1 (:parent #368))))))))) (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #343))) :mode nil :granularity nil :parent #338) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #343) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #346) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #349)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #349) #("Guix-notes" 0 10 (:parent #353))) #("and the main " 0 13 (:parent #349)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #349)) #("doc).\n" 0 6 (:parent #349))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #344))) :mode nil :granularity nil :parent #338) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #347))) :mode section :granularity nil :parent #344) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #347) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #350) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #353))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #350) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #354))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #348))) :mode nil :granularity nil :parent #344) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #348) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #351) #("Fetch the GNU Guix binary from " 0 31 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #354) #("here" 0 4 (:parent #358))) #("(middle panel) and follow\n" 0 26 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #354) #("instructions" 0 12 (:parent #360))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #354))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #351) #("Once you have succeeded, you have to " 0 37 (:parent #355)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #355) #("set the key" 0 11 (:parent #359))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #351)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #351) #("Which should show something like\n" 0 33 (:parent #357))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #351)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #351) #("#+end" 0 5 (:parent #359)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #359) #("src" 0 3 (:parent #363))) #("\n" 0 1 (:parent #359))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #351) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #360))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #351)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #351) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #362))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #351) #("If you need more help we have another writeup in " 0 49 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #363) #("guix-notes" 0 10 (:parent #367))) #(". To get\nrid of the locale warning see " 0 39 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #363) #("set-locale" 0 10 (:parent #369))) #(".\n" 0 2 (:parent #363))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #349))) :mode nil :granularity nil :parent #344) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #349) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #352) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #352)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #352) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #357))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #358)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #358) #("src" 0 3 (:parent #362))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #358)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #358)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #358)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #358) #("src" 0 3 (:parent #368))) #("bash\n" 0 5 (:parent #358))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #352) #("To test whether this is working try:\n" 0 37 (:parent #359))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\n#+end" 0 10 (:parent #360)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #360) #("src" 0 3 (:parent #366))) #("bash\n" 0 5 (:parent #360))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #350))) :mode nil :granularity nil :parent #344) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #350) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #353) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #356))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #353)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #353) #("by pasting it into the command\n" 0 31 (:parent #358))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #353)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #353) #("and hit Ctrl-D.\n" 0 16 (:parent #360))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #353) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #361))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #351))) :mode nil :granularity nil :parent #344) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #351) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #354) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #357))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #354)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #354) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #359))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #354)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #354) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #361)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #361) #("root" 0 4 (:parent #365))) #(".config/guix/latest override).\n" 0 31 (:parent #361))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #354) #("And install with\n" 0 17 (:parent #362))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #354)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #354) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #364))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #354) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #365))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #354) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #366))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #354) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #368))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #354) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #370)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #370)) #(".\n" 0 2 (:parent #370))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #354) #("End of the GN2 installation recipe!\n" 0 36 (:parent #371)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #345))) :mode nil :granularity nil :parent #338) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #345) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #348) #("GNU Guix allows for " 0 20 (:parent #351)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #351) #("reproducible deployment" 0 23 (:parent #355))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #351))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #348)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #348) #("Next build guix (and run) following the instructions in " 0 56 (:parent #353)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #353) #("guix-notes" 0 10 (:parent #357))) #(".\n" 0 2 (:parent #353))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #348) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #354))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #348)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #348) #("So\n" 0 3 (:parent #356))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #348) #("#+begin" 0 7 (:parent #357)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #357) #("src" 0 3 (:parent #361))) #("sh :lang bash\n#+begin" 0 23 (:parent #357)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #357) #("src" 0 3 (:parent #363))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #357)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #357) #("PACKAGE" 0 7 (:parent #365))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #357) #("PATH" 0 4 (:parent #366))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #357)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #357) #("src" 0 3 (:parent #368))) #("sh :lang bash\n" 0 16 (:parent #357))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #348) #("Install with\n" 0 13 (:parent #358))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #348) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #359)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #359) #("PACKAGE" 0 7 (:parent #365))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #359) #("PATH" 0 4 (:parent #366))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #359)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #359) #("src" 0 3 (:parent #368))) #("sh :lang bash\n" 0 16 (:parent #359))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #346))) :mode nil :granularity nil :parent #338) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #346) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #349)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #347))) :mode nil :granularity nil :parent #338) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #347) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #350) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #353))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #350) #("First execute above 4 steps:\n" 0 29 (:parent #354))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #350) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #361) #("Step 1: Install GNU Guix" 0 24 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #362) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #363) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #364) #("Step 4: Install and run GN2 " 0 28 (:parent #367))) #("\n" 0 1 (:parent #364)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #351))) :mode nil :granularity nil :parent #347) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #351) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #354) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #357)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #357)) #(".\n" 0 2 (:parent #357))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #354) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #358)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #358) #("PATH" 0 4 (:parent #362))) #("and\nR" 0 5 (:parent #358)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #358) #("LIBS" 0 4 (:parent #364))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #358) #("SITE" 0 4 (:parent #365))) #("are set) from the information given by guix:\n" 0 45 (:parent #358))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #354)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #354) #("Inside the repository:\n" 0 23 (:parent #360))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #354)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #354) #("Will fire up your local repo " 0 29 (:parent #362)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #362)) #("using the\nsettings in ./etc/default" 0 35 (:parent #362)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #362) #("settings.py" 0 11 (:parent #368))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #362)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #370))) #("and pass it into GN2 with\n" 0 26 (:parent #362))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #354)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #354) #("and everything " 0 15 (:parent #364)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #364) #("should" 0 6 (:parent #368))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #364))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #354) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #365))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #354)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #352))) :mode nil :granularity nil :parent #347) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #352) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #355) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #358))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #355) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #359)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #359) #("name" 0 4 (:parent #365))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #359)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #359) #("log" 0 3 (:parent #367))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #359))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #355) #(" proxy" 0 13 (:parent #360)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #360) #("connect" 0 7 (:parent #364))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #360) #("timeout" 0 7 (:parent #365))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #360) #("send" 0 4 (:parent #367))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #368))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #360) #("read" 0 4 (:parent #370))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #371))) #("3000;\n send" 0 18 (:parent #360)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #360) #("timeout" 0 7 (:parent #373))) #("3000;\n" 0 6 (:parent #360))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #355) #(" location / {\n proxy" 0 38 (:parent #361)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #361) #("set" 0 3 (:parent #365))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #361) #("header" 0 6 (:parent #366))) #("Host $http" 0 15 (:parent #361)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #361) #("host" 0 4 (:parent #368))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #361) #("set" 0 3 (:parent #370))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #361) #("header" 0 6 (:parent #371))) #("Connection keep-alive;\n proxy" 0 40 (:parent #361)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #361) #("set" 0 3 (:parent #373))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #361) #("header" 0 6 (:parent #374))) #("X-Real-IP $remote" 0 17 (:parent #361)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #361) #("addr" 0 4 (:parent #376))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #361) #("set" 0 3 (:parent #378))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #361) #("header" 0 6 (:parent #379))) #("X-Forwarded-For $proxy" 0 22 (:parent #361)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #361) #("add" 0 3 (:parent #381))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #361) #("x" 0 1 (:parent #382))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #361) #("forwarded" 0 9 (:parent #383))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #361) #("for" 0 3 (:parent #384))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #361) #("set" 0 3 (:parent #386))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #361) #("header" 0 6 (:parent #387))) #("X-Forwarded-Host $server" 0 24 (:parent #361)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #361) #("name" 0 4 (:parent #389))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #361) #("pass" 0 4 (:parent #391))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #361)) #(";\n }\n}\n#+end" 0 19 (:parent #361)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #361) #("src" 0 3 (:parent #394))) #("js\n" 0 3 (:parent #361))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #355) #("Install the nginx webserver (as root)\n" 0 38 (:parent #362))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #355)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #355) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #364))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #355)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #355) #("Use that path\n" 0 14 (:parent #366))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #355) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #368))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #355) #("Make dirs\n" 0 10 (:parent #370))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #355) #("Add users\n" 0 10 (:parent #372))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #355) #("Run nginx\n" 0 10 (:parent #374))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #355))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #348))) :mode nil :granularity nil :parent #338) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #348) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #351) #("See the document " 0 17 (:parent #354)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #354)) #(".\n" 0 2 (:parent #354)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #352))) :mode nil :granularity nil :parent #348) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #352) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #355) #("We now compile Guix from scratch.\n" 0 34 (:parent #358))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #355) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #359)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #359) #("these" 0 5 (:parent #363))) #("steps carefully after\n" 0 22 (:parent #359))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #355) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #361))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #353))) :mode nil :granularity nil :parent #348) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #353) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #356) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #359))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #356) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\nenv GUIX" 0 13 (:parent #360)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #360) #("PACKAGE" 0 7 (:parent #366))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #360) #("PATH" 0 4 (:parent #367))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #360)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #360)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #360)) #("\"\n#+end" 0 7 (:parent #360)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #360) #("src" 0 3 (:parent #372))) #("bash\n" 0 5 (:parent #360))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #356) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #361))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #356) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #362))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #354))) :mode nil :granularity nil :parent #348) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #354) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #357) #("Make a note of the paths with\n" 0 30 (:parent #360))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #361)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #361) #("src" 0 3 (:parent #365))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #361)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #361) #("src" 0 3 (:parent #367))) #("bash\n" 0 5 (:parent #361))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #357) #("or this should also work if guix is installed\n" 0 46 (:parent #362))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #363)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #363) #("src" 0 3 (:parent #367))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #363)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #363) #("src" 0 3 (:parent #369))) #("bash\n" 0 5 (:parent #363))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #357) #("After setting the paths for the server\n" 0 39 (:parent #364))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #365)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #365) #("src" 0 3 (:parent #369))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #365)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #365) #("LIBS" 0 4 (:parent #371))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #365) #("SITE" 0 4 (:parent #372))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #365)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #365) #("GTK3" 0 4 (:parent #374))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #365) #("PATH" 0 4 (:parent #375))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #365)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #365) #("TYPELIB" 0 7 (:parent #377))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #365) #("PATH" 0 4 (:parent #378))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #365)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #365) #("DATA" 0 4 (:parent #380))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #365) #("DIRS" 0 4 (:parent #381))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #365)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #365) #("EXTRA" 0 5 (:parent #383))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #365) #("MODULES" 0 7 (:parent #384))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #365)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #365) #("src" 0 3 (:parent #386))) #("bash\n" 0 5 (:parent #365))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #357) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #366))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #367)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #367) #("src" 0 3 (:parent #371))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #367)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #367) #("src" 0 3 (:parent #373))) #("bash\n" 0 5 (:parent #367))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #))
#f(compiled-function (element) #)((paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #100))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #146) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #149))) #100 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #151))) :mode nil :granularity nil :parent #146) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #151) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #154) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #157)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #157) #("Guix-notes" 0 10 (:parent #161))) #("and the main " 0 13 (:parent #157)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #157)) #("doc).\n" 0 6 (:parent #157))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #152))) :mode nil :granularity nil :parent #146) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #155))) :mode section :granularity nil :parent #152) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #155) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #158) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #161))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #158) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #162))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #156))) :mode nil :granularity nil :parent #152) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #156) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #159) #("Fetch the GNU Guix binary from " 0 31 (:parent #162)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #162) #("here" 0 4 (:parent #166))) #("(middle panel) and follow\n" 0 26 (:parent #162)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #162) #("instructions" 0 12 (:parent #168))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #162))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #159) #("Once you have succeeded, you have to " 0 37 (:parent #163)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #163) #("set the key" 0 11 (:parent #167))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #163))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #159)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #159) #("Which should show something like\n" 0 33 (:parent #165))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #159)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #159) #("#+end" 0 5 (:parent #167)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #167) #("src" 0 3 (:parent #171))) #("\n" 0 1 (:parent #167))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #159) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #168))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #159)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #159) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #170))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #159) #("If you need more help we have another writeup in " 0 49 (:parent #171)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #171) #("guix-notes" 0 10 (:parent #175))) #(". To get\nrid of the locale warning see " 0 39 (:parent #171)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #171) #("set-locale" 0 10 (:parent #177))) #(".\n" 0 2 (:parent #171))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #157))) :mode nil :granularity nil :parent #152) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #157) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #160) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #163))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #160)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #160) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #165))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #160) #("#+begin" 0 7 (:parent #166)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #166) #("src" 0 3 (:parent #170))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #166)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #166)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #166)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #166)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #166)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #166) #("src" 0 3 (:parent #176))) #("bash\n" 0 5 (:parent #166))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #160) #("To test whether this is working try:\n" 0 37 (:parent #167))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #160) #("#+begin" 0 7 (:parent #168)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #168) #("src" 0 3 (:parent #172))) #("bash\n#+end" 0 10 (:parent #168)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #168) #("src" 0 3 (:parent #174))) #("bash\n" 0 5 (:parent #168))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #158))) :mode nil :granularity nil :parent #152) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #158) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #161) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #164))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #161)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #161) #("by pasting it into the command\n" 0 31 (:parent #166))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #161)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #161) #("and hit Ctrl-D.\n" 0 16 (:parent #168))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #161) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #169))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #159))) :mode nil :granularity nil :parent #152) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #159) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #162) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #165))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #162)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #162) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #167))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #162)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #162) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #169)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #169) #("root" 0 4 (:parent #173))) #(".config/guix/latest override).\n" 0 31 (:parent #169))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #162) #("And install with\n" 0 17 (:parent #170))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #162)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #162) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #172))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #162) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #173))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #162) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #174))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #162)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #162) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #176))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #162)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #162) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #178)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #178)) #(".\n" 0 2 (:parent #178))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #162) #("End of the GN2 installation recipe!\n" 0 36 (:parent #179)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #153))) :mode nil :granularity nil :parent #146) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #153) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #156) #("GNU Guix allows for " 0 20 (:parent #159)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #159) #("reproducible deployment" 0 23 (:parent #163))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #159))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #156)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #156) #("Next build guix (and run) following the instructions in " 0 56 (:parent #161)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #161) #("guix-notes" 0 10 (:parent #165))) #(".\n" 0 2 (:parent #161))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #156) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #162))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #156)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #156) #("So\n" 0 3 (:parent #164))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #156) #("#+begin" 0 7 (:parent #165)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #165) #("src" 0 3 (:parent #169))) #("sh :lang bash\n#+begin" 0 23 (:parent #165)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #165) #("src" 0 3 (:parent #171))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #165)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #165) #("PACKAGE" 0 7 (:parent #173))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #165) #("PATH" 0 4 (:parent #174))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #165)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #165) #("src" 0 3 (:parent #176))) #("sh :lang bash\n" 0 16 (:parent #165))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #156) #("Install with\n" 0 13 (:parent #166))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #156) #("#+begin" 0 7 (:parent #167)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #167) #("src" 0 3 (:parent #171))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #167)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #167) #("PACKAGE" 0 7 (:parent #173))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #167) #("PATH" 0 4 (:parent #174))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #167)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #167) #("src" 0 3 (:parent #176))) #("sh :lang bash\n" 0 16 (:parent #167))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #154))) :mode nil :granularity nil :parent #146) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #154) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #157)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #155))) :mode nil :granularity nil :parent #146) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #155) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #158) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #161))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #158) #("First execute above 4 steps:\n" 0 29 (:parent #162))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #158) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #166) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #169) #("Step 1: Install GNU Guix" 0 24 (:parent #172))) #("\n" 0 1 (:parent #169)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #167) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #170) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #173))) #("\n" 0 1 (:parent #170)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #168) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #171) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #174))) #("\n" 0 1 (:parent #171)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #169) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #172) #("Step 4: Install and run GN2 " 0 28 (:parent #175))) #("\n" 0 1 (:parent #172)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #159))) :mode nil :granularity nil :parent #155) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #159) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #162) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #165)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #165)) #(".\n" 0 2 (:parent #165))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #162) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #166)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #166) #("PATH" 0 4 (:parent #170))) #("and\nR" 0 5 (:parent #166)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #166) #("LIBS" 0 4 (:parent #172))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #166) #("SITE" 0 4 (:parent #173))) #("are set) from the information given by guix:\n" 0 45 (:parent #166))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #162)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #162) #("Inside the repository:\n" 0 23 (:parent #168))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #162)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #162) #("Will fire up your local repo " 0 29 (:parent #170)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #170)) #("using the\nsettings in ./etc/default" 0 35 (:parent #170)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #170) #("settings.py" 0 11 (:parent #176))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #170)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #170) #("settings.py" 0 11 (:parent #178))) #("and pass it into GN2 with\n" 0 26 (:parent #170))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #162)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #162) #("and everything " 0 15 (:parent #172)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #172) #("should" 0 6 (:parent #176))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #172))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #162) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #173))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #162)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #160))) :mode nil :granularity nil :parent #155) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #160) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #163) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #166))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #163) #("#+begin" 0 7 (:parent #167)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #167) #("src" 0 3 (:parent #171))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #167)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #167) #("name" 0 4 (:parent #173))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #167)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #167) #("log" 0 3 (:parent #175))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #167))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #163) #(" proxy" 0 13 (:parent #168)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #168) #("connect" 0 7 (:parent #172))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #168) #("timeout" 0 7 (:parent #173))) #("3000;\n proxy" 0 19 (:parent #168)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #168) #("send" 0 4 (:parent #175))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #168) #("timeout" 0 7 (:parent #176))) #("3000;\n proxy" 0 19 (:parent #168)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #168) #("read" 0 4 (:parent #178))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #168) #("timeout" 0 7 (:parent #179))) #("3000;\n send" 0 18 (:parent #168)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #168) #("timeout" 0 7 (:parent #181))) #("3000;\n" 0 6 (:parent #168))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #163) #(" location / {\n proxy" 0 38 (:parent #169)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #169) #("set" 0 3 (:parent #173))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #169) #("header" 0 6 (:parent #174))) #("Host $http" 0 15 (:parent #169)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #169) #("host" 0 4 (:parent #176))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #169) #("set" 0 3 (:parent #178))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #169) #("header" 0 6 (:parent #179))) #("Connection keep-alive;\n proxy" 0 40 (:parent #169)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #169) #("set" 0 3 (:parent #181))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #169) #("header" 0 6 (:parent #182))) #("X-Real-IP $remote" 0 17 (:parent #169)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #169) #("addr" 0 4 (:parent #184))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #169) #("set" 0 3 (:parent #186))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #169) #("header" 0 6 (:parent #187))) #("X-Forwarded-For $proxy" 0 22 (:parent #169)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #169) #("add" 0 3 (:parent #189))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #169) #("x" 0 1 (:parent #190))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #169) #("forwarded" 0 9 (:parent #191))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #169) #("for" 0 3 (:parent #192))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #169) #("set" 0 3 (:parent #194))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #169) #("header" 0 6 (:parent #195))) #("X-Forwarded-Host $server" 0 24 (:parent #169)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #169) #("name" 0 4 (:parent #197))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #169) #("pass" 0 4 (:parent #199))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #169)) #(";\n }\n}\n#+end" 0 19 (:parent #169)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #169) #("src" 0 3 (:parent #202))) #("js\n" 0 3 (:parent #169))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #163) #("Install the nginx webserver (as root)\n" 0 38 (:parent #170))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #163)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #163) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #172))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #163)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #163) #("Use that path\n" 0 14 (:parent #174))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #163)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #163) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #176))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #163)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #163) #("Make dirs\n" 0 10 (:parent #178))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #163)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #163) #("Add users\n" 0 10 (:parent #180))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #163)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #163) #("Run nginx\n" 0 10 (:parent #182))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #163))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #156))) :mode nil :granularity nil :parent #146) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #156) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #159) #("See the document " 0 17 (:parent #162)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #162)) #(".\n" 0 2 (:parent #162)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #160))) :mode nil :granularity nil :parent #156) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #160) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #163) #("We now compile Guix from scratch.\n" 0 34 (:parent #166))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #163) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #167)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #167) #("these" 0 5 (:parent #171))) #("steps carefully after\n" 0 22 (:parent #167))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #163)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #163) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #169))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #161))) :mode nil :granularity nil :parent #156) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #161) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #164) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #167))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #164) #("#+begin" 0 7 (:parent #168)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #168) #("src" 0 3 (:parent #172))) #("bash\nenv GUIX" 0 13 (:parent #168)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #168) #("PACKAGE" 0 7 (:parent #174))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #168) #("PATH" 0 4 (:parent #175))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #168)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #168)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #168)) #("\"\n#+end" 0 7 (:parent #168)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #168) #("src" 0 3 (:parent #180))) #("bash\n" 0 5 (:parent #168))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #164) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #169))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #164) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #170))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #162))) :mode nil :granularity nil :parent #156) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #162) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #165) #("Make a note of the paths with\n" 0 30 (:parent #168))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #165) #("#+begin" 0 7 (:parent #169)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #169) #("src" 0 3 (:parent #173))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #169)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #169) #("src" 0 3 (:parent #175))) #("bash\n" 0 5 (:parent #169))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #165) #("or this should also work if guix is installed\n" 0 46 (:parent #170))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #165) #("#+begin" 0 7 (:parent #171)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #171) #("src" 0 3 (:parent #175))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #171)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #171) #("src" 0 3 (:parent #177))) #("bash\n" 0 5 (:parent #171))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #165) #("After setting the paths for the server\n" 0 39 (:parent #172))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #165) #("#+begin" 0 7 (:parent #173)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #173) #("src" 0 3 (:parent #177))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #173)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #173) #("LIBS" 0 4 (:parent #179))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #173) #("SITE" 0 4 (:parent #180))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #173)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #173) #("GTK3" 0 4 (:parent #182))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #173) #("PATH" 0 4 (:parent #183))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #173)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #173) #("TYPELIB" 0 7 (:parent #185))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #173) #("PATH" 0 4 (:parent #186))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #173)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #173) #("DATA" 0 4 (:parent #188))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #173) #("DIRS" 0 4 (:parent #189))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #173)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #173) #("EXTRA" 0 5 (:parent #191))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #173) #("MODULES" 0 7 (:parent #192))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #173)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #173) #("src" 0 3 (:parent #194))) #("bash\n" 0 5 (:parent #173))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #165) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #174))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #165) #("#+begin" 0 7 (:parent #175)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #175) #("src" 0 3 (:parent #179))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #175)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #175) #("src" 0 3 (:parent #181))) #("bash\n" 0 5 (:parent #175)))))))) #76)) #52)) #20 (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #56) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #59) #("Binary deployment through GNU Guix" 0 34 (:parent #62))) #("\n" 0 1 (:parent #59))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #56) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #63) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #66) #("Quick installation recipe" 0 25 (:parent #69))) #("\n" 0 1 (:parent #66)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #64) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #67) #("Step 1: Install GNU Guix" 0 24 (:parent #70))) #("\n" 0 1 (:parent #67)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #65) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #68) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #71))) #("\n" 0 1 (:parent #68)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #66) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #69) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #72))) #("\n" 0 1 (:parent #69)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #70) #("Step 4: Install and run GN2" 0 27 (:parent #73))) #("\n" 0 1 (:parent #70)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #57) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #60) #("From source deployment" 0 22 (:parent #63))) #("\n" 0 1 (:parent #60)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #58) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #61) #("Create archive" 0 14 (:parent #64))) #("\n" 0 1 (:parent #61)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #59) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #62) #("Source deployment" 0 17 (:parent #65))) #("\n" 0 1 (:parent #62))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #59) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #66) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #69) #("Run your own copy of GN2" 0 24 (:parent #72))) #("\n" 0 1 (:parent #69)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #70) #("Set up nginx port forwarding" 0 28 (:parent #73))) #("\n" 0 1 (:parent #70)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #60) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #63) #("Source deployment and other information on reproducibility" 0 58 (:parent #66))) #("\n" 0 1 (:parent #63))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #60) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #70) #("Update to recent guix" 0 21 (:parent #73))) #("\n" 0 1 (:parent #70)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #71) #("Install GN2" 0 11 (:parent #74))) #("\n" 0 1 (:parent #71)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #69) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #72) #("Run GN2" 0 7 (:parent #75))) #("\n" 0 1 (:parent #72)))))))) #0)) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #0) #("Introduction" 0 12 (:parent #3))) #("\n" 0 1 (:parent #0))))
mapconcat(#f(compiled-function (element) #) ((paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #101))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #147) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #150))) #101 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #152))) :mode nil :granularity nil :parent #147) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #152) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #155) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #158)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #158) #("Guix-notes" 0 10 (:parent #162))) #("and the main " 0 13 (:parent #158)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #158)) #("doc).\n" 0 6 (:parent #158))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #153))) :mode nil :granularity nil :parent #147) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #156))) :mode section :granularity nil :parent #153) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #156) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #159) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #162))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #159) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #163))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #157))) :mode nil :granularity nil :parent #153) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #157) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #160) #("Fetch the GNU Guix binary from " 0 31 (:parent #163)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #163) #("here" 0 4 (:parent #167))) #("(middle panel) and follow\n" 0 26 (:parent #163)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #163) #("instructions" 0 12 (:parent #169))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #163))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #160) #("Once you have succeeded, you have to " 0 37 (:parent #164)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #164) #("set the key" 0 11 (:parent #168))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #164))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #160)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #160) #("Which should show something like\n" 0 33 (:parent #166))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #160)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #160) #("#+end" 0 5 (:parent #168)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #168) #("src" 0 3 (:parent #172))) #("\n" 0 1 (:parent #168))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #160) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #169))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #160)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #160) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #171))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #160) #("If you need more help we have another writeup in " 0 49 (:parent #172)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #172) #("guix-notes" 0 10 (:parent #176))) #(". To get\nrid of the locale warning see " 0 39 (:parent #172)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #172) #("set-locale" 0 10 (:parent #178))) #(".\n" 0 2 (:parent #172))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #158))) :mode nil :granularity nil :parent #153) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #158) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #161) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #164))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #161)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #161) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #166))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #161) #("#+begin" 0 7 (:parent #167)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #167) #("src" 0 3 (:parent #171))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #167)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #167)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #167)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #167)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #167)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #167) #("src" 0 3 (:parent #177))) #("bash\n" 0 5 (:parent #167))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #161) #("To test whether this is working try:\n" 0 37 (:parent #168))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #161) #("#+begin" 0 7 (:parent #169)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #169) #("src" 0 3 (:parent #173))) #("bash\n#+end" 0 10 (:parent #169)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #169) #("src" 0 3 (:parent #175))) #("bash\n" 0 5 (:parent #169))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #159))) :mode nil :granularity nil :parent #153) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #159) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #162) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #165))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #162)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #162) #("by pasting it into the command\n" 0 31 (:parent #167))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #162)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #162) #("and hit Ctrl-D.\n" 0 16 (:parent #169))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #162) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #170))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #160))) :mode nil :granularity nil :parent #153) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #160) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #163) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #166))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #163)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #163) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #168))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #163)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #163) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #170)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #170) #("root" 0 4 (:parent #174))) #(".config/guix/latest override).\n" 0 31 (:parent #170))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #163) #("And install with\n" 0 17 (:parent #171))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #163)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #163) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #173))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #163) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #174))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #163) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #175))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #163)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #163) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #177))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #163)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #163) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #179)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #179)) #(".\n" 0 2 (:parent #179))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #163) #("End of the GN2 installation recipe!\n" 0 36 (:parent #180)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #154))) :mode nil :granularity nil :parent #147) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #154) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #157) #("GNU Guix allows for " 0 20 (:parent #160)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #160) #("reproducible deployment" 0 23 (:parent #164))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #160))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #157)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #157) #("Next build guix (and run) following the instructions in " 0 56 (:parent #162)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #162) #("guix-notes" 0 10 (:parent #166))) #(".\n" 0 2 (:parent #162))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #157) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #163))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #157)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #157) #("So\n" 0 3 (:parent #165))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #157) #("#+begin" 0 7 (:parent #166)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #166) #("src" 0 3 (:parent #170))) #("sh :lang bash\n#+begin" 0 23 (:parent #166)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #166) #("src" 0 3 (:parent #172))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #166)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #166) #("PACKAGE" 0 7 (:parent #174))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #166) #("PATH" 0 4 (:parent #175))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #166)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #166) #("src" 0 3 (:parent #177))) #("sh :lang bash\n" 0 16 (:parent #166))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #157) #("Install with\n" 0 13 (:parent #167))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #157) #("#+begin" 0 7 (:parent #168)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #168) #("src" 0 3 (:parent #172))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #168)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #168) #("PACKAGE" 0 7 (:parent #174))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #168) #("PATH" 0 4 (:parent #175))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #168)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #168) #("src" 0 3 (:parent #177))) #("sh :lang bash\n" 0 16 (:parent #168))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #155))) :mode nil :granularity nil :parent #147) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #155) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #158)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #156))) :mode nil :granularity nil :parent #147) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #156) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #159) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #162))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #159) #("First execute above 4 steps:\n" 0 29 (:parent #163))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #159) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #164) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #167) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #170) #("Step 1: Install GNU Guix" 0 24 (:parent #173))) #("\n" 0 1 (:parent #170)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #164) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #168) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #171) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #174))) #("\n" 0 1 (:parent #171)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #164) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #169) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #172) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #175))) #("\n" 0 1 (:parent #172)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #164) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #170) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #173) #("Step 4: Install and run GN2 " 0 28 (:parent #176))) #("\n" 0 1 (:parent #173)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #160))) :mode nil :granularity nil :parent #156) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #160) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #163) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #166)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #166)) #(".\n" 0 2 (:parent #166))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #163) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #167)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #167) #("PATH" 0 4 (:parent #171))) #("and\nR" 0 5 (:parent #167)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #167) #("LIBS" 0 4 (:parent #173))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #167) #("SITE" 0 4 (:parent #174))) #("are set) from the information given by guix:\n" 0 45 (:parent #167))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #163)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #163) #("Inside the repository:\n" 0 23 (:parent #169))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #163)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #163) #("Will fire up your local repo " 0 29 (:parent #171)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #171)) #("using the\nsettings in ./etc/default" 0 35 (:parent #171)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #171) #("settings.py" 0 11 (:parent #177))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #171)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #171) #("settings.py" 0 11 (:parent #179))) #("and pass it into GN2 with\n" 0 26 (:parent #171))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #163)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #163) #("and everything " 0 15 (:parent #173)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #173) #("should" 0 6 (:parent #177))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #173))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #163) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #174))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #163)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #161))) :mode nil :granularity nil :parent #156) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #161) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #164) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #167))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #164) #("#+begin" 0 7 (:parent #168)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #168) #("src" 0 3 (:parent #172))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #168)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #168) #("name" 0 4 (:parent #174))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #168)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #168) #("log" 0 3 (:parent #176))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #168))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #164) #(" proxy" 0 13 (:parent #169)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #169) #("connect" 0 7 (:parent #173))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #169) #("timeout" 0 7 (:parent #174))) #("3000;\n proxy" 0 19 (:parent #169)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #169) #("send" 0 4 (:parent #176))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #169) #("timeout" 0 7 (:parent #177))) #("3000;\n proxy" 0 19 (:parent #169)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #169) #("read" 0 4 (:parent #179))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #169) #("timeout" 0 7 (:parent #180))) #("3000;\n send" 0 18 (:parent #169)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #169) #("timeout" 0 7 (:parent #182))) #("3000;\n" 0 6 (:parent #169))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #164) #(" location / {\n proxy" 0 38 (:parent #170)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #170) #("set" 0 3 (:parent #174))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #170) #("header" 0 6 (:parent #175))) #("Host $http" 0 15 (:parent #170)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #170) #("host" 0 4 (:parent #177))) #(";\n proxy" 0 19 (:parent #170)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #170) #("set" 0 3 (:parent #179))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #170) #("header" 0 6 (:parent #180))) #("Connection keep-alive;\n proxy" 0 40 (:parent #170)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #170) #("set" 0 3 (:parent #182))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #170) #("header" 0 6 (:parent #183))) #("X-Real-IP $remote" 0 17 (:parent #170)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #170) #("addr" 0 4 (:parent #185))) #(";\n proxy" 0 19 (:parent #170)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #170) #("set" 0 3 (:parent #187))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #170) #("header" 0 6 (:parent #188))) #("X-Forwarded-For $proxy" 0 22 (:parent #170)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #170) #("add" 0 3 (:parent #190))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #170) #("x" 0 1 (:parent #191))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #170) #("forwarded" 0 9 (:parent #192))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #170) #("for" 0 3 (:parent #193))) #(";\n proxy" 0 19 (:parent #170)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #170) #("set" 0 3 (:parent #195))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #170) #("header" 0 6 (:parent #196))) #("X-Forwarded-Host $server" 0 24 (:parent #170)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #170) #("name" 0 4 (:parent #198))) #(";\n proxy" 0 19 (:parent #170)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #170) #("pass" 0 4 (:parent #200))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #170)) #(";\n }\n}\n#+end" 0 19 (:parent #170)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #170) #("src" 0 3 (:parent #203))) #("js\n" 0 3 (:parent #170))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #164) #("Install the nginx webserver (as root)\n" 0 38 (:parent #171))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #164)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #164) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #173))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #164)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #164) #("Use that path\n" 0 14 (:parent #175))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #164)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #164) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #177))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #164)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #164) #("Make dirs\n" 0 10 (:parent #179))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #164)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #164) #("Add users\n" 0 10 (:parent #181))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #164)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #164) #("Run nginx\n" 0 10 (:parent #183))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #164))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #157))) :mode nil :granularity nil :parent #147) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #157) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #160) #("See the document " 0 17 (:parent #163)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #163)) #(".\n" 0 2 (:parent #163)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #161))) :mode nil :granularity nil :parent #157) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #161) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #164) #("We now compile Guix from scratch.\n" 0 34 (:parent #167))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #164) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #168)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #168) #("these" 0 5 (:parent #172))) #("steps carefully after\n" 0 22 (:parent #168))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #164)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #164) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #170))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #162))) :mode nil :granularity nil :parent #157) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #162) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #165) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #168))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #165) #("#+begin" 0 7 (:parent #169)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #169) #("src" 0 3 (:parent #173))) #("bash\nenv GUIX" 0 13 (:parent #169)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #169) #("PACKAGE" 0 7 (:parent #175))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #169) #("PATH" 0 4 (:parent #176))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #169)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #169)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #169)) #("\"\n#+end" 0 7 (:parent #169)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #169) #("src" 0 3 (:parent #181))) #("bash\n" 0 5 (:parent #169))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #165) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #170))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #165) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #171))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #163))) :mode nil :granularity nil :parent #157) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #163) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #166) #("Make a note of the paths with\n" 0 30 (:parent #169))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #166) #("#+begin" 0 7 (:parent #170)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #170) #("src" 0 3 (:parent #174))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #170)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #170) #("src" 0 3 (:parent #176))) #("bash\n" 0 5 (:parent #170))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #166) #("or this should also work if guix is installed\n" 0 46 (:parent #171))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #166) #("#+begin" 0 7 (:parent #172)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #172) #("src" 0 3 (:parent #176))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #172)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #172) #("src" 0 3 (:parent #178))) #("bash\n" 0 5 (:parent #172))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #166) #("After setting the paths for the server\n" 0 39 (:parent #173))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #166) #("#+begin" 0 7 (:parent #174)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #174) #("src" 0 3 (:parent #178))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #174)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #174) #("LIBS" 0 4 (:parent #180))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #174) #("SITE" 0 4 (:parent #181))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #174)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #174) #("GTK3" 0 4 (:parent #183))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #174) #("PATH" 0 4 (:parent #184))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #174)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #174) #("TYPELIB" 0 7 (:parent #186))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #174) #("PATH" 0 4 (:parent #187))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #174)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #174) #("DATA" 0 4 (:parent #189))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #174) #("DIRS" 0 4 (:parent #190))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #174)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #174) #("EXTRA" 0 5 (:parent #192))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #174) #("MODULES" 0 7 (:parent #193))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #174)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #174) #("src" 0 3 (:parent #195))) #("bash\n" 0 5 (:parent #174))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #166) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #175))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #166) #("#+begin" 0 7 (:parent #176)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #176) #("src" 0 3 (:parent #180))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #176)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #176) #("src" 0 3 (:parent #182))) #("bash\n" 0 5 (:parent #176)))))))) #77)) #53)) #21 (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #53) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #57) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #60) #("Binary deployment through GNU Guix" 0 34 (:parent #63))) #("\n" 0 1 (:parent #60))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #57) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #61) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #64) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #67) #("Quick installation recipe" 0 25 (:parent #70))) #("\n" 0 1 (:parent #67)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #61) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #65) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #68) #("Step 1: Install GNU Guix" 0 24 (:parent #71))) #("\n" 0 1 (:parent #68)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #61) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #66) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #69) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #72))) #("\n" 0 1 (:parent #69)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #61) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #70) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #73))) #("\n" 0 1 (:parent #70)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #61) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #71) #("Step 4: Install and run GN2" 0 27 (:parent #74))) #("\n" 0 1 (:parent #71)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #53) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #58) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #61) #("From source deployment" 0 22 (:parent #64))) #("\n" 0 1 (:parent #61)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #53) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #59) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #62) #("Create archive" 0 14 (:parent #65))) #("\n" 0 1 (:parent #62)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #53) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #60) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #63) #("Source deployment" 0 17 (:parent #66))) #("\n" 0 1 (:parent #63))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #60) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #70) #("Run your own copy of GN2" 0 24 (:parent #73))) #("\n" 0 1 (:parent #70)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #71) #("Set up nginx port forwarding" 0 28 (:parent #74))) #("\n" 0 1 (:parent #71)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #53) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #61) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #64) #("Source deployment and other information on reproducibility" 0 58 (:parent #67))) #("\n" 0 1 (:parent #64))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #61) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #71) #("Update to recent guix" 0 21 (:parent #74))) #("\n" 0 1 (:parent #71)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #69) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #72) #("Install GN2" 0 11 (:parent #75))) #("\n" 0 1 (:parent #72)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #70) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #73) #("Run GN2" 0 7 (:parent #76))) #("\n" 0 1 (:parent #73)))))))) . #0)) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #1) #("Introduction" 0 12 (:parent #4))) #("\n" 0 1 (:parent #1)))) "")
org-export-data((item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #80))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #126) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #129))) #80 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #131))) :mode nil :granularity nil :parent #126) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #131) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #134) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #137)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #137) #("Guix-notes" 0 10 (:parent #141))) #("and the main " 0 13 (:parent #137)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #137)) #("doc).\n" 0 6 (:parent #137))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #132))) :mode nil :granularity nil :parent #126) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #135))) :mode section :granularity nil :parent #132) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #135) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #138) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #141))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #138) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #142))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #136))) :mode nil :granularity nil :parent #132) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #136) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #139) #("Fetch the GNU Guix binary from " 0 31 (:parent #142)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #142) #("here" 0 4 (:parent #146))) #("(middle panel) and follow\n" 0 26 (:parent #142)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #142) #("instructions" 0 12 (:parent #148))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #142))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #139) #("Once you have succeeded, you have to " 0 37 (:parent #143)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #143) #("set the key" 0 11 (:parent #147))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #143))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #139)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #139) #("Which should show something like\n" 0 33 (:parent #145))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #139)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #139) #("#+end" 0 5 (:parent #147)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #147) #("src" 0 3 (:parent #151))) #("\n" 0 1 (:parent #147))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #139) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #148))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #139)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #139) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #150))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #139) #("If you need more help we have another writeup in " 0 49 (:parent #151)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #151) #("guix-notes" 0 10 (:parent #155))) #(". To get\nrid of the locale warning see " 0 39 (:parent #151)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #151) #("set-locale" 0 10 (:parent #157))) #(".\n" 0 2 (:parent #151))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #137))) :mode nil :granularity nil :parent #132) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #137) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #140) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #143))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #140)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #140) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #145))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #140) #("#+begin" 0 7 (:parent #146)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #146) #("src" 0 3 (:parent #150))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #146)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #146)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #146)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #146)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #146)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #146) #("src" 0 3 (:parent #156))) #("bash\n" 0 5 (:parent #146))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #140) #("To test whether this is working try:\n" 0 37 (:parent #147))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #140) #("#+begin" 0 7 (:parent #148)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #148) #("src" 0 3 (:parent #152))) #("bash\n#+end" 0 10 (:parent #148)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #148) #("src" 0 3 (:parent #154))) #("bash\n" 0 5 (:parent #148))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #138))) :mode nil :granularity nil :parent #132) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #138) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #141) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #144))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #141)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #141) #("by pasting it into the command\n" 0 31 (:parent #146))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #141)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #141) #("and hit Ctrl-D.\n" 0 16 (:parent #148))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #141) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #149))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #139))) :mode nil :granularity nil :parent #132) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #139) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #142) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #145))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #142)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #142) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #147))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #142)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #142) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #149)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #149) #("root" 0 4 (:parent #153))) #(".config/guix/latest override).\n" 0 31 (:parent #149))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #142) #("And install with\n" 0 17 (:parent #150))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #142)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #142) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #152))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #142) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #153))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #142) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #154))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #142)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #142) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #156))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #142)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #142) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #158)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #158)) #(".\n" 0 2 (:parent #158))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #142) #("End of the GN2 installation recipe!\n" 0 36 (:parent #159)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #133))) :mode nil :granularity nil :parent #126) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #133) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #136) #("GNU Guix allows for " 0 20 (:parent #139)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #139) #("reproducible deployment" 0 23 (:parent #143))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #139))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #136)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #136) #("Next build guix (and run) following the instructions in " 0 56 (:parent #141)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #141) #("guix-notes" 0 10 (:parent #145))) #(".\n" 0 2 (:parent #141))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #136) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #142))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #136)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #136) #("So\n" 0 3 (:parent #144))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #136) #("#+begin" 0 7 (:parent #145)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #145) #("src" 0 3 (:parent #149))) #("sh :lang bash\n#+begin" 0 23 (:parent #145)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #145) #("src" 0 3 (:parent #151))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #145)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #145) #("PACKAGE" 0 7 (:parent #153))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #145) #("PATH" 0 4 (:parent #154))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #145)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #145) #("src" 0 3 (:parent #156))) #("sh :lang bash\n" 0 16 (:parent #145))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #136) #("Install with\n" 0 13 (:parent #146))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #136) #("#+begin" 0 7 (:parent #147)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #147) #("src" 0 3 (:parent #151))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #147)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #147) #("PACKAGE" 0 7 (:parent #153))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #147) #("PATH" 0 4 (:parent #154))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #147)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #147) #("src" 0 3 (:parent #156))) #("sh :lang bash\n" 0 16 (:parent #147))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #134))) :mode nil :granularity nil :parent #126) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #134) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #137)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #135))) :mode nil :granularity nil :parent #126) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #135) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #138) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #141))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #138) #("First execute above 4 steps:\n" 0 29 (:parent #142))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #138) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #146) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #149) #("Step 1: Install GNU Guix" 0 24 (:parent #152))) #("\n" 0 1 (:parent #149)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #147) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #150) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #153))) #("\n" 0 1 (:parent #150)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #148) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #151) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #154))) #("\n" 0 1 (:parent #151)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #149) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #152) #("Step 4: Install and run GN2 " 0 28 (:parent #155))) #("\n" 0 1 (:parent #152)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #139))) :mode nil :granularity nil :parent #135) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #139) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #142) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #145)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #145)) #(".\n" 0 2 (:parent #145))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #142) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #146)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #146) #("PATH" 0 4 (:parent #150))) #("and\nR" 0 5 (:parent #146)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #146) #("LIBS" 0 4 (:parent #152))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #146) #("SITE" 0 4 (:parent #153))) #("are set) from the information given by guix:\n" 0 45 (:parent #146))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #142)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #142) #("Inside the repository:\n" 0 23 (:parent #148))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #142)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #142) #("Will fire up your local repo " 0 29 (:parent #150)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #150)) #("using the\nsettings in ./etc/default" 0 35 (:parent #150)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #150) #("settings.py" 0 11 (:parent #156))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #150)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #150) #("settings.py" 0 11 (:parent #158))) #("and pass it into GN2 with\n" 0 26 (:parent #150))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #142)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #142) #("and everything " 0 15 (:parent #152)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #152) #("should" 0 6 (:parent #156))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #152))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #142) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #153))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #142)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #140))) :mode nil :granularity nil :parent #135) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #140) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #143) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #146))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #143) #("#+begin" 0 7 (:parent #147)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #147) #("src" 0 3 (:parent #151))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #147)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #147) #("name" 0 4 (:parent #153))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #147)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #147) #("log" 0 3 (:parent #155))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #147))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #143) #(" proxy" 0 13 (:parent #148)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #148) #("connect" 0 7 (:parent #152))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #148) #("timeout" 0 7 (:parent #153))) #("3000;\n proxy" 0 19 (:parent #148)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #148) #("send" 0 4 (:parent #155))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #148) #("timeout" 0 7 (:parent #156))) #("3000;\n proxy" 0 19 (:parent #148)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #148) #("read" 0 4 (:parent #158))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #148) #("timeout" 0 7 (:parent #159))) #("3000;\n send" 0 18 (:parent #148)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #148) #("timeout" 0 7 (:parent #161))) #("3000;\n" 0 6 (:parent #148))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #143) #(" location / {\n proxy" 0 38 (:parent #149)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #149) #("set" 0 3 (:parent #153))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #149) #("header" 0 6 (:parent #154))) #("Host $http" 0 15 (:parent #149)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #149) #("host" 0 4 (:parent #156))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #149) #("set" 0 3 (:parent #158))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #149) #("header" 0 6 (:parent #159))) #("Connection keep-alive;\n proxy" 0 40 (:parent #149)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #149) #("set" 0 3 (:parent #161))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #149) #("header" 0 6 (:parent #162))) #("X-Real-IP $remote" 0 17 (:parent #149)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #149) #("addr" 0 4 (:parent #164))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #149) #("set" 0 3 (:parent #166))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #149) #("header" 0 6 (:parent #167))) #("X-Forwarded-For $proxy" 0 22 (:parent #149)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #149) #("add" 0 3 (:parent #169))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #149) #("x" 0 1 (:parent #170))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #149) #("forwarded" 0 9 (:parent #171))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #149) #("for" 0 3 (:parent #172))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #149) #("set" 0 3 (:parent #174))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #149) #("header" 0 6 (:parent #175))) #("X-Forwarded-Host $server" 0 24 (:parent #149)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #149) #("name" 0 4 (:parent #177))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #149) #("pass" 0 4 (:parent #179))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #149)) #(";\n }\n}\n#+end" 0 19 (:parent #149)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #149) #("src" 0 3 (:parent #182))) #("js\n" 0 3 (:parent #149))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #143) #("Install the nginx webserver (as root)\n" 0 38 (:parent #150))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #143)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #143) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #152))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #143)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #143) #("Use that path\n" 0 14 (:parent #154))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #143)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #143) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #156))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #143)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #143) #("Make dirs\n" 0 10 (:parent #158))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #143)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #143) #("Add users\n" 0 10 (:parent #160))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #143)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #143) #("Run nginx\n" 0 10 (:parent #162))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #143))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #136))) :mode nil :granularity nil :parent #126) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #136) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #139) #("See the document " 0 17 (:parent #142)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #142)) #(".\n" 0 2 (:parent #142)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #140))) :mode nil :granularity nil :parent #136) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #140) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #143) #("We now compile Guix from scratch.\n" 0 34 (:parent #146))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #143) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #147)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #147) #("these" 0 5 (:parent #151))) #("steps carefully after\n" 0 22 (:parent #147))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #143)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #143) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #149))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #141))) :mode nil :granularity nil :parent #136) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #141) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #144) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #147))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #144) #("#+begin" 0 7 (:parent #148)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #148) #("src" 0 3 (:parent #152))) #("bash\nenv GUIX" 0 13 (:parent #148)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #148) #("PACKAGE" 0 7 (:parent #154))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #148) #("PATH" 0 4 (:parent #155))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #148)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #148)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #148)) #("\"\n#+end" 0 7 (:parent #148)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #148) #("src" 0 3 (:parent #160))) #("bash\n" 0 5 (:parent #148))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #144) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #149))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #144) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #150))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #142))) :mode nil :granularity nil :parent #136) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #142) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #145) #("Make a note of the paths with\n" 0 30 (:parent #148))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #149)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #149) #("src" 0 3 (:parent #153))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #149)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #149) #("src" 0 3 (:parent #155))) #("bash\n" 0 5 (:parent #149))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #145) #("or this should also work if guix is installed\n" 0 46 (:parent #150))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #151)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #151) #("src" 0 3 (:parent #155))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #151)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #151) #("src" 0 3 (:parent #157))) #("bash\n" 0 5 (:parent #151))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #145) #("After setting the paths for the server\n" 0 39 (:parent #152))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #153)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #153) #("src" 0 3 (:parent #157))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #153)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #153) #("LIBS" 0 4 (:parent #159))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #153) #("SITE" 0 4 (:parent #160))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #153)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #153) #("GTK3" 0 4 (:parent #162))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #153) #("PATH" 0 4 (:parent #163))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #153)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #153) #("TYPELIB" 0 7 (:parent #165))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #153) #("PATH" 0 4 (:parent #166))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #153)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #153) #("DATA" 0 4 (:parent #168))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #153) #("DIRS" 0 4 (:parent #169))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #153)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #153) #("EXTRA" 0 5 (:parent #171))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #153) #("MODULES" 0 7 (:parent #172))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #153)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #153) #("src" 0 3 (:parent #174))) #("bash\n" 0 5 (:parent #153))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #145) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #154))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #155)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #155) #("src" 0 3 (:parent #159))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #155)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #155) #("src" 0 3 (:parent #161))) #("bash\n" 0 5 (:parent #155)))))))) #56)) #32)) #0 (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #36) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #39) #("Binary deployment through GNU Guix" 0 34 (:parent #42))) #("\n" 0 1 (:parent #39))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #36) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #43) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #46) #("Quick installation recipe" 0 25 (:parent #49))) #("\n" 0 1 (:parent #46)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #44) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #47) #("Step 1: Install GNU Guix" 0 24 (:parent #50))) #("\n" 0 1 (:parent #47)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #45) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #48) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #51))) #("\n" 0 1 (:parent #48)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #46) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #49) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #52))) #("\n" 0 1 (:parent #49)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #47) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #50) #("Step 4: Install and run GN2" 0 27 (:parent #53))) #("\n" 0 1 (:parent #50)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #37) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #40) #("From source deployment" 0 22 (:parent #43))) #("\n" 0 1 (:parent #40)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #38) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #41) #("Create archive" 0 14 (:parent #44))) #("\n" 0 1 (:parent #41)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #39) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #42) #("Source deployment" 0 17 (:parent #45))) #("\n" 0 1 (:parent #42))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #39) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #43) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #46) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #49) #("Run your own copy of GN2" 0 24 (:parent #52))) #("\n" 0 1 (:parent #49)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #43) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #47) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #50) #("Set up nginx port forwarding" 0 28 (:parent #53))) #("\n" 0 1 (:parent #50)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #40) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #43) #("Source deployment and other information on reproducibility" 0 58 (:parent #46))) #("\n" 0 1 (:parent #43))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #40) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #44) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #47) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #50) #("Update to recent guix" 0 21 (:parent #53))) #("\n" 0 1 (:parent #50)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #44) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #48) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #51) #("Install GN2" 0 11 (:parent #54))) #("\n" 0 1 (:parent #51)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #44) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #49) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #52) #("Run GN2" 0 7 (:parent #55))) #("\n" 0 1 (:parent #52)))))))) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #0) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #3) #("Introduction" 0 12 (:parent #6))) #("\n" 0 1 (:parent #3)))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section ") :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" " \n" . " ") :html-table-header-tags ("" . " ") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (underline . "%s") (verbatim . "" :html-table-row-close-tag " " :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 29.4 (Org mode 9.6.15)" :with-latex t :latex-header nil :title (#("Installing GeneNetwork services with GNU Guix" 0 45 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #338) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #341))) (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #342))) :mode nil :granularity nil :parent #338) (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent #342) (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent #345) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #351) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #354) #("Introduction" 0 12 (:parent #357))) #("\n" 0 1 (:parent #354)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #352) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #355) #("Binary deployment through GNU Guix" 0 34 (:parent #358))) #("\n" 0 1 (:parent #355))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #352) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #362) #("Quick installation recipe" 0 25 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #363) #("Step 1: Install GNU Guix" 0 24 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #364) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #367))) #("\n" 0 1 (:parent #364)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #365) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #366) #("Step 4: Install and run GN2" 0 27 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #353) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #356) #("From source deployment" 0 22 (:parent #359))) #("\n" 0 1 (:parent #356)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #354) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #357) #("Create archive" 0 14 (:parent #360))) #("\n" 0 1 (:parent #357)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #355) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #358) #("Source deployment" 0 17 (:parent #361))) #("\n" 0 1 (:parent #358))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #355) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #365) #("Run your own copy of GN2" 0 24 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #366) #("Set up nginx port forwarding" 0 28 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #356) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #359) #("Source deployment and other information on reproducibility" 0 58 (:parent #362))) #("\n" 0 1 (:parent #359))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #356) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #366) #("Update to recent guix" 0 21 (:parent #369))) #("\n" 0 1 (:parent #366)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #367) #("Install GN2" 0 11 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #368) #("Run GN2" 0 7 (:parent #371))) #("\n" 0 1 (:parent #368))))))))) (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #343))) :mode nil :granularity nil :parent #338) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #343) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #346) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #349)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #349) #("Guix-notes" 0 10 (:parent #353))) #("and the main " 0 13 (:parent #349)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #349)) #("doc).\n" 0 6 (:parent #349))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #344))) :mode nil :granularity nil :parent #338) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #347))) :mode section :granularity nil :parent #344) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #347) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #350) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #353))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #350) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #354))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #348))) :mode nil :granularity nil :parent #344) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #348) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #351) #("Fetch the GNU Guix binary from " 0 31 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #354) #("here" 0 4 (:parent #358))) #("(middle panel) and follow\n" 0 26 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #354) #("instructions" 0 12 (:parent #360))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #354))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #351) #("Once you have succeeded, you have to " 0 37 (:parent #355)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #355) #("set the key" 0 11 (:parent #359))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #351)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #351) #("Which should show something like\n" 0 33 (:parent #357))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #351)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #351) #("#+end" 0 5 (:parent #359)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #359) #("src" 0 3 (:parent #363))) #("\n" 0 1 (:parent #359))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #351) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #360))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #351)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #351) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #362))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #351) #("If you need more help we have another writeup in " 0 49 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #363) #("guix-notes" 0 10 (:parent #367))) #(". To get\nrid of the locale warning see " 0 39 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #363) #("set-locale" 0 10 (:parent #369))) #(".\n" 0 2 (:parent #363))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #349))) :mode nil :granularity nil :parent #344) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #349) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #352) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #352)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #352) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #357))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #358)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #358) #("src" 0 3 (:parent #362))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #358)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #358)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #358)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #358) #("src" 0 3 (:parent #368))) #("bash\n" 0 5 (:parent #358))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #352) #("To test whether this is working try:\n" 0 37 (:parent #359))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\n#+end" 0 10 (:parent #360)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #360) #("src" 0 3 (:parent #366))) #("bash\n" 0 5 (:parent #360))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #350))) :mode nil :granularity nil :parent #344) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #350) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #353) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #356))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #353)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #353) #("by pasting it into the command\n" 0 31 (:parent #358))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #353)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #353) #("and hit Ctrl-D.\n" 0 16 (:parent #360))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #353) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #361))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #351))) :mode nil :granularity nil :parent #344) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #351) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #354) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #357))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #354)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #354) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #359))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #354)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #354) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #361)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #361) #("root" 0 4 (:parent #365))) #(".config/guix/latest override).\n" 0 31 (:parent #361))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #354) #("And install with\n" 0 17 (:parent #362))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #354)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #354) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #364))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #354) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #365))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #354) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #366))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #354) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #368))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #354) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #370)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #370)) #(".\n" 0 2 (:parent #370))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #354) #("End of the GN2 installation recipe!\n" 0 36 (:parent #371)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #345))) :mode nil :granularity nil :parent #338) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #345) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #348) #("GNU Guix allows for " 0 20 (:parent #351)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #351) #("reproducible deployment" 0 23 (:parent #355))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #351))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #348)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #348) #("Next build guix (and run) following the instructions in " 0 56 (:parent #353)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #353) #("guix-notes" 0 10 (:parent #357))) #(".\n" 0 2 (:parent #353))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #348) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #354))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #348)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #348) #("So\n" 0 3 (:parent #356))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #348) #("#+begin" 0 7 (:parent #357)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #357) #("src" 0 3 (:parent #361))) #("sh :lang bash\n#+begin" 0 23 (:parent #357)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #357) #("src" 0 3 (:parent #363))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #357)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #357) #("PACKAGE" 0 7 (:parent #365))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #357) #("PATH" 0 4 (:parent #366))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #357)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #357) #("src" 0 3 (:parent #368))) #("sh :lang bash\n" 0 16 (:parent #357))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #348) #("Install with\n" 0 13 (:parent #358))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #348) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #359)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #359) #("PACKAGE" 0 7 (:parent #365))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #359) #("PATH" 0 4 (:parent #366))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #359)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #359) #("src" 0 3 (:parent #368))) #("sh :lang bash\n" 0 16 (:parent #359))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #346))) :mode nil :granularity nil :parent #338) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #346) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #349)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #347))) :mode nil :granularity nil :parent #338) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #347) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #350) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #353))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #350) #("First execute above 4 steps:\n" 0 29 (:parent #354))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #350) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #361) #("Step 1: Install GNU Guix" 0 24 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #362) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #363) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #364) #("Step 4: Install and run GN2 " 0 28 (:parent #367))) #("\n" 0 1 (:parent #364)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #351))) :mode nil :granularity nil :parent #347) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #351) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #354) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #357)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #357)) #(".\n" 0 2 (:parent #357))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #354) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #358)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #358) #("PATH" 0 4 (:parent #362))) #("and\nR" 0 5 (:parent #358)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #358) #("LIBS" 0 4 (:parent #364))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #358) #("SITE" 0 4 (:parent #365))) #("are set) from the information given by guix:\n" 0 45 (:parent #358))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #354)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #354) #("Inside the repository:\n" 0 23 (:parent #360))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #354)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #354) #("Will fire up your local repo " 0 29 (:parent #362)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #362)) #("using the\nsettings in ./etc/default" 0 35 (:parent #362)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #362) #("settings.py" 0 11 (:parent #368))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #362)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #370))) #("and pass it into GN2 with\n" 0 26 (:parent #362))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #354)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #354) #("and everything " 0 15 (:parent #364)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #364) #("should" 0 6 (:parent #368))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #364))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #354) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #365))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #354)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #352))) :mode nil :granularity nil :parent #347) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #352) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #355) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #358))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #355) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #359)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #359) #("name" 0 4 (:parent #365))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #359)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #359) #("log" 0 3 (:parent #367))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #359))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #355) #(" proxy" 0 13 (:parent #360)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #360) #("connect" 0 7 (:parent #364))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #360) #("timeout" 0 7 (:parent #365))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #360) #("send" 0 4 (:parent #367))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #368))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #360) #("read" 0 4 (:parent #370))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #371))) #("3000;\n send" 0 18 (:parent #360)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #360) #("timeout" 0 7 (:parent #373))) #("3000;\n" 0 6 (:parent #360))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #355) #(" location / {\n proxy" 0 38 (:parent #361)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #361) #("set" 0 3 (:parent #365))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #361) #("header" 0 6 (:parent #366))) #("Host $http" 0 15 (:parent #361)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #361) #("host" 0 4 (:parent #368))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #361) #("set" 0 3 (:parent #370))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #361) #("header" 0 6 (:parent #371))) #("Connection keep-alive;\n proxy" 0 40 (:parent #361)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #361) #("set" 0 3 (:parent #373))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #361) #("header" 0 6 (:parent #374))) #("X-Real-IP $remote" 0 17 (:parent #361)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #361) #("addr" 0 4 (:parent #376))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #361) #("set" 0 3 (:parent #378))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #361) #("header" 0 6 (:parent #379))) #("X-Forwarded-For $proxy" 0 22 (:parent #361)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #361) #("add" 0 3 (:parent #381))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #361) #("x" 0 1 (:parent #382))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #361) #("forwarded" 0 9 (:parent #383))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #361) #("for" 0 3 (:parent #384))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #361) #("set" 0 3 (:parent #386))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #361) #("header" 0 6 (:parent #387))) #("X-Forwarded-Host $server" 0 24 (:parent #361)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #361) #("name" 0 4 (:parent #389))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #361) #("pass" 0 4 (:parent #391))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #361)) #(";\n }\n}\n#+end" 0 19 (:parent #361)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #361) #("src" 0 3 (:parent #394))) #("js\n" 0 3 (:parent #361))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #355) #("Install the nginx webserver (as root)\n" 0 38 (:parent #362))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #355)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #355) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #364))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #355)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #355) #("Use that path\n" 0 14 (:parent #366))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #355) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #368))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #355) #("Make dirs\n" 0 10 (:parent #370))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #355) #("Add users\n" 0 10 (:parent #372))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #355) #("Run nginx\n" 0 10 (:parent #374))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #355))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #348))) :mode nil :granularity nil :parent #338) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #348) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #351) #("See the document " 0 17 (:parent #354)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #354)) #(".\n" 0 2 (:parent #354)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #352))) :mode nil :granularity nil :parent #348) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #352) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #355) #("We now compile Guix from scratch.\n" 0 34 (:parent #358))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #355) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #359)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #359) #("these" 0 5 (:parent #363))) #("steps carefully after\n" 0 22 (:parent #359))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #355) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #361))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #353))) :mode nil :granularity nil :parent #348) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #353) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #356) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #359))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #356) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\nenv GUIX" 0 13 (:parent #360)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #360) #("PACKAGE" 0 7 (:parent #366))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #360) #("PATH" 0 4 (:parent #367))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #360)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #360)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #360)) #("\"\n#+end" 0 7 (:parent #360)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #360) #("src" 0 3 (:parent #372))) #("bash\n" 0 5 (:parent #360))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #356) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #361))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #356) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #362))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #354))) :mode nil :granularity nil :parent #348) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #354) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #357) #("Make a note of the paths with\n" 0 30 (:parent #360))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #361)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #361) #("src" 0 3 (:parent #365))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #361)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #361) #("src" 0 3 (:parent #367))) #("bash\n" 0 5 (:parent #361))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #357) #("or this should also work if guix is installed\n" 0 46 (:parent #362))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #363)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #363) #("src" 0 3 (:parent #367))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #363)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #363) #("src" 0 3 (:parent #369))) #("bash\n" 0 5 (:parent #363))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #357) #("After setting the paths for the server\n" 0 39 (:parent #364))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #365)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #365) #("src" 0 3 (:parent #369))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #365)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #365) #("LIBS" 0 4 (:parent #371))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #365) #("SITE" 0 4 (:parent #372))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #365)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #365) #("GTK3" 0 4 (:parent #374))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #365) #("PATH" 0 4 (:parent #375))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #365)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #365) #("TYPELIB" 0 7 (:parent #377))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #365) #("PATH" 0 4 (:parent #378))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #365)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #365) #("DATA" 0 4 (:parent #380))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #365) #("DIRS" 0 4 (:parent #381))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #365)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #365) #("EXTRA" 0 5 (:parent #383))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #365) #("MODULES" 0 7 (:parent #384))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #365)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #365) #("src" 0 3 (:parent #386))) #("bash\n" 0 5 (:parent #365))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #357) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #366))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #367)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #367) #("src" 0 3 (:parent #371))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #367)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #367) #("src" 0 3 (:parent #373))) #("bash\n" 0 5 (:parent #367))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #))
#f(compiled-function (element) #)((item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #80))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #126) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #129))) #80 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #131))) :mode nil :granularity nil :parent #126) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #131) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #134) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #137)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #137) #("Guix-notes" 0 10 (:parent #141))) #("and the main " 0 13 (:parent #137)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #137)) #("doc).\n" 0 6 (:parent #137))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #132))) :mode nil :granularity nil :parent #126) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #135))) :mode section :granularity nil :parent #132) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #135) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #138) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #141))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #138) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #142))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #136))) :mode nil :granularity nil :parent #132) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #136) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #139) #("Fetch the GNU Guix binary from " 0 31 (:parent #142)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #142) #("here" 0 4 (:parent #146))) #("(middle panel) and follow\n" 0 26 (:parent #142)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #142) #("instructions" 0 12 (:parent #148))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #142))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #139) #("Once you have succeeded, you have to " 0 37 (:parent #143)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #143) #("set the key" 0 11 (:parent #147))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #143))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #139)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #139) #("Which should show something like\n" 0 33 (:parent #145))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #139)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #139) #("#+end" 0 5 (:parent #147)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #147) #("src" 0 3 (:parent #151))) #("\n" 0 1 (:parent #147))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #139) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #148))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #139)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #139) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #150))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #139) #("If you need more help we have another writeup in " 0 49 (:parent #151)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #151) #("guix-notes" 0 10 (:parent #155))) #(". To get\nrid of the locale warning see " 0 39 (:parent #151)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #151) #("set-locale" 0 10 (:parent #157))) #(".\n" 0 2 (:parent #151))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #137))) :mode nil :granularity nil :parent #132) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #137) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #140) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #143))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #140)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #140) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #145))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #140) #("#+begin" 0 7 (:parent #146)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #146) #("src" 0 3 (:parent #150))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #146)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #146)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #146)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #146)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #146)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #146) #("src" 0 3 (:parent #156))) #("bash\n" 0 5 (:parent #146))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #140) #("To test whether this is working try:\n" 0 37 (:parent #147))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #140) #("#+begin" 0 7 (:parent #148)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #148) #("src" 0 3 (:parent #152))) #("bash\n#+end" 0 10 (:parent #148)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #148) #("src" 0 3 (:parent #154))) #("bash\n" 0 5 (:parent #148))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #138))) :mode nil :granularity nil :parent #132) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #138) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #141) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #144))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #141)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #141) #("by pasting it into the command\n" 0 31 (:parent #146))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #141)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #141) #("and hit Ctrl-D.\n" 0 16 (:parent #148))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #141) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #149))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #139))) :mode nil :granularity nil :parent #132) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #139) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #142) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #145))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #142)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #142) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #147))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #142)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #142) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #149)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #149) #("root" 0 4 (:parent #153))) #(".config/guix/latest override).\n" 0 31 (:parent #149))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #142) #("And install with\n" 0 17 (:parent #150))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #142)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #142) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #152))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #142) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #153))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #142) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #154))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #142)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #142) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #156))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #142)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #142) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #158)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #158)) #(".\n" 0 2 (:parent #158))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #142) #("End of the GN2 installation recipe!\n" 0 36 (:parent #159)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #133))) :mode nil :granularity nil :parent #126) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #133) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #136) #("GNU Guix allows for " 0 20 (:parent #139)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #139) #("reproducible deployment" 0 23 (:parent #143))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #139))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #136)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #136) #("Next build guix (and run) following the instructions in " 0 56 (:parent #141)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #141) #("guix-notes" 0 10 (:parent #145))) #(".\n" 0 2 (:parent #141))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #136) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #142))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #136)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #136) #("So\n" 0 3 (:parent #144))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #136) #("#+begin" 0 7 (:parent #145)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #145) #("src" 0 3 (:parent #149))) #("sh :lang bash\n#+begin" 0 23 (:parent #145)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #145) #("src" 0 3 (:parent #151))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #145)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #145) #("PACKAGE" 0 7 (:parent #153))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #145) #("PATH" 0 4 (:parent #154))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #145)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #145) #("src" 0 3 (:parent #156))) #("sh :lang bash\n" 0 16 (:parent #145))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #136) #("Install with\n" 0 13 (:parent #146))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #136) #("#+begin" 0 7 (:parent #147)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #147) #("src" 0 3 (:parent #151))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #147)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #147) #("PACKAGE" 0 7 (:parent #153))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #147) #("PATH" 0 4 (:parent #154))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #147)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #147) #("src" 0 3 (:parent #156))) #("sh :lang bash\n" 0 16 (:parent #147))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #134))) :mode nil :granularity nil :parent #126) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #134) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #137)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #135))) :mode nil :granularity nil :parent #126) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #135) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #138) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #141))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #138) #("First execute above 4 steps:\n" 0 29 (:parent #142))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #138) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #146) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #149) #("Step 1: Install GNU Guix" 0 24 (:parent #152))) #("\n" 0 1 (:parent #149)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #147) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #150) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #153))) #("\n" 0 1 (:parent #150)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #148) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #151) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #154))) #("\n" 0 1 (:parent #151)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #149) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #152) #("Step 4: Install and run GN2 " 0 28 (:parent #155))) #("\n" 0 1 (:parent #152)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #139))) :mode nil :granularity nil :parent #135) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #139) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #142) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #145)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #145)) #(".\n" 0 2 (:parent #145))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #142) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #146)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #146) #("PATH" 0 4 (:parent #150))) #("and\nR" 0 5 (:parent #146)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #146) #("LIBS" 0 4 (:parent #152))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #146) #("SITE" 0 4 (:parent #153))) #("are set) from the information given by guix:\n" 0 45 (:parent #146))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #142)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #142) #("Inside the repository:\n" 0 23 (:parent #148))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #142)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #142) #("Will fire up your local repo " 0 29 (:parent #150)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #150)) #("using the\nsettings in ./etc/default" 0 35 (:parent #150)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #150) #("settings.py" 0 11 (:parent #156))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #150)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #150) #("settings.py" 0 11 (:parent #158))) #("and pass it into GN2 with\n" 0 26 (:parent #150))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #142)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #142) #("and everything " 0 15 (:parent #152)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #152) #("should" 0 6 (:parent #156))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #152))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #142) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #153))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #142)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #140))) :mode nil :granularity nil :parent #135) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #140) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #143) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #146))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #143) #("#+begin" 0 7 (:parent #147)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #147) #("src" 0 3 (:parent #151))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #147)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #147) #("name" 0 4 (:parent #153))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #147)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #147) #("log" 0 3 (:parent #155))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #147))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #143) #(" proxy" 0 13 (:parent #148)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #148) #("connect" 0 7 (:parent #152))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #148) #("timeout" 0 7 (:parent #153))) #("3000;\n proxy" 0 19 (:parent #148)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #148) #("send" 0 4 (:parent #155))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #148) #("timeout" 0 7 (:parent #156))) #("3000;\n proxy" 0 19 (:parent #148)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #148) #("read" 0 4 (:parent #158))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #148) #("timeout" 0 7 (:parent #159))) #("3000;\n send" 0 18 (:parent #148)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #148) #("timeout" 0 7 (:parent #161))) #("3000;\n" 0 6 (:parent #148))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #143) #(" location / {\n proxy" 0 38 (:parent #149)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #149) #("set" 0 3 (:parent #153))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #149) #("header" 0 6 (:parent #154))) #("Host $http" 0 15 (:parent #149)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #149) #("host" 0 4 (:parent #156))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #149) #("set" 0 3 (:parent #158))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #149) #("header" 0 6 (:parent #159))) #("Connection keep-alive;\n proxy" 0 40 (:parent #149)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #149) #("set" 0 3 (:parent #161))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #149) #("header" 0 6 (:parent #162))) #("X-Real-IP $remote" 0 17 (:parent #149)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #149) #("addr" 0 4 (:parent #164))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #149) #("set" 0 3 (:parent #166))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #149) #("header" 0 6 (:parent #167))) #("X-Forwarded-For $proxy" 0 22 (:parent #149)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #149) #("add" 0 3 (:parent #169))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #149) #("x" 0 1 (:parent #170))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #149) #("forwarded" 0 9 (:parent #171))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #149) #("for" 0 3 (:parent #172))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #149) #("set" 0 3 (:parent #174))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #149) #("header" 0 6 (:parent #175))) #("X-Forwarded-Host $server" 0 24 (:parent #149)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #149) #("name" 0 4 (:parent #177))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #149) #("pass" 0 4 (:parent #179))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #149)) #(";\n }\n}\n#+end" 0 19 (:parent #149)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #149) #("src" 0 3 (:parent #182))) #("js\n" 0 3 (:parent #149))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #143) #("Install the nginx webserver (as root)\n" 0 38 (:parent #150))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #143)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #143) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #152))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #143)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #143) #("Use that path\n" 0 14 (:parent #154))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #143)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #143) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #156))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #143)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #143) #("Make dirs\n" 0 10 (:parent #158))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #143)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #143) #("Add users\n" 0 10 (:parent #160))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #143)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #143) #("Run nginx\n" 0 10 (:parent #162))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #143))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #136))) :mode nil :granularity nil :parent #126) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #136) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #139) #("See the document " 0 17 (:parent #142)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #142)) #(".\n" 0 2 (:parent #142)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #140))) :mode nil :granularity nil :parent #136) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #140) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #143) #("We now compile Guix from scratch.\n" 0 34 (:parent #146))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #143) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #147)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #147) #("these" 0 5 (:parent #151))) #("steps carefully after\n" 0 22 (:parent #147))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #143)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #143) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #149))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #141))) :mode nil :granularity nil :parent #136) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #141) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #144) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #147))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #144) #("#+begin" 0 7 (:parent #148)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #148) #("src" 0 3 (:parent #152))) #("bash\nenv GUIX" 0 13 (:parent #148)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #148) #("PACKAGE" 0 7 (:parent #154))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #148) #("PATH" 0 4 (:parent #155))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #148)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #148)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #148)) #("\"\n#+end" 0 7 (:parent #148)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #148) #("src" 0 3 (:parent #160))) #("bash\n" 0 5 (:parent #148))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #144) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #149))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #144) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #150))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #142))) :mode nil :granularity nil :parent #136) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #142) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #145) #("Make a note of the paths with\n" 0 30 (:parent #148))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #149)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #149) #("src" 0 3 (:parent #153))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #149)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #149) #("src" 0 3 (:parent #155))) #("bash\n" 0 5 (:parent #149))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #145) #("or this should also work if guix is installed\n" 0 46 (:parent #150))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #151)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #151) #("src" 0 3 (:parent #155))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #151)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #151) #("src" 0 3 (:parent #157))) #("bash\n" 0 5 (:parent #151))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #145) #("After setting the paths for the server\n" 0 39 (:parent #152))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #153)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #153) #("src" 0 3 (:parent #157))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #153)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #153) #("LIBS" 0 4 (:parent #159))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #153) #("SITE" 0 4 (:parent #160))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #153)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #153) #("GTK3" 0 4 (:parent #162))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #153) #("PATH" 0 4 (:parent #163))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #153)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #153) #("TYPELIB" 0 7 (:parent #165))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #153) #("PATH" 0 4 (:parent #166))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #153)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #153) #("DATA" 0 4 (:parent #168))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #153) #("DIRS" 0 4 (:parent #169))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #153)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #153) #("EXTRA" 0 5 (:parent #171))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #153) #("MODULES" 0 7 (:parent #172))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #153)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #153) #("src" 0 3 (:parent #174))) #("bash\n" 0 5 (:parent #153))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #145) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #154))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #155)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #155) #("src" 0 3 (:parent #159))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #155)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #155) #("src" 0 3 (:parent #161))) #("bash\n" 0 5 (:parent #155)))))))) #56)) #32)) #0 (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #36) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #39) #("Binary deployment through GNU Guix" 0 34 (:parent #42))) #("\n" 0 1 (:parent #39))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #36) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #43) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #46) #("Quick installation recipe" 0 25 (:parent #49))) #("\n" 0 1 (:parent #46)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #44) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #47) #("Step 1: Install GNU Guix" 0 24 (:parent #50))) #("\n" 0 1 (:parent #47)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #45) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #48) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #51))) #("\n" 0 1 (:parent #48)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #46) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #49) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #52))) #("\n" 0 1 (:parent #49)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #47) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #50) #("Step 4: Install and run GN2" 0 27 (:parent #53))) #("\n" 0 1 (:parent #50)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #37) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #40) #("From source deployment" 0 22 (:parent #43))) #("\n" 0 1 (:parent #40)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #38) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #41) #("Create archive" 0 14 (:parent #44))) #("\n" 0 1 (:parent #41)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #39) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #42) #("Source deployment" 0 17 (:parent #45))) #("\n" 0 1 (:parent #42))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #39) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #43) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #46) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #49) #("Run your own copy of GN2" 0 24 (:parent #52))) #("\n" 0 1 (:parent #49)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #43) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #47) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #50) #("Set up nginx port forwarding" 0 28 (:parent #53))) #("\n" 0 1 (:parent #50)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #40) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #43) #("Source deployment and other information on reproducibility" 0 58 (:parent #46))) #("\n" 0 1 (:parent #43))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #40) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #44) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #47) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #50) #("Update to recent guix" 0 21 (:parent #53))) #("\n" 0 1 (:parent #50)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #44) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #48) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #51) #("Install GN2" 0 11 (:parent #54))) #("\n" 0 1 (:parent #51)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #44) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #49) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #52) #("Run GN2" 0 7 (:parent #55))) #("\n" 0 1 (:parent #52)))))))) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #0) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #3) #("Introduction" 0 12 (:parent #6))) #("\n" 0 1 (:parent #3)))))
mapconcat(#f(compiled-function (element) #) ((item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #81))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #127) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #130))) #81 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #132))) :mode nil :granularity nil :parent #127) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #132) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #135) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #138)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #138) #("Guix-notes" 0 10 (:parent #142))) #("and the main " 0 13 (:parent #138)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #138)) #("doc).\n" 0 6 (:parent #138))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #133))) :mode nil :granularity nil :parent #127) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #136))) :mode section :granularity nil :parent #133) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #136) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #139) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #142))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #139) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #143))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #137))) :mode nil :granularity nil :parent #133) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #137) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #140) #("Fetch the GNU Guix binary from " 0 31 (:parent #143)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #143) #("here" 0 4 (:parent #147))) #("(middle panel) and follow\n" 0 26 (:parent #143)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #143) #("instructions" 0 12 (:parent #149))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #143))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #140) #("Once you have succeeded, you have to " 0 37 (:parent #144)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #144) #("set the key" 0 11 (:parent #148))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #144))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #140)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #140) #("Which should show something like\n" 0 33 (:parent #146))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #140)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #140) #("#+end" 0 5 (:parent #148)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #148) #("src" 0 3 (:parent #152))) #("\n" 0 1 (:parent #148))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #140) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #149))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #140)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #140) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #151))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #140) #("If you need more help we have another writeup in " 0 49 (:parent #152)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #152) #("guix-notes" 0 10 (:parent #156))) #(". To get\nrid of the locale warning see " 0 39 (:parent #152)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #152) #("set-locale" 0 10 (:parent #158))) #(".\n" 0 2 (:parent #152))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #138))) :mode nil :granularity nil :parent #133) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #138) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #141) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #144))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #141)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #141) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #146))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #141) #("#+begin" 0 7 (:parent #147)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #147) #("src" 0 3 (:parent #151))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #147)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #147)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #147)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #147)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #147)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #147) #("src" 0 3 (:parent #157))) #("bash\n" 0 5 (:parent #147))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #141) #("To test whether this is working try:\n" 0 37 (:parent #148))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #141) #("#+begin" 0 7 (:parent #149)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #149) #("src" 0 3 (:parent #153))) #("bash\n#+end" 0 10 (:parent #149)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #149) #("src" 0 3 (:parent #155))) #("bash\n" 0 5 (:parent #149))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #139))) :mode nil :granularity nil :parent #133) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #139) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #142) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #145))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #142)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #142) #("by pasting it into the command\n" 0 31 (:parent #147))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #142)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #142) #("and hit Ctrl-D.\n" 0 16 (:parent #149))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #142) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #150))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #140))) :mode nil :granularity nil :parent #133) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #140) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #143) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #146))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #143)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #143) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #148))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #143)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #143) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #150)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #150) #("root" 0 4 (:parent #154))) #(".config/guix/latest override).\n" 0 31 (:parent #150))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #143) #("And install with\n" 0 17 (:parent #151))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #143)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #143) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #153))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #143) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #154))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #143) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #155))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #143)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #143) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #157))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #143)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #143) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #159)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #159)) #(".\n" 0 2 (:parent #159))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #143) #("End of the GN2 installation recipe!\n" 0 36 (:parent #160)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #134))) :mode nil :granularity nil :parent #127) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #134) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #137) #("GNU Guix allows for " 0 20 (:parent #140)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #140) #("reproducible deployment" 0 23 (:parent #144))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #140))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #137)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #137) #("Next build guix (and run) following the instructions in " 0 56 (:parent #142)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #142) #("guix-notes" 0 10 (:parent #146))) #(".\n" 0 2 (:parent #142))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #137) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #143))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #137)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #137) #("So\n" 0 3 (:parent #145))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #137) #("#+begin" 0 7 (:parent #146)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #146) #("src" 0 3 (:parent #150))) #("sh :lang bash\n#+begin" 0 23 (:parent #146)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #146) #("src" 0 3 (:parent #152))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #146)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #146) #("PACKAGE" 0 7 (:parent #154))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #146) #("PATH" 0 4 (:parent #155))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #146)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #146) #("src" 0 3 (:parent #157))) #("sh :lang bash\n" 0 16 (:parent #146))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #137) #("Install with\n" 0 13 (:parent #147))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #137) #("#+begin" 0 7 (:parent #148)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #148) #("src" 0 3 (:parent #152))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #148)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #148) #("PACKAGE" 0 7 (:parent #154))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #148) #("PATH" 0 4 (:parent #155))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #148)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #148) #("src" 0 3 (:parent #157))) #("sh :lang bash\n" 0 16 (:parent #148))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #135))) :mode nil :granularity nil :parent #127) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #135) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #138)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #136))) :mode nil :granularity nil :parent #127) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #136) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #139) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #142))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #139) #("First execute above 4 steps:\n" 0 29 (:parent #143))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #139) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #144) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #147) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #150) #("Step 1: Install GNU Guix" 0 24 (:parent #153))) #("\n" 0 1 (:parent #150)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #144) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #148) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #151) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #154))) #("\n" 0 1 (:parent #151)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #144) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #149) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #152) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #155))) #("\n" 0 1 (:parent #152)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #144) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #150) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #153) #("Step 4: Install and run GN2 " 0 28 (:parent #156))) #("\n" 0 1 (:parent #153)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #140))) :mode nil :granularity nil :parent #136) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #140) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #143) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #146)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #146)) #(".\n" 0 2 (:parent #146))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #143) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #147)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #147) #("PATH" 0 4 (:parent #151))) #("and\nR" 0 5 (:parent #147)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #147) #("LIBS" 0 4 (:parent #153))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #147) #("SITE" 0 4 (:parent #154))) #("are set) from the information given by guix:\n" 0 45 (:parent #147))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #143)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #143) #("Inside the repository:\n" 0 23 (:parent #149))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #143)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #143) #("Will fire up your local repo " 0 29 (:parent #151)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #151)) #("using the\nsettings in ./etc/default" 0 35 (:parent #151)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #151) #("settings.py" 0 11 (:parent #157))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #151)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #151) #("settings.py" 0 11 (:parent #159))) #("and pass it into GN2 with\n" 0 26 (:parent #151))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #143)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #143) #("and everything " 0 15 (:parent #153)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #153) #("should" 0 6 (:parent #157))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #153))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #143) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #154))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #143)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #141))) :mode nil :granularity nil :parent #136) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #141) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #144) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #147))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #144) #("#+begin" 0 7 (:parent #148)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #148) #("src" 0 3 (:parent #152))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #148)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #148) #("name" 0 4 (:parent #154))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #148)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #148) #("log" 0 3 (:parent #156))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #148))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #144) #(" proxy" 0 13 (:parent #149)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #149) #("connect" 0 7 (:parent #153))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #149) #("timeout" 0 7 (:parent #154))) #("3000;\n proxy" 0 19 (:parent #149)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #149) #("send" 0 4 (:parent #156))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #149) #("timeout" 0 7 (:parent #157))) #("3000;\n proxy" 0 19 (:parent #149)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #149) #("read" 0 4 (:parent #159))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #149) #("timeout" 0 7 (:parent #160))) #("3000;\n send" 0 18 (:parent #149)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #149) #("timeout" 0 7 (:parent #162))) #("3000;\n" 0 6 (:parent #149))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #144) #(" location / {\n proxy" 0 38 (:parent #150)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #150) #("set" 0 3 (:parent #154))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #150) #("header" 0 6 (:parent #155))) #("Host $http" 0 15 (:parent #150)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #150) #("host" 0 4 (:parent #157))) #(";\n proxy" 0 19 (:parent #150)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #150) #("set" 0 3 (:parent #159))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #150) #("header" 0 6 (:parent #160))) #("Connection keep-alive;\n proxy" 0 40 (:parent #150)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #150) #("set" 0 3 (:parent #162))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #150) #("header" 0 6 (:parent #163))) #("X-Real-IP $remote" 0 17 (:parent #150)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #150) #("addr" 0 4 (:parent #165))) #(";\n proxy" 0 19 (:parent #150)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #150) #("set" 0 3 (:parent #167))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #150) #("header" 0 6 (:parent #168))) #("X-Forwarded-For $proxy" 0 22 (:parent #150)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #150) #("add" 0 3 (:parent #170))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #150) #("x" 0 1 (:parent #171))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #150) #("forwarded" 0 9 (:parent #172))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #150) #("for" 0 3 (:parent #173))) #(";\n proxy" 0 19 (:parent #150)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #150) #("set" 0 3 (:parent #175))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #150) #("header" 0 6 (:parent #176))) #("X-Forwarded-Host $server" 0 24 (:parent #150)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #150) #("name" 0 4 (:parent #178))) #(";\n proxy" 0 19 (:parent #150)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #150) #("pass" 0 4 (:parent #180))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #150)) #(";\n }\n}\n#+end" 0 19 (:parent #150)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #150) #("src" 0 3 (:parent #183))) #("js\n" 0 3 (:parent #150))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #144) #("Install the nginx webserver (as root)\n" 0 38 (:parent #151))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #144)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #144) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #153))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #144)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #144) #("Use that path\n" 0 14 (:parent #155))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #144)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #144) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #157))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #144)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #144) #("Make dirs\n" 0 10 (:parent #159))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #144)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #144) #("Add users\n" 0 10 (:parent #161))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #144)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #144) #("Run nginx\n" 0 10 (:parent #163))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #144))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #137))) :mode nil :granularity nil :parent #127) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #137) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #140) #("See the document " 0 17 (:parent #143)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #143)) #(".\n" 0 2 (:parent #143)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #141))) :mode nil :granularity nil :parent #137) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #141) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #144) #("We now compile Guix from scratch.\n" 0 34 (:parent #147))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #144) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #148)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #148) #("these" 0 5 (:parent #152))) #("steps carefully after\n" 0 22 (:parent #148))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #144)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #144) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #150))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #142))) :mode nil :granularity nil :parent #137) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #142) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #145) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #148))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #149)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #149) #("src" 0 3 (:parent #153))) #("bash\nenv GUIX" 0 13 (:parent #149)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #149) #("PACKAGE" 0 7 (:parent #155))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #149) #("PATH" 0 4 (:parent #156))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #149)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #149)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #149)) #("\"\n#+end" 0 7 (:parent #149)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #149) #("src" 0 3 (:parent #161))) #("bash\n" 0 5 (:parent #149))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #145) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #150))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #145) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #151))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #143))) :mode nil :granularity nil :parent #137) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #143) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #146) #("Make a note of the paths with\n" 0 30 (:parent #149))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #146) #("#+begin" 0 7 (:parent #150)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #150) #("src" 0 3 (:parent #154))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #150)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #150) #("src" 0 3 (:parent #156))) #("bash\n" 0 5 (:parent #150))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #146) #("or this should also work if guix is installed\n" 0 46 (:parent #151))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #146) #("#+begin" 0 7 (:parent #152)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #152) #("src" 0 3 (:parent #156))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #152)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #152) #("src" 0 3 (:parent #158))) #("bash\n" 0 5 (:parent #152))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #146) #("After setting the paths for the server\n" 0 39 (:parent #153))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #146) #("#+begin" 0 7 (:parent #154)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #154) #("src" 0 3 (:parent #158))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #154)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #154) #("LIBS" 0 4 (:parent #160))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #154) #("SITE" 0 4 (:parent #161))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #154)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #154) #("GTK3" 0 4 (:parent #163))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #154) #("PATH" 0 4 (:parent #164))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #154)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #154) #("TYPELIB" 0 7 (:parent #166))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #154) #("PATH" 0 4 (:parent #167))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #154)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #154) #("DATA" 0 4 (:parent #169))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #154) #("DIRS" 0 4 (:parent #170))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #154)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #154) #("EXTRA" 0 5 (:parent #172))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #154) #("MODULES" 0 7 (:parent #173))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #154)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #154) #("src" 0 3 (:parent #175))) #("bash\n" 0 5 (:parent #154))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #146) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #155))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #146) #("#+begin" 0 7 (:parent #156)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #156) #("src" 0 3 (:parent #160))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #156)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #156) #("src" 0 3 (:parent #162))) #("bash\n" 0 5 (:parent #156)))))))) #57)) #33)) . #0)) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #1) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #4) #("Introduction" 0 12 (:parent #7))) #("\n" 0 1 (:parent #4)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #82))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #128) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #131))) #82 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #133))) :mode nil :granularity nil :parent #128) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #133) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #136) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #139)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #139) #("Guix-notes" 0 10 (:parent #143))) #("and the main " 0 13 (:parent #139)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #139)) #("doc).\n" 0 6 (:parent #139))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #134))) :mode nil :granularity nil :parent #128) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #137))) :mode section :granularity nil :parent #134) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #137) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #140) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #143))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #140) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #144))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #138))) :mode nil :granularity nil :parent #134) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #138) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #141) #("Fetch the GNU Guix binary from " 0 31 (:parent #144)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #144) #("here" 0 4 (:parent #148))) #("(middle panel) and follow\n" 0 26 (:parent #144)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #144) #("instructions" 0 12 (:parent #150))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #144))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #141) #("Once you have succeeded, you have to " 0 37 (:parent #145)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #145) #("set the key" 0 11 (:parent #149))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #145))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #141)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #141) #("Which should show something like\n" 0 33 (:parent #147))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #141)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #141) #("#+end" 0 5 (:parent #149)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #149) #("src" 0 3 (:parent #153))) #("\n" 0 1 (:parent #149))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #141) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #150))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #141)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #141) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #152))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #141) #("If you need more help we have another writeup in " 0 49 (:parent #153)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #153) #("guix-notes" 0 10 (:parent #157))) #(". To get\nrid of the locale warning see " 0 39 (:parent #153)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #153) #("set-locale" 0 10 (:parent #159))) #(".\n" 0 2 (:parent #153))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #139))) :mode nil :granularity nil :parent #134) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #139) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #142) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #145))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #142)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #142) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #147))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #142) #("#+begin" 0 7 (:parent #148)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #148) #("src" 0 3 (:parent #152))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #148)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #148)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #148)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #148)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #148)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #148) #("src" 0 3 (:parent #158))) #("bash\n" 0 5 (:parent #148))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #142) #("To test whether this is working try:\n" 0 37 (:parent #149))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #142) #("#+begin" 0 7 (:parent #150)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #150) #("src" 0 3 (:parent #154))) #("bash\n#+end" 0 10 (:parent #150)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #150) #("src" 0 3 (:parent #156))) #("bash\n" 0 5 (:parent #150))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #140))) :mode nil :granularity nil :parent #134) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #140) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #143) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #146))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #143)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #143) #("by pasting it into the command\n" 0 31 (:parent #148))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #143)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #143) #("and hit Ctrl-D.\n" 0 16 (:parent #150))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #143) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #151))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #141))) :mode nil :granularity nil :parent #134) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #141) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #144) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #147))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #144)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #144) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #149))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #144)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #144) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #151)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #151) #("root" 0 4 (:parent #155))) #(".config/guix/latest override).\n" 0 31 (:parent #151))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #144) #("And install with\n" 0 17 (:parent #152))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #144)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #144) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #154))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #144) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #155))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #144) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #156))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #144)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #144) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #158))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #144)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #144) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #160)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #160)) #(".\n" 0 2 (:parent #160))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #144) #("End of the GN2 installation recipe!\n" 0 36 (:parent #161)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #135))) :mode nil :granularity nil :parent #128) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #135) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #138) #("GNU Guix allows for " 0 20 (:parent #141)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #141) #("reproducible deployment" 0 23 (:parent #145))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #141))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #138)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #138) #("Next build guix (and run) following the instructions in " 0 56 (:parent #143)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #143) #("guix-notes" 0 10 (:parent #147))) #(".\n" 0 2 (:parent #143))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #138) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #144))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #138)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #138) #("So\n" 0 3 (:parent #146))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #138) #("#+begin" 0 7 (:parent #147)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #147) #("src" 0 3 (:parent #151))) #("sh :lang bash\n#+begin" 0 23 (:parent #147)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #147) #("src" 0 3 (:parent #153))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #147)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #147) #("PACKAGE" 0 7 (:parent #155))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #147) #("PATH" 0 4 (:parent #156))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #147)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #147) #("src" 0 3 (:parent #158))) #("sh :lang bash\n" 0 16 (:parent #147))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #138) #("Install with\n" 0 13 (:parent #148))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #138) #("#+begin" 0 7 (:parent #149)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #149) #("src" 0 3 (:parent #153))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #149)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #149) #("PACKAGE" 0 7 (:parent #155))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #149) #("PATH" 0 4 (:parent #156))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #149)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #149) #("src" 0 3 (:parent #158))) #("sh :lang bash\n" 0 16 (:parent #149))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #136))) :mode nil :granularity nil :parent #128) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #136) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #139)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #137))) :mode nil :granularity nil :parent #128) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #137) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #140) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #143))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #140) #("First execute above 4 steps:\n" 0 29 (:parent #144))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #140) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #145) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #148) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #151) #("Step 1: Install GNU Guix" 0 24 (:parent #154))) #("\n" 0 1 (:parent #151)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #145) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #149) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #152) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #155))) #("\n" 0 1 (:parent #152)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #145) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #150) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #153) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #156))) #("\n" 0 1 (:parent #153)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #145) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #151) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #154) #("Step 4: Install and run GN2 " 0 28 (:parent #157))) #("\n" 0 1 (:parent #154)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #141))) :mode nil :granularity nil :parent #137) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #141) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #144) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #147)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #147)) #(".\n" 0 2 (:parent #147))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #144) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #148)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #148) #("PATH" 0 4 (:parent #152))) #("and\nR" 0 5 (:parent #148)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #148) #("LIBS" 0 4 (:parent #154))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #148) #("SITE" 0 4 (:parent #155))) #("are set) from the information given by guix:\n" 0 45 (:parent #148))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #144)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #144) #("Inside the repository:\n" 0 23 (:parent #150))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #144)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #144) #("Will fire up your local repo " 0 29 (:parent #152)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #152)) #("using the\nsettings in ./etc/default" 0 35 (:parent #152)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #152) #("settings.py" 0 11 (:parent #158))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #152)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #152) #("settings.py" 0 11 (:parent #160))) #("and pass it into GN2 with\n" 0 26 (:parent #152))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #144)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #144) #("and everything " 0 15 (:parent #154)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #154) #("should" 0 6 (:parent #158))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #154))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #144) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #155))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #144)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #142))) :mode nil :granularity nil :parent #137) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #142) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #145) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #148))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #149)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #149) #("src" 0 3 (:parent #153))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #149)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #149) #("name" 0 4 (:parent #155))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #149)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #149) #("log" 0 3 (:parent #157))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #149))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #145) #(" proxy" 0 13 (:parent #150)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #150) #("connect" 0 7 (:parent #154))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #150) #("timeout" 0 7 (:parent #155))) #("3000;\n proxy" 0 19 (:parent #150)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #150) #("send" 0 4 (:parent #157))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #150) #("timeout" 0 7 (:parent #158))) #("3000;\n proxy" 0 19 (:parent #150)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #150) #("read" 0 4 (:parent #160))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #150) #("timeout" 0 7 (:parent #161))) #("3000;\n send" 0 18 (:parent #150)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #150) #("timeout" 0 7 (:parent #163))) #("3000;\n" 0 6 (:parent #150))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #145) #(" location / {\n proxy" 0 38 (:parent #151)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #151) #("set" 0 3 (:parent #155))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #151) #("header" 0 6 (:parent #156))) #("Host $http" 0 15 (:parent #151)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #151) #("host" 0 4 (:parent #158))) #(";\n proxy" 0 19 (:parent #151)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #151) #("set" 0 3 (:parent #160))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #151) #("header" 0 6 (:parent #161))) #("Connection keep-alive;\n proxy" 0 40 (:parent #151)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #151) #("set" 0 3 (:parent #163))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #151) #("header" 0 6 (:parent #164))) #("X-Real-IP $remote" 0 17 (:parent #151)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #151) #("addr" 0 4 (:parent #166))) #(";\n proxy" 0 19 (:parent #151)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #151) #("set" 0 3 (:parent #168))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #151) #("header" 0 6 (:parent #169))) #("X-Forwarded-For $proxy" 0 22 (:parent #151)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #151) #("add" 0 3 (:parent #171))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #151) #("x" 0 1 (:parent #172))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #151) #("forwarded" 0 9 (:parent #173))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #151) #("for" 0 3 (:parent #174))) #(";\n proxy" 0 19 (:parent #151)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #151) #("set" 0 3 (:parent #176))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #151) #("header" 0 6 (:parent #177))) #("X-Forwarded-Host $server" 0 24 (:parent #151)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #151) #("name" 0 4 (:parent #179))) #(";\n proxy" 0 19 (:parent #151)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #151) #("pass" 0 4 (:parent #181))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #151)) #(";\n }\n}\n#+end" 0 19 (:parent #151)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #151) #("src" 0 3 (:parent #184))) #("js\n" 0 3 (:parent #151))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #145) #("Install the nginx webserver (as root)\n" 0 38 (:parent #152))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #145)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #145) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #154))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #145)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #145) #("Use that path\n" 0 14 (:parent #156))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #145)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #145) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #158))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #145)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #145) #("Make dirs\n" 0 10 (:parent #160))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #145)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #145) #("Add users\n" 0 10 (:parent #162))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #145)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #145) #("Run nginx\n" 0 10 (:parent #164))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #145))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #138))) :mode nil :granularity nil :parent #128) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #138) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #141) #("See the document " 0 17 (:parent #144)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #144)) #(".\n" 0 2 (:parent #144)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #142))) :mode nil :granularity nil :parent #138) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #142) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #145) #("We now compile Guix from scratch.\n" 0 34 (:parent #148))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #145) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #149)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #149) #("these" 0 5 (:parent #153))) #("steps carefully after\n" 0 22 (:parent #149))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #145)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #145) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #151))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #143))) :mode nil :granularity nil :parent #138) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #143) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #146) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #149))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #146) #("#+begin" 0 7 (:parent #150)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #150) #("src" 0 3 (:parent #154))) #("bash\nenv GUIX" 0 13 (:parent #150)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #150) #("PACKAGE" 0 7 (:parent #156))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #150) #("PATH" 0 4 (:parent #157))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #150)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #150)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #150)) #("\"\n#+end" 0 7 (:parent #150)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #150) #("src" 0 3 (:parent #162))) #("bash\n" 0 5 (:parent #150))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #146) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #151))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #146) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #152))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #144))) :mode nil :granularity nil :parent #138) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #144) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #147) #("Make a note of the paths with\n" 0 30 (:parent #150))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #147) #("#+begin" 0 7 (:parent #151)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #151) #("src" 0 3 (:parent #155))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #151)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #151) #("src" 0 3 (:parent #157))) #("bash\n" 0 5 (:parent #151))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #147) #("or this should also work if guix is installed\n" 0 46 (:parent #152))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #147) #("#+begin" 0 7 (:parent #153)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #153) #("src" 0 3 (:parent #157))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #153)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #153) #("src" 0 3 (:parent #159))) #("bash\n" 0 5 (:parent #153))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #147) #("After setting the paths for the server\n" 0 39 (:parent #154))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #147) #("#+begin" 0 7 (:parent #155)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #155) #("src" 0 3 (:parent #159))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #155)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #155) #("LIBS" 0 4 (:parent #161))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #155) #("SITE" 0 4 (:parent #162))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #155)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #155) #("GTK3" 0 4 (:parent #164))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #155) #("PATH" 0 4 (:parent #165))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #155)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #155) #("TYPELIB" 0 7 (:parent #167))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #155) #("PATH" 0 4 (:parent #168))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #155)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #155) #("DATA" 0 4 (:parent #170))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #155) #("DIRS" 0 4 (:parent #171))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #155)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #155) #("EXTRA" 0 5 (:parent #173))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #155) #("MODULES" 0 7 (:parent #174))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #155)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #155) #("src" 0 3 (:parent #176))) #("bash\n" 0 5 (:parent #155))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #147) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #156))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #147) #("#+begin" 0 7 (:parent #157)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #157) #("src" 0 3 (:parent #161))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #157)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #157) #("src" 0 3 (:parent #163))) #("bash\n" 0 5 (:parent #157)))))))) #58)) #34)) . #0)) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #2) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #5) #("Binary deployment through GNU Guix" 0 34 (:parent #8))) #("\n" 0 1 (:parent #5))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #2) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #12) #("Quick installation recipe" 0 25 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #10) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #13) #("Step 1: Install GNU Guix" 0 24 (:parent #16))) #("\n" 0 1 (:parent #13)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #14) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #17))) #("\n" 0 1 (:parent #14)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #15) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #18))) #("\n" 0 1 (:parent #15)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #16) #("Step 4: Install and run GN2" 0 27 (:parent #19))) #("\n" 0 1 (:parent #16)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #83))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #129) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #132))) #83 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #134))) :mode nil :granularity nil :parent #129) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #134) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #137) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #140)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #140) #("Guix-notes" 0 10 (:parent #144))) #("and the main " 0 13 (:parent #140)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #140)) #("doc).\n" 0 6 (:parent #140))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #135))) :mode nil :granularity nil :parent #129) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #138))) :mode section :granularity nil :parent #135) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #138) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #141) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #144))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #141) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #145))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #139))) :mode nil :granularity nil :parent #135) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #139) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #142) #("Fetch the GNU Guix binary from " 0 31 (:parent #145)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #145) #("here" 0 4 (:parent #149))) #("(middle panel) and follow\n" 0 26 (:parent #145)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #145) #("instructions" 0 12 (:parent #151))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #145))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #142) #("Once you have succeeded, you have to " 0 37 (:parent #146)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #146) #("set the key" 0 11 (:parent #150))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #146))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #142)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #142) #("Which should show something like\n" 0 33 (:parent #148))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #142)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #142) #("#+end" 0 5 (:parent #150)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #150) #("src" 0 3 (:parent #154))) #("\n" 0 1 (:parent #150))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #142) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #151))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #142)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #142) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #153))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #142) #("If you need more help we have another writeup in " 0 49 (:parent #154)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #154) #("guix-notes" 0 10 (:parent #158))) #(". To get\nrid of the locale warning see " 0 39 (:parent #154)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #154) #("set-locale" 0 10 (:parent #160))) #(".\n" 0 2 (:parent #154))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #140))) :mode nil :granularity nil :parent #135) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #140) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #143) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #146))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #143)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #143) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #148))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #143) #("#+begin" 0 7 (:parent #149)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #149) #("src" 0 3 (:parent #153))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #149)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #149)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #149)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #149)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #149)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #149) #("src" 0 3 (:parent #159))) #("bash\n" 0 5 (:parent #149))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #143) #("To test whether this is working try:\n" 0 37 (:parent #150))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #143) #("#+begin" 0 7 (:parent #151)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #151) #("src" 0 3 (:parent #155))) #("bash\n#+end" 0 10 (:parent #151)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #151) #("src" 0 3 (:parent #157))) #("bash\n" 0 5 (:parent #151))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #141))) :mode nil :granularity nil :parent #135) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #141) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #144) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #147))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #144)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #144) #("by pasting it into the command\n" 0 31 (:parent #149))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #144)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #144) #("and hit Ctrl-D.\n" 0 16 (:parent #151))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #144) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #152))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #142))) :mode nil :granularity nil :parent #135) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #142) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #145) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #148))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #145)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #145) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #150))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #145)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #145) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #152)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #152) #("root" 0 4 (:parent #156))) #(".config/guix/latest override).\n" 0 31 (:parent #152))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #145) #("And install with\n" 0 17 (:parent #153))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #145)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #145) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #155))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #145) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #156))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #145) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #157))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #145)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #145) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #159))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #145)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #145) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #161)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #161)) #(".\n" 0 2 (:parent #161))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #145) #("End of the GN2 installation recipe!\n" 0 36 (:parent #162)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #136))) :mode nil :granularity nil :parent #129) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #136) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #139) #("GNU Guix allows for " 0 20 (:parent #142)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #142) #("reproducible deployment" 0 23 (:parent #146))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #142))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #139)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #139) #("Next build guix (and run) following the instructions in " 0 56 (:parent #144)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #144) #("guix-notes" 0 10 (:parent #148))) #(".\n" 0 2 (:parent #144))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #139) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #145))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #139)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #139) #("So\n" 0 3 (:parent #147))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #139) #("#+begin" 0 7 (:parent #148)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #148) #("src" 0 3 (:parent #152))) #("sh :lang bash\n#+begin" 0 23 (:parent #148)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #148) #("src" 0 3 (:parent #154))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #148)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #148) #("PACKAGE" 0 7 (:parent #156))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #148) #("PATH" 0 4 (:parent #157))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #148)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #148) #("src" 0 3 (:parent #159))) #("sh :lang bash\n" 0 16 (:parent #148))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #139) #("Install with\n" 0 13 (:parent #149))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #139) #("#+begin" 0 7 (:parent #150)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #150) #("src" 0 3 (:parent #154))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #150)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #150) #("PACKAGE" 0 7 (:parent #156))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #150) #("PATH" 0 4 (:parent #157))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #150)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #150) #("src" 0 3 (:parent #159))) #("sh :lang bash\n" 0 16 (:parent #150))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #137))) :mode nil :granularity nil :parent #129) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #137) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #140)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #138))) :mode nil :granularity nil :parent #129) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #138) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #141) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #144))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #141) #("First execute above 4 steps:\n" 0 29 (:parent #145))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #141) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #146) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #149) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #152) #("Step 1: Install GNU Guix" 0 24 (:parent #155))) #("\n" 0 1 (:parent #152)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #146) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #150) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #153) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #156))) #("\n" 0 1 (:parent #153)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #146) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #151) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #154) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #157))) #("\n" 0 1 (:parent #154)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #146) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #152) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #155) #("Step 4: Install and run GN2 " 0 28 (:parent #158))) #("\n" 0 1 (:parent #155)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #142))) :mode nil :granularity nil :parent #138) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #142) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #145) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #148)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #148)) #(".\n" 0 2 (:parent #148))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #145) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #149)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #149) #("PATH" 0 4 (:parent #153))) #("and\nR" 0 5 (:parent #149)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #149) #("LIBS" 0 4 (:parent #155))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #149) #("SITE" 0 4 (:parent #156))) #("are set) from the information given by guix:\n" 0 45 (:parent #149))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #145)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #145) #("Inside the repository:\n" 0 23 (:parent #151))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #145)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #145) #("Will fire up your local repo " 0 29 (:parent #153)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #153)) #("using the\nsettings in ./etc/default" 0 35 (:parent #153)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #153) #("settings.py" 0 11 (:parent #159))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #153)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #153) #("settings.py" 0 11 (:parent #161))) #("and pass it into GN2 with\n" 0 26 (:parent #153))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #145)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #145) #("and everything " 0 15 (:parent #155)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #155) #("should" 0 6 (:parent #159))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #155))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #145) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #156))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #145)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #143))) :mode nil :granularity nil :parent #138) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #143) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #146) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #149))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #146) #("#+begin" 0 7 (:parent #150)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #150) #("src" 0 3 (:parent #154))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #150)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #150) #("name" 0 4 (:parent #156))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #150)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #150) #("log" 0 3 (:parent #158))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #150))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #146) #(" proxy" 0 13 (:parent #151)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #151) #("connect" 0 7 (:parent #155))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #151) #("timeout" 0 7 (:parent #156))) #("3000;\n proxy" 0 19 (:parent #151)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #151) #("send" 0 4 (:parent #158))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #151) #("timeout" 0 7 (:parent #159))) #("3000;\n proxy" 0 19 (:parent #151)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #151) #("read" 0 4 (:parent #161))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #151) #("timeout" 0 7 (:parent #162))) #("3000;\n send" 0 18 (:parent #151)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #151) #("timeout" 0 7 (:parent #164))) #("3000;\n" 0 6 (:parent #151))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #146) #(" location / {\n proxy" 0 38 (:parent #152)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #152) #("set" 0 3 (:parent #156))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #152) #("header" 0 6 (:parent #157))) #("Host $http" 0 15 (:parent #152)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #152) #("host" 0 4 (:parent #159))) #(";\n proxy" 0 19 (:parent #152)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #152) #("set" 0 3 (:parent #161))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #152) #("header" 0 6 (:parent #162))) #("Connection keep-alive;\n proxy" 0 40 (:parent #152)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #152) #("set" 0 3 (:parent #164))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #152) #("header" 0 6 (:parent #165))) #("X-Real-IP $remote" 0 17 (:parent #152)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #152) #("addr" 0 4 (:parent #167))) #(";\n proxy" 0 19 (:parent #152)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #152) #("set" 0 3 (:parent #169))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #152) #("header" 0 6 (:parent #170))) #("X-Forwarded-For $proxy" 0 22 (:parent #152)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #152) #("add" 0 3 (:parent #172))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #152) #("x" 0 1 (:parent #173))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #152) #("forwarded" 0 9 (:parent #174))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #152) #("for" 0 3 (:parent #175))) #(";\n proxy" 0 19 (:parent #152)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #152) #("set" 0 3 (:parent #177))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #152) #("header" 0 6 (:parent #178))) #("X-Forwarded-Host $server" 0 24 (:parent #152)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #152) #("name" 0 4 (:parent #180))) #(";\n proxy" 0 19 (:parent #152)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #152) #("pass" 0 4 (:parent #182))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #152)) #(";\n }\n}\n#+end" 0 19 (:parent #152)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #152) #("src" 0 3 (:parent #185))) #("js\n" 0 3 (:parent #152))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #146) #("Install the nginx webserver (as root)\n" 0 38 (:parent #153))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #146)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #146) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #155))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #146)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #146) #("Use that path\n" 0 14 (:parent #157))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #146)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #146) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #159))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #146)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #146) #("Make dirs\n" 0 10 (:parent #161))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #146)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #146) #("Add users\n" 0 10 (:parent #163))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #146)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #146) #("Run nginx\n" 0 10 (:parent #165))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #146))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #139))) :mode nil :granularity nil :parent #129) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #139) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #142) #("See the document " 0 17 (:parent #145)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #145)) #(".\n" 0 2 (:parent #145)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #143))) :mode nil :granularity nil :parent #139) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #143) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #146) #("We now compile Guix from scratch.\n" 0 34 (:parent #149))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #146) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #150)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #150) #("these" 0 5 (:parent #154))) #("steps carefully after\n" 0 22 (:parent #150))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #146)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #146) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #152))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #144))) :mode nil :granularity nil :parent #139) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #144) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #147) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #150))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #147) #("#+begin" 0 7 (:parent #151)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #151) #("src" 0 3 (:parent #155))) #("bash\nenv GUIX" 0 13 (:parent #151)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #151) #("PACKAGE" 0 7 (:parent #157))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #151) #("PATH" 0 4 (:parent #158))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #151)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #151)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #151)) #("\"\n#+end" 0 7 (:parent #151)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #151) #("src" 0 3 (:parent #163))) #("bash\n" 0 5 (:parent #151))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #147) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #152))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #147) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #153))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #145))) :mode nil :granularity nil :parent #139) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #145) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #148) #("Make a note of the paths with\n" 0 30 (:parent #151))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #148) #("#+begin" 0 7 (:parent #152)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #152) #("src" 0 3 (:parent #156))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #152)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #152) #("src" 0 3 (:parent #158))) #("bash\n" 0 5 (:parent #152))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #148) #("or this should also work if guix is installed\n" 0 46 (:parent #153))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #148) #("#+begin" 0 7 (:parent #154)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #154) #("src" 0 3 (:parent #158))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #154)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #154) #("src" 0 3 (:parent #160))) #("bash\n" 0 5 (:parent #154))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #148) #("After setting the paths for the server\n" 0 39 (:parent #155))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #148) #("#+begin" 0 7 (:parent #156)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #156) #("src" 0 3 (:parent #160))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #156)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #156) #("LIBS" 0 4 (:parent #162))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #156) #("SITE" 0 4 (:parent #163))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #156)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #156) #("GTK3" 0 4 (:parent #165))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #156) #("PATH" 0 4 (:parent #166))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #156)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #156) #("TYPELIB" 0 7 (:parent #168))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #156) #("PATH" 0 4 (:parent #169))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #156)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #156) #("DATA" 0 4 (:parent #171))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #156) #("DIRS" 0 4 (:parent #172))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #156)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #156) #("EXTRA" 0 5 (:parent #174))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #156) #("MODULES" 0 7 (:parent #175))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #156)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #156) #("src" 0 3 (:parent #177))) #("bash\n" 0 5 (:parent #156))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #148) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #157))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #148) #("#+begin" 0 7 (:parent #158)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #158) #("src" 0 3 (:parent #162))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #158)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #158) #("src" 0 3 (:parent #164))) #("bash\n" 0 5 (:parent #158)))))))) #59)) #35)) . #0)) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #3) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #6) #("From source deployment" 0 22 (:parent #9))) #("\n" 0 1 (:parent #6)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #84))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #130) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #133))) #84 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #135))) :mode nil :granularity nil :parent #130) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #135) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #138) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #141)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #141) #("Guix-notes" 0 10 (:parent #145))) #("and the main " 0 13 (:parent #141)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #141)) #("doc).\n" 0 6 (:parent #141))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #136))) :mode nil :granularity nil :parent #130) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #139))) :mode section :granularity nil :parent #136) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #139) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #142) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #145))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #142) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #146))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #140))) :mode nil :granularity nil :parent #136) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #140) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #143) #("Fetch the GNU Guix binary from " 0 31 (:parent #146)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #146) #("here" 0 4 (:parent #150))) #("(middle panel) and follow\n" 0 26 (:parent #146)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #146) #("instructions" 0 12 (:parent #152))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #146))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #143) #("Once you have succeeded, you have to " 0 37 (:parent #147)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #147) #("set the key" 0 11 (:parent #151))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #147))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #143)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #143) #("Which should show something like\n" 0 33 (:parent #149))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #143)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #143) #("#+end" 0 5 (:parent #151)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #151) #("src" 0 3 (:parent #155))) #("\n" 0 1 (:parent #151))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #143) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #152))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #143)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #143) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #154))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #143) #("If you need more help we have another writeup in " 0 49 (:parent #155)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #155) #("guix-notes" 0 10 (:parent #159))) #(". To get\nrid of the locale warning see " 0 39 (:parent #155)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #155) #("set-locale" 0 10 (:parent #161))) #(".\n" 0 2 (:parent #155))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #141))) :mode nil :granularity nil :parent #136) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #141) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #144) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #147))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #144)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #144) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #149))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #144) #("#+begin" 0 7 (:parent #150)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #150) #("src" 0 3 (:parent #154))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #150)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #150)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #150)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #150)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #150)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #150) #("src" 0 3 (:parent #160))) #("bash\n" 0 5 (:parent #150))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #144) #("To test whether this is working try:\n" 0 37 (:parent #151))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #144) #("#+begin" 0 7 (:parent #152)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #152) #("src" 0 3 (:parent #156))) #("bash\n#+end" 0 10 (:parent #152)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #152) #("src" 0 3 (:parent #158))) #("bash\n" 0 5 (:parent #152))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #142))) :mode nil :granularity nil :parent #136) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #142) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #145) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #148))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #145)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #145) #("by pasting it into the command\n" 0 31 (:parent #150))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #145)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #145) #("and hit Ctrl-D.\n" 0 16 (:parent #152))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #145) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #153))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #143))) :mode nil :granularity nil :parent #136) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #143) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #146) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #149))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #146)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #146) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #151))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #146)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #146) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #153)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #153) #("root" 0 4 (:parent #157))) #(".config/guix/latest override).\n" 0 31 (:parent #153))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #146) #("And install with\n" 0 17 (:parent #154))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #146)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #146) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #156))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #146) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #157))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #146) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #158))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #146)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #146) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #160))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #146)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #146) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #162)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #162)) #(".\n" 0 2 (:parent #162))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #146) #("End of the GN2 installation recipe!\n" 0 36 (:parent #163)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #137))) :mode nil :granularity nil :parent #130) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #137) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #140) #("GNU Guix allows for " 0 20 (:parent #143)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #143) #("reproducible deployment" 0 23 (:parent #147))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #143))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #140)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #140) #("Next build guix (and run) following the instructions in " 0 56 (:parent #145)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #145) #("guix-notes" 0 10 (:parent #149))) #(".\n" 0 2 (:parent #145))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #140) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #146))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #140)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #140) #("So\n" 0 3 (:parent #148))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #140) #("#+begin" 0 7 (:parent #149)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #149) #("src" 0 3 (:parent #153))) #("sh :lang bash\n#+begin" 0 23 (:parent #149)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #149) #("src" 0 3 (:parent #155))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #149)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #149) #("PACKAGE" 0 7 (:parent #157))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #149) #("PATH" 0 4 (:parent #158))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #149)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #149) #("src" 0 3 (:parent #160))) #("sh :lang bash\n" 0 16 (:parent #149))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #140) #("Install with\n" 0 13 (:parent #150))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #140) #("#+begin" 0 7 (:parent #151)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #151) #("src" 0 3 (:parent #155))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #151)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #151) #("PACKAGE" 0 7 (:parent #157))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #151) #("PATH" 0 4 (:parent #158))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #151)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #151) #("src" 0 3 (:parent #160))) #("sh :lang bash\n" 0 16 (:parent #151))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #138))) :mode nil :granularity nil :parent #130) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #138) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #141)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #139))) :mode nil :granularity nil :parent #130) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #139) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #142) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #145))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #142) #("First execute above 4 steps:\n" 0 29 (:parent #146))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #142) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #147) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #150) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #153) #("Step 1: Install GNU Guix" 0 24 (:parent #156))) #("\n" 0 1 (:parent #153)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #147) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #151) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #154) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #157))) #("\n" 0 1 (:parent #154)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #147) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #152) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #155) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #158))) #("\n" 0 1 (:parent #155)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #147) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #153) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #156) #("Step 4: Install and run GN2 " 0 28 (:parent #159))) #("\n" 0 1 (:parent #156)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #143))) :mode nil :granularity nil :parent #139) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #143) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #146) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #149)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #149)) #(".\n" 0 2 (:parent #149))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #146) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #150)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #150) #("PATH" 0 4 (:parent #154))) #("and\nR" 0 5 (:parent #150)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #150) #("LIBS" 0 4 (:parent #156))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #150) #("SITE" 0 4 (:parent #157))) #("are set) from the information given by guix:\n" 0 45 (:parent #150))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #146)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #146) #("Inside the repository:\n" 0 23 (:parent #152))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #146)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #146) #("Will fire up your local repo " 0 29 (:parent #154)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #154)) #("using the\nsettings in ./etc/default" 0 35 (:parent #154)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #154) #("settings.py" 0 11 (:parent #160))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #154)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #154) #("settings.py" 0 11 (:parent #162))) #("and pass it into GN2 with\n" 0 26 (:parent #154))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #146)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #146) #("and everything " 0 15 (:parent #156)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #156) #("should" 0 6 (:parent #160))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #156))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #146) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #157))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #146)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #144))) :mode nil :granularity nil :parent #139) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #144) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #147) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #150))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #147) #("#+begin" 0 7 (:parent #151)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #151) #("src" 0 3 (:parent #155))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #151)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #151) #("name" 0 4 (:parent #157))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #151)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #151) #("log" 0 3 (:parent #159))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #151))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #147) #(" proxy" 0 13 (:parent #152)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #152) #("connect" 0 7 (:parent #156))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #152) #("timeout" 0 7 (:parent #157))) #("3000;\n proxy" 0 19 (:parent #152)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #152) #("send" 0 4 (:parent #159))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #152) #("timeout" 0 7 (:parent #160))) #("3000;\n proxy" 0 19 (:parent #152)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #152) #("read" 0 4 (:parent #162))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #152) #("timeout" 0 7 (:parent #163))) #("3000;\n send" 0 18 (:parent #152)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #152) #("timeout" 0 7 (:parent #165))) #("3000;\n" 0 6 (:parent #152))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #147) #(" location / {\n proxy" 0 38 (:parent #153)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #153) #("set" 0 3 (:parent #157))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #153) #("header" 0 6 (:parent #158))) #("Host $http" 0 15 (:parent #153)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #153) #("host" 0 4 (:parent #160))) #(";\n proxy" 0 19 (:parent #153)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #153) #("set" 0 3 (:parent #162))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #153) #("header" 0 6 (:parent #163))) #("Connection keep-alive;\n proxy" 0 40 (:parent #153)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #153) #("set" 0 3 (:parent #165))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #153) #("header" 0 6 (:parent #166))) #("X-Real-IP $remote" 0 17 (:parent #153)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #153) #("addr" 0 4 (:parent #168))) #(";\n proxy" 0 19 (:parent #153)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #153) #("set" 0 3 (:parent #170))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #153) #("header" 0 6 (:parent #171))) #("X-Forwarded-For $proxy" 0 22 (:parent #153)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #153) #("add" 0 3 (:parent #173))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #153) #("x" 0 1 (:parent #174))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #153) #("forwarded" 0 9 (:parent #175))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #153) #("for" 0 3 (:parent #176))) #(";\n proxy" 0 19 (:parent #153)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #153) #("set" 0 3 (:parent #178))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #153) #("header" 0 6 (:parent #179))) #("X-Forwarded-Host $server" 0 24 (:parent #153)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #153) #("name" 0 4 (:parent #181))) #(";\n proxy" 0 19 (:parent #153)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #153) #("pass" 0 4 (:parent #183))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #153)) #(";\n }\n}\n#+end" 0 19 (:parent #153)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #153) #("src" 0 3 (:parent #186))) #("js\n" 0 3 (:parent #153))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #147) #("Install the nginx webserver (as root)\n" 0 38 (:parent #154))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #147)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #147) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #156))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #147)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #147) #("Use that path\n" 0 14 (:parent #158))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #147)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #147) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #160))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #147)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #147) #("Make dirs\n" 0 10 (:parent #162))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #147)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #147) #("Add users\n" 0 10 (:parent #164))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #147)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #147) #("Run nginx\n" 0 10 (:parent #166))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #147))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #140))) :mode nil :granularity nil :parent #130) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #140) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #143) #("See the document " 0 17 (:parent #146)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #146)) #(".\n" 0 2 (:parent #146)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #144))) :mode nil :granularity nil :parent #140) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #144) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #147) #("We now compile Guix from scratch.\n" 0 34 (:parent #150))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #147) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #151)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #151) #("these" 0 5 (:parent #155))) #("steps carefully after\n" 0 22 (:parent #151))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #147)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #147) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #153))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #145))) :mode nil :granularity nil :parent #140) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #145) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #148) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #151))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #148) #("#+begin" 0 7 (:parent #152)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #152) #("src" 0 3 (:parent #156))) #("bash\nenv GUIX" 0 13 (:parent #152)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #152) #("PACKAGE" 0 7 (:parent #158))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #152) #("PATH" 0 4 (:parent #159))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #152)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #152)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #152)) #("\"\n#+end" 0 7 (:parent #152)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #152) #("src" 0 3 (:parent #164))) #("bash\n" 0 5 (:parent #152))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #148) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #153))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #148) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #154))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #146))) :mode nil :granularity nil :parent #140) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #146) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #149) #("Make a note of the paths with\n" 0 30 (:parent #152))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #149) #("#+begin" 0 7 (:parent #153)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #153) #("src" 0 3 (:parent #157))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #153)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #153) #("src" 0 3 (:parent #159))) #("bash\n" 0 5 (:parent #153))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #149) #("or this should also work if guix is installed\n" 0 46 (:parent #154))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #149) #("#+begin" 0 7 (:parent #155)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #155) #("src" 0 3 (:parent #159))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #155)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #155) #("src" 0 3 (:parent #161))) #("bash\n" 0 5 (:parent #155))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #149) #("After setting the paths for the server\n" 0 39 (:parent #156))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #149) #("#+begin" 0 7 (:parent #157)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #157) #("src" 0 3 (:parent #161))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #157)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #157) #("LIBS" 0 4 (:parent #163))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #157) #("SITE" 0 4 (:parent #164))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #157)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #157) #("GTK3" 0 4 (:parent #166))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #157) #("PATH" 0 4 (:parent #167))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #157)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #157) #("TYPELIB" 0 7 (:parent #169))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #157) #("PATH" 0 4 (:parent #170))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #157)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #157) #("DATA" 0 4 (:parent #172))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #157) #("DIRS" 0 4 (:parent #173))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #157)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #157) #("EXTRA" 0 5 (:parent #175))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #157) #("MODULES" 0 7 (:parent #176))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #157)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #157) #("src" 0 3 (:parent #178))) #("bash\n" 0 5 (:parent #157))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #149) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #158))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #149) #("#+begin" 0 7 (:parent #159)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #159) #("src" 0 3 (:parent #163))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #159)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #159) #("src" 0 3 (:parent #165))) #("bash\n" 0 5 (:parent #159)))))))) #60)) #36)) . #0)) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #4) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #7) #("Create archive" 0 14 (:parent #10))) #("\n" 0 1 (:parent #7)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #85))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #131) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #134))) #85 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #136))) :mode nil :granularity nil :parent #131) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #136) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #139) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #142)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #142) #("Guix-notes" 0 10 (:parent #146))) #("and the main " 0 13 (:parent #142)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #142)) #("doc).\n" 0 6 (:parent #142))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #137))) :mode nil :granularity nil :parent #131) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #140))) :mode section :granularity nil :parent #137) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #140) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #143) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #146))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #143) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #147))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #141))) :mode nil :granularity nil :parent #137) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #141) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #144) #("Fetch the GNU Guix binary from " 0 31 (:parent #147)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #147) #("here" 0 4 (:parent #151))) #("(middle panel) and follow\n" 0 26 (:parent #147)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #147) #("instructions" 0 12 (:parent #153))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #147))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #144) #("Once you have succeeded, you have to " 0 37 (:parent #148)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #148) #("set the key" 0 11 (:parent #152))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #148))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #144)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #144) #("Which should show something like\n" 0 33 (:parent #150))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #144)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #144) #("#+end" 0 5 (:parent #152)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #152) #("src" 0 3 (:parent #156))) #("\n" 0 1 (:parent #152))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #144) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #153))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #144)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #144) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #155))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #144) #("If you need more help we have another writeup in " 0 49 (:parent #156)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #156) #("guix-notes" 0 10 (:parent #160))) #(". To get\nrid of the locale warning see " 0 39 (:parent #156)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #156) #("set-locale" 0 10 (:parent #162))) #(".\n" 0 2 (:parent #156))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #142))) :mode nil :granularity nil :parent #137) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #142) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #145) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #148))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #145)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #145) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #150))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #151)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #151) #("src" 0 3 (:parent #155))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #151)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #151)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #151)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #151)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #151)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #151) #("src" 0 3 (:parent #161))) #("bash\n" 0 5 (:parent #151))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #145) #("To test whether this is working try:\n" 0 37 (:parent #152))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #153)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #153) #("src" 0 3 (:parent #157))) #("bash\n#+end" 0 10 (:parent #153)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #153) #("src" 0 3 (:parent #159))) #("bash\n" 0 5 (:parent #153))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #143))) :mode nil :granularity nil :parent #137) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #143) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #146) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #149))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #146)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #146) #("by pasting it into the command\n" 0 31 (:parent #151))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #146)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #146) #("and hit Ctrl-D.\n" 0 16 (:parent #153))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #146) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #154))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #144))) :mode nil :granularity nil :parent #137) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #144) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #147) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #150))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #147)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #147) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #152))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #147)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #147) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #154)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #154) #("root" 0 4 (:parent #158))) #(".config/guix/latest override).\n" 0 31 (:parent #154))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #147) #("And install with\n" 0 17 (:parent #155))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #147)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #147) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #157))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #147) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #158))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #147) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #159))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #147)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #147) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #161))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #147)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #147) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #163)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #163)) #(".\n" 0 2 (:parent #163))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #147) #("End of the GN2 installation recipe!\n" 0 36 (:parent #164)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #138))) :mode nil :granularity nil :parent #131) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #138) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #141) #("GNU Guix allows for " 0 20 (:parent #144)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #144) #("reproducible deployment" 0 23 (:parent #148))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #144))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #141)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #141) #("Next build guix (and run) following the instructions in " 0 56 (:parent #146)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #146) #("guix-notes" 0 10 (:parent #150))) #(".\n" 0 2 (:parent #146))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #141) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #147))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #141)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #141) #("So\n" 0 3 (:parent #149))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #141) #("#+begin" 0 7 (:parent #150)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #150) #("src" 0 3 (:parent #154))) #("sh :lang bash\n#+begin" 0 23 (:parent #150)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #150) #("src" 0 3 (:parent #156))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #150)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #150) #("PACKAGE" 0 7 (:parent #158))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #150) #("PATH" 0 4 (:parent #159))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #150)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #150) #("src" 0 3 (:parent #161))) #("sh :lang bash\n" 0 16 (:parent #150))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #141) #("Install with\n" 0 13 (:parent #151))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #141) #("#+begin" 0 7 (:parent #152)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #152) #("src" 0 3 (:parent #156))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #152)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #152) #("PACKAGE" 0 7 (:parent #158))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #152) #("PATH" 0 4 (:parent #159))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #152)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #152) #("src" 0 3 (:parent #161))) #("sh :lang bash\n" 0 16 (:parent #152))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #139))) :mode nil :granularity nil :parent #131) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #139) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #142)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #140))) :mode nil :granularity nil :parent #131) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #140) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #143) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #146))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #143) #("First execute above 4 steps:\n" 0 29 (:parent #147))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #143) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #148) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #151) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #154) #("Step 1: Install GNU Guix" 0 24 (:parent #157))) #("\n" 0 1 (:parent #154)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #148) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #152) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #155) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #158))) #("\n" 0 1 (:parent #155)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #148) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #153) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #156) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #159))) #("\n" 0 1 (:parent #156)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #148) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #154) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #157) #("Step 4: Install and run GN2 " 0 28 (:parent #160))) #("\n" 0 1 (:parent #157)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #144))) :mode nil :granularity nil :parent #140) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #144) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #147) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #150)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #150)) #(".\n" 0 2 (:parent #150))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #147) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #151)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #151) #("PATH" 0 4 (:parent #155))) #("and\nR" 0 5 (:parent #151)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #151) #("LIBS" 0 4 (:parent #157))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #151) #("SITE" 0 4 (:parent #158))) #("are set) from the information given by guix:\n" 0 45 (:parent #151))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #147)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #147) #("Inside the repository:\n" 0 23 (:parent #153))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #147)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #147) #("Will fire up your local repo " 0 29 (:parent #155)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #155)) #("using the\nsettings in ./etc/default" 0 35 (:parent #155)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #155) #("settings.py" 0 11 (:parent #161))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #155)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #155) #("settings.py" 0 11 (:parent #163))) #("and pass it into GN2 with\n" 0 26 (:parent #155))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #147)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #147) #("and everything " 0 15 (:parent #157)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #157) #("should" 0 6 (:parent #161))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #157))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #147) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #158))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #147)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #145))) :mode nil :granularity nil :parent #140) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #145) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #148) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #151))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #148) #("#+begin" 0 7 (:parent #152)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #152) #("src" 0 3 (:parent #156))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #152)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #152) #("name" 0 4 (:parent #158))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #152)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #152) #("log" 0 3 (:parent #160))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #152))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #148) #(" proxy" 0 13 (:parent #153)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #153) #("connect" 0 7 (:parent #157))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #153) #("timeout" 0 7 (:parent #158))) #("3000;\n proxy" 0 19 (:parent #153)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #153) #("send" 0 4 (:parent #160))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #153) #("timeout" 0 7 (:parent #161))) #("3000;\n proxy" 0 19 (:parent #153)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #153) #("read" 0 4 (:parent #163))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #153) #("timeout" 0 7 (:parent #164))) #("3000;\n send" 0 18 (:parent #153)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #153) #("timeout" 0 7 (:parent #166))) #("3000;\n" 0 6 (:parent #153))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #148) #(" location / {\n proxy" 0 38 (:parent #154)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #154) #("set" 0 3 (:parent #158))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #154) #("header" 0 6 (:parent #159))) #("Host $http" 0 15 (:parent #154)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #154) #("host" 0 4 (:parent #161))) #(";\n proxy" 0 19 (:parent #154)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #154) #("set" 0 3 (:parent #163))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #154) #("header" 0 6 (:parent #164))) #("Connection keep-alive;\n proxy" 0 40 (:parent #154)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #154) #("set" 0 3 (:parent #166))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #154) #("header" 0 6 (:parent #167))) #("X-Real-IP $remote" 0 17 (:parent #154)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #154) #("addr" 0 4 (:parent #169))) #(";\n proxy" 0 19 (:parent #154)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #154) #("set" 0 3 (:parent #171))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #154) #("header" 0 6 (:parent #172))) #("X-Forwarded-For $proxy" 0 22 (:parent #154)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #154) #("add" 0 3 (:parent #174))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #154) #("x" 0 1 (:parent #175))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #154) #("forwarded" 0 9 (:parent #176))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #154) #("for" 0 3 (:parent #177))) #(";\n proxy" 0 19 (:parent #154)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #154) #("set" 0 3 (:parent #179))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #154) #("header" 0 6 (:parent #180))) #("X-Forwarded-Host $server" 0 24 (:parent #154)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #154) #("name" 0 4 (:parent #182))) #(";\n proxy" 0 19 (:parent #154)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #154) #("pass" 0 4 (:parent #184))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #154)) #(";\n }\n}\n#+end" 0 19 (:parent #154)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #154) #("src" 0 3 (:parent #187))) #("js\n" 0 3 (:parent #154))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #148) #("Install the nginx webserver (as root)\n" 0 38 (:parent #155))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #148)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #148) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #157))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #148)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #148) #("Use that path\n" 0 14 (:parent #159))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #148)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #148) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #161))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #148)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #148) #("Make dirs\n" 0 10 (:parent #163))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #148)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #148) #("Add users\n" 0 10 (:parent #165))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #148)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #148) #("Run nginx\n" 0 10 (:parent #167))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #148))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #141))) :mode nil :granularity nil :parent #131) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #141) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #144) #("See the document " 0 17 (:parent #147)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #147)) #(".\n" 0 2 (:parent #147)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #145))) :mode nil :granularity nil :parent #141) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #145) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #148) #("We now compile Guix from scratch.\n" 0 34 (:parent #151))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #148) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #152)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #152) #("these" 0 5 (:parent #156))) #("steps carefully after\n" 0 22 (:parent #152))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #148)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #148) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #154))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #146))) :mode nil :granularity nil :parent #141) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #146) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #149) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #152))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #149) #("#+begin" 0 7 (:parent #153)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #153) #("src" 0 3 (:parent #157))) #("bash\nenv GUIX" 0 13 (:parent #153)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #153) #("PACKAGE" 0 7 (:parent #159))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #153) #("PATH" 0 4 (:parent #160))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #153)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #153)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #153)) #("\"\n#+end" 0 7 (:parent #153)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #153) #("src" 0 3 (:parent #165))) #("bash\n" 0 5 (:parent #153))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #149) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #154))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #149) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #155))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #147))) :mode nil :granularity nil :parent #141) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #147) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #150) #("Make a note of the paths with\n" 0 30 (:parent #153))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #150) #("#+begin" 0 7 (:parent #154)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #154) #("src" 0 3 (:parent #158))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #154)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #154) #("src" 0 3 (:parent #160))) #("bash\n" 0 5 (:parent #154))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #150) #("or this should also work if guix is installed\n" 0 46 (:parent #155))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #150) #("#+begin" 0 7 (:parent #156)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #156) #("src" 0 3 (:parent #160))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #156)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #156) #("src" 0 3 (:parent #162))) #("bash\n" 0 5 (:parent #156))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #150) #("After setting the paths for the server\n" 0 39 (:parent #157))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #150) #("#+begin" 0 7 (:parent #158)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #158) #("src" 0 3 (:parent #162))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #158)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #158) #("LIBS" 0 4 (:parent #164))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #158) #("SITE" 0 4 (:parent #165))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #158)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #158) #("GTK3" 0 4 (:parent #167))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #158) #("PATH" 0 4 (:parent #168))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #158)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #158) #("TYPELIB" 0 7 (:parent #170))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #158) #("PATH" 0 4 (:parent #171))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #158)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #158) #("DATA" 0 4 (:parent #173))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #158) #("DIRS" 0 4 (:parent #174))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #158)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #158) #("EXTRA" 0 5 (:parent #176))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #158) #("MODULES" 0 7 (:parent #177))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #158)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #158) #("src" 0 3 (:parent #179))) #("bash\n" 0 5 (:parent #158))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #150) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #159))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #150) #("#+begin" 0 7 (:parent #160)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #160) #("src" 0 3 (:parent #164))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #160)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #160) #("src" 0 3 (:parent #166))) #("bash\n" 0 5 (:parent #160)))))))) #61)) #37)) . #0)) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #5) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #8) #("Source deployment" 0 17 (:parent #11))) #("\n" 0 1 (:parent #8))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #5) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #9) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #15) #("Run your own copy of GN2" 0 24 (:parent #18))) #("\n" 0 1 (:parent #15)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #9) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #16) #("Set up nginx port forwarding" 0 28 (:parent #19))) #("\n" 0 1 (:parent #16)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #86))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #132) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #135))) #86 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #137))) :mode nil :granularity nil :parent #132) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #137) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #140) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #143)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #143) #("Guix-notes" 0 10 (:parent #147))) #("and the main " 0 13 (:parent #143)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #143)) #("doc).\n" 0 6 (:parent #143))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #138))) :mode nil :granularity nil :parent #132) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #141))) :mode section :granularity nil :parent #138) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #141) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #144) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #147))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #144) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #148))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #142))) :mode nil :granularity nil :parent #138) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #142) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #145) #("Fetch the GNU Guix binary from " 0 31 (:parent #148)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #148) #("here" 0 4 (:parent #152))) #("(middle panel) and follow\n" 0 26 (:parent #148)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #148) #("instructions" 0 12 (:parent #154))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #148))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #145) #("Once you have succeeded, you have to " 0 37 (:parent #149)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #149) #("set the key" 0 11 (:parent #153))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #149))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #145)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #145) #("Which should show something like\n" 0 33 (:parent #151))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #145)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #145) #("#+end" 0 5 (:parent #153)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #153) #("src" 0 3 (:parent #157))) #("\n" 0 1 (:parent #153))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #145) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #154))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #145)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #145) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #156))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #145) #("If you need more help we have another writeup in " 0 49 (:parent #157)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #157) #("guix-notes" 0 10 (:parent #161))) #(". To get\nrid of the locale warning see " 0 39 (:parent #157)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #157) #("set-locale" 0 10 (:parent #163))) #(".\n" 0 2 (:parent #157))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #143))) :mode nil :granularity nil :parent #138) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #143) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #146) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #149))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #146)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #146) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #151))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #146) #("#+begin" 0 7 (:parent #152)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #152) #("src" 0 3 (:parent #156))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #152)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #152)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #152)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #152)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #152)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #152) #("src" 0 3 (:parent #162))) #("bash\n" 0 5 (:parent #152))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #146) #("To test whether this is working try:\n" 0 37 (:parent #153))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #146) #("#+begin" 0 7 (:parent #154)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #154) #("src" 0 3 (:parent #158))) #("bash\n#+end" 0 10 (:parent #154)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #154) #("src" 0 3 (:parent #160))) #("bash\n" 0 5 (:parent #154))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #144))) :mode nil :granularity nil :parent #138) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #144) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #147) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #150))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #147)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #147) #("by pasting it into the command\n" 0 31 (:parent #152))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #147)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #147) #("and hit Ctrl-D.\n" 0 16 (:parent #154))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #147) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #155))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #145))) :mode nil :granularity nil :parent #138) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #145) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #148) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #151))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #148)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #148) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #153))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #148)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #148) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #155)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #155) #("root" 0 4 (:parent #159))) #(".config/guix/latest override).\n" 0 31 (:parent #155))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #148) #("And install with\n" 0 17 (:parent #156))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #148)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #148) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #158))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #148) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #159))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #148) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #160))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #148)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #148) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #162))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #148)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #148) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #164)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #164)) #(".\n" 0 2 (:parent #164))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #148) #("End of the GN2 installation recipe!\n" 0 36 (:parent #165)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #139))) :mode nil :granularity nil :parent #132) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #139) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #142) #("GNU Guix allows for " 0 20 (:parent #145)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #145) #("reproducible deployment" 0 23 (:parent #149))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #145))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #142)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #142) #("Next build guix (and run) following the instructions in " 0 56 (:parent #147)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #147) #("guix-notes" 0 10 (:parent #151))) #(".\n" 0 2 (:parent #147))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #142) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #148))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #142)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #142) #("So\n" 0 3 (:parent #150))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #142) #("#+begin" 0 7 (:parent #151)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #151) #("src" 0 3 (:parent #155))) #("sh :lang bash\n#+begin" 0 23 (:parent #151)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #151) #("src" 0 3 (:parent #157))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #151)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #151) #("PACKAGE" 0 7 (:parent #159))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #151) #("PATH" 0 4 (:parent #160))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #151)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #151) #("src" 0 3 (:parent #162))) #("sh :lang bash\n" 0 16 (:parent #151))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #142) #("Install with\n" 0 13 (:parent #152))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #142) #("#+begin" 0 7 (:parent #153)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #153) #("src" 0 3 (:parent #157))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #153)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #153) #("PACKAGE" 0 7 (:parent #159))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #153) #("PATH" 0 4 (:parent #160))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #153)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #153) #("src" 0 3 (:parent #162))) #("sh :lang bash\n" 0 16 (:parent #153))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #140))) :mode nil :granularity nil :parent #132) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #140) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #143)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #141))) :mode nil :granularity nil :parent #132) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #141) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #144) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #147))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #144) #("First execute above 4 steps:\n" 0 29 (:parent #148))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #144) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #149) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #152) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #155) #("Step 1: Install GNU Guix" 0 24 (:parent #158))) #("\n" 0 1 (:parent #155)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #149) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #153) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #156) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #159))) #("\n" 0 1 (:parent #156)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #149) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #154) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #157) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #160))) #("\n" 0 1 (:parent #157)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #149) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #155) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #158) #("Step 4: Install and run GN2 " 0 28 (:parent #161))) #("\n" 0 1 (:parent #158)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #145))) :mode nil :granularity nil :parent #141) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #145) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #148) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #151)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #151)) #(".\n" 0 2 (:parent #151))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #148) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #152)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #152) #("PATH" 0 4 (:parent #156))) #("and\nR" 0 5 (:parent #152)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #152) #("LIBS" 0 4 (:parent #158))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #152) #("SITE" 0 4 (:parent #159))) #("are set) from the information given by guix:\n" 0 45 (:parent #152))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #148)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #148) #("Inside the repository:\n" 0 23 (:parent #154))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #148)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #148) #("Will fire up your local repo " 0 29 (:parent #156)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #156)) #("using the\nsettings in ./etc/default" 0 35 (:parent #156)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #156) #("settings.py" 0 11 (:parent #162))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #156)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #156) #("settings.py" 0 11 (:parent #164))) #("and pass it into GN2 with\n" 0 26 (:parent #156))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #148)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #148) #("and everything " 0 15 (:parent #158)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #158) #("should" 0 6 (:parent #162))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #158))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #148) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #159))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #148)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #146))) :mode nil :granularity nil :parent #141) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #146) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #149) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #152))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #149) #("#+begin" 0 7 (:parent #153)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #153) #("src" 0 3 (:parent #157))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #153)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #153) #("name" 0 4 (:parent #159))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #153)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #153) #("log" 0 3 (:parent #161))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #153))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #149) #(" proxy" 0 13 (:parent #154)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #154) #("connect" 0 7 (:parent #158))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #154) #("timeout" 0 7 (:parent #159))) #("3000;\n proxy" 0 19 (:parent #154)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #154) #("send" 0 4 (:parent #161))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #154) #("timeout" 0 7 (:parent #162))) #("3000;\n proxy" 0 19 (:parent #154)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #154) #("read" 0 4 (:parent #164))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #154) #("timeout" 0 7 (:parent #165))) #("3000;\n send" 0 18 (:parent #154)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #154) #("timeout" 0 7 (:parent #167))) #("3000;\n" 0 6 (:parent #154))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #149) #(" location / {\n proxy" 0 38 (:parent #155)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #155) #("set" 0 3 (:parent #159))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #155) #("header" 0 6 (:parent #160))) #("Host $http" 0 15 (:parent #155)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #155) #("host" 0 4 (:parent #162))) #(";\n proxy" 0 19 (:parent #155)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #155) #("set" 0 3 (:parent #164))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #155) #("header" 0 6 (:parent #165))) #("Connection keep-alive;\n proxy" 0 40 (:parent #155)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #155) #("set" 0 3 (:parent #167))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #155) #("header" 0 6 (:parent #168))) #("X-Real-IP $remote" 0 17 (:parent #155)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #155) #("addr" 0 4 (:parent #170))) #(";\n proxy" 0 19 (:parent #155)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #155) #("set" 0 3 (:parent #172))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #155) #("header" 0 6 (:parent #173))) #("X-Forwarded-For $proxy" 0 22 (:parent #155)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #155) #("add" 0 3 (:parent #175))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #155) #("x" 0 1 (:parent #176))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #155) #("forwarded" 0 9 (:parent #177))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #155) #("for" 0 3 (:parent #178))) #(";\n proxy" 0 19 (:parent #155)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #155) #("set" 0 3 (:parent #180))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #155) #("header" 0 6 (:parent #181))) #("X-Forwarded-Host $server" 0 24 (:parent #155)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #155) #("name" 0 4 (:parent #183))) #(";\n proxy" 0 19 (:parent #155)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #155) #("pass" 0 4 (:parent #185))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #155)) #(";\n }\n}\n#+end" 0 19 (:parent #155)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #155) #("src" 0 3 (:parent #188))) #("js\n" 0 3 (:parent #155))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #149) #("Install the nginx webserver (as root)\n" 0 38 (:parent #156))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #149)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #149) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #158))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #149)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #149) #("Use that path\n" 0 14 (:parent #160))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #149)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #149) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #162))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #149)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #149) #("Make dirs\n" 0 10 (:parent #164))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #149)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #149) #("Add users\n" 0 10 (:parent #166))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #149)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #149) #("Run nginx\n" 0 10 (:parent #168))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #149))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #142))) :mode nil :granularity nil :parent #132) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #142) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #145) #("See the document " 0 17 (:parent #148)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #148)) #(".\n" 0 2 (:parent #148)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #146))) :mode nil :granularity nil :parent #142) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #146) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #149) #("We now compile Guix from scratch.\n" 0 34 (:parent #152))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #149) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #153)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #153) #("these" 0 5 (:parent #157))) #("steps carefully after\n" 0 22 (:parent #153))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #149)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #149) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #155))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #147))) :mode nil :granularity nil :parent #142) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #147) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #150) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #153))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #150) #("#+begin" 0 7 (:parent #154)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #154) #("src" 0 3 (:parent #158))) #("bash\nenv GUIX" 0 13 (:parent #154)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #154) #("PACKAGE" 0 7 (:parent #160))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #154) #("PATH" 0 4 (:parent #161))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #154)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #154)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #154)) #("\"\n#+end" 0 7 (:parent #154)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #154) #("src" 0 3 (:parent #166))) #("bash\n" 0 5 (:parent #154))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #150) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #155))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #150) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #156))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #148))) :mode nil :granularity nil :parent #142) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #148) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #151) #("Make a note of the paths with\n" 0 30 (:parent #154))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #151) #("#+begin" 0 7 (:parent #155)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #155) #("src" 0 3 (:parent #159))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #155)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #155) #("src" 0 3 (:parent #161))) #("bash\n" 0 5 (:parent #155))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #151) #("or this should also work if guix is installed\n" 0 46 (:parent #156))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #151) #("#+begin" 0 7 (:parent #157)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #157) #("src" 0 3 (:parent #161))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #157)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #157) #("src" 0 3 (:parent #163))) #("bash\n" 0 5 (:parent #157))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #151) #("After setting the paths for the server\n" 0 39 (:parent #158))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #151) #("#+begin" 0 7 (:parent #159)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #159) #("src" 0 3 (:parent #163))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #159)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #159) #("LIBS" 0 4 (:parent #165))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #159) #("SITE" 0 4 (:parent #166))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #159)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #159) #("GTK3" 0 4 (:parent #168))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #159) #("PATH" 0 4 (:parent #169))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #159)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #159) #("TYPELIB" 0 7 (:parent #171))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #159) #("PATH" 0 4 (:parent #172))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #159)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #159) #("DATA" 0 4 (:parent #174))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #159) #("DIRS" 0 4 (:parent #175))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #159)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #159) #("EXTRA" 0 5 (:parent #177))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #159) #("MODULES" 0 7 (:parent #178))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #159)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #159) #("src" 0 3 (:parent #180))) #("bash\n" 0 5 (:parent #159))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #151) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #160))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #151) #("#+begin" 0 7 (:parent #161)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #161) #("src" 0 3 (:parent #165))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #161)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #161) #("src" 0 3 (:parent #167))) #("bash\n" 0 5 (:parent #161)))))))) #62)) #38)) . #0)) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #6) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #9) #("Source deployment and other information on reproducibility" 0 58 (:parent #12))) #("\n" 0 1 (:parent #9))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #6) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #16) #("Update to recent guix" 0 21 (:parent #19))) #("\n" 0 1 (:parent #16)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #17) #("Install GN2" 0 11 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #18) #("Run GN2" 0 7 (:parent #21))) #("\n" 0 1 (:parent #18))))))) "")
org-export-data((plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #48))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #94) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #97))) #48 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #99))) :mode nil :granularity nil :parent #94) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #99) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #102) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #105)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #105) #("Guix-notes" 0 10 (:parent #109))) #("and the main " 0 13 (:parent #105)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #105)) #("doc).\n" 0 6 (:parent #105))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #100))) :mode nil :granularity nil :parent #94) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #103))) :mode section :granularity nil :parent #100) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #103) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #106) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #109))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #106) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #110))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #104))) :mode nil :granularity nil :parent #100) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #104) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #107) #("Fetch the GNU Guix binary from " 0 31 (:parent #110)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #110) #("here" 0 4 (:parent #114))) #("(middle panel) and follow\n" 0 26 (:parent #110)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #110) #("instructions" 0 12 (:parent #116))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #110))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #107) #("Once you have succeeded, you have to " 0 37 (:parent #111)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #111) #("set the key" 0 11 (:parent #115))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #111))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #107)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #107) #("Which should show something like\n" 0 33 (:parent #113))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #107)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #107) #("#+end" 0 5 (:parent #115)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #115) #("src" 0 3 (:parent #119))) #("\n" 0 1 (:parent #115))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #107) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #116))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #107)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #107) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #118))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #107) #("If you need more help we have another writeup in " 0 49 (:parent #119)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #119) #("guix-notes" 0 10 (:parent #123))) #(". To get\nrid of the locale warning see " 0 39 (:parent #119)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #119) #("set-locale" 0 10 (:parent #125))) #(".\n" 0 2 (:parent #119))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #105))) :mode nil :granularity nil :parent #100) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #105) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #108) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #111))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #108)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #108) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #113))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #108) #("#+begin" 0 7 (:parent #114)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #114) #("src" 0 3 (:parent #118))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #114)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #114)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #114)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #114)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #114)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #114) #("src" 0 3 (:parent #124))) #("bash\n" 0 5 (:parent #114))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #108) #("To test whether this is working try:\n" 0 37 (:parent #115))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #108) #("#+begin" 0 7 (:parent #116)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #116) #("src" 0 3 (:parent #120))) #("bash\n#+end" 0 10 (:parent #116)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #116) #("src" 0 3 (:parent #122))) #("bash\n" 0 5 (:parent #116))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #106))) :mode nil :granularity nil :parent #100) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #106) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #109) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #112))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #109)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #109) #("by pasting it into the command\n" 0 31 (:parent #114))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #109)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #109) #("and hit Ctrl-D.\n" 0 16 (:parent #116))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #109) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #117))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #107))) :mode nil :granularity nil :parent #100) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #107) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #110) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #113))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #110)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #110) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #115))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #110)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #110) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #117)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #117) #("root" 0 4 (:parent #121))) #(".config/guix/latest override).\n" 0 31 (:parent #117))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #110) #("And install with\n" 0 17 (:parent #118))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #110)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #110) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #120))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #110) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #121))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #110) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #122))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #110)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #110) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #124))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #110)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #110) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #126)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #126)) #(".\n" 0 2 (:parent #126))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #110) #("End of the GN2 installation recipe!\n" 0 36 (:parent #127)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #101))) :mode nil :granularity nil :parent #94) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #101) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #104) #("GNU Guix allows for " 0 20 (:parent #107)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #107) #("reproducible deployment" 0 23 (:parent #111))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #107))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #104)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #104) #("Next build guix (and run) following the instructions in " 0 56 (:parent #109)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #109) #("guix-notes" 0 10 (:parent #113))) #(".\n" 0 2 (:parent #109))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #104) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #110))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #104)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #104) #("So\n" 0 3 (:parent #112))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #104) #("#+begin" 0 7 (:parent #113)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #113) #("src" 0 3 (:parent #117))) #("sh :lang bash\n#+begin" 0 23 (:parent #113)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #113) #("src" 0 3 (:parent #119))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #113)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #113) #("PACKAGE" 0 7 (:parent #121))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #113) #("PATH" 0 4 (:parent #122))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #113)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #113) #("src" 0 3 (:parent #124))) #("sh :lang bash\n" 0 16 (:parent #113))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #104) #("Install with\n" 0 13 (:parent #114))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #104) #("#+begin" 0 7 (:parent #115)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #115) #("src" 0 3 (:parent #119))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #115)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #115) #("PACKAGE" 0 7 (:parent #121))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #115) #("PATH" 0 4 (:parent #122))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #115)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #115) #("src" 0 3 (:parent #124))) #("sh :lang bash\n" 0 16 (:parent #115))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #102))) :mode nil :granularity nil :parent #94) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #102) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #105)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #103))) :mode nil :granularity nil :parent #94) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #103) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #106) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #109))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #106) #("First execute above 4 steps:\n" 0 29 (:parent #110))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #106) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #114) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #117) #("Step 1: Install GNU Guix" 0 24 (:parent #120))) #("\n" 0 1 (:parent #117)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #115) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #118) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #121))) #("\n" 0 1 (:parent #118)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #116) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #119) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #122))) #("\n" 0 1 (:parent #119)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #117) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #120) #("Step 4: Install and run GN2 " 0 28 (:parent #123))) #("\n" 0 1 (:parent #120)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #107))) :mode nil :granularity nil :parent #103) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #107) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #110) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #113)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #113)) #(".\n" 0 2 (:parent #113))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #110) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #114)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #114) #("PATH" 0 4 (:parent #118))) #("and\nR" 0 5 (:parent #114)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #114) #("LIBS" 0 4 (:parent #120))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #114) #("SITE" 0 4 (:parent #121))) #("are set) from the information given by guix:\n" 0 45 (:parent #114))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #110)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #110) #("Inside the repository:\n" 0 23 (:parent #116))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #110)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #110) #("Will fire up your local repo " 0 29 (:parent #118)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #118)) #("using the\nsettings in ./etc/default" 0 35 (:parent #118)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #118) #("settings.py" 0 11 (:parent #124))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #118)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #118) #("settings.py" 0 11 (:parent #126))) #("and pass it into GN2 with\n" 0 26 (:parent #118))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #110)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #110) #("and everything " 0 15 (:parent #120)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #120) #("should" 0 6 (:parent #124))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #120))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #110) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #121))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #110)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #108))) :mode nil :granularity nil :parent #103) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #108) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #111) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #114))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #111) #("#+begin" 0 7 (:parent #115)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #115) #("src" 0 3 (:parent #119))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #115)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #115) #("name" 0 4 (:parent #121))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #115)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #115) #("log" 0 3 (:parent #123))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #115))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #111) #(" proxy" 0 13 (:parent #116)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #116) #("connect" 0 7 (:parent #120))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #116) #("timeout" 0 7 (:parent #121))) #("3000;\n proxy" 0 19 (:parent #116)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #116) #("send" 0 4 (:parent #123))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #116) #("timeout" 0 7 (:parent #124))) #("3000;\n proxy" 0 19 (:parent #116)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #116) #("read" 0 4 (:parent #126))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #116) #("timeout" 0 7 (:parent #127))) #("3000;\n send" 0 18 (:parent #116)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #116) #("timeout" 0 7 (:parent #129))) #("3000;\n" 0 6 (:parent #116))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #111) #(" location / {\n proxy" 0 38 (:parent #117)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #117) #("set" 0 3 (:parent #121))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #117) #("header" 0 6 (:parent #122))) #("Host $http" 0 15 (:parent #117)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #117) #("host" 0 4 (:parent #124))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #117) #("set" 0 3 (:parent #126))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #117) #("header" 0 6 (:parent #127))) #("Connection keep-alive;\n proxy" 0 40 (:parent #117)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #117) #("set" 0 3 (:parent #129))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #117) #("header" 0 6 (:parent #130))) #("X-Real-IP $remote" 0 17 (:parent #117)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #117) #("addr" 0 4 (:parent #132))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #117) #("set" 0 3 (:parent #134))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #117) #("header" 0 6 (:parent #135))) #("X-Forwarded-For $proxy" 0 22 (:parent #117)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #117) #("add" 0 3 (:parent #137))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #117) #("x" 0 1 (:parent #138))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #117) #("forwarded" 0 9 (:parent #139))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #117) #("for" 0 3 (:parent #140))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #117) #("set" 0 3 (:parent #142))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #117) #("header" 0 6 (:parent #143))) #("X-Forwarded-Host $server" 0 24 (:parent #117)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #117) #("name" 0 4 (:parent #145))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #117) #("pass" 0 4 (:parent #147))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #117)) #(";\n }\n}\n#+end" 0 19 (:parent #117)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #117) #("src" 0 3 (:parent #150))) #("js\n" 0 3 (:parent #117))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #111) #("Install the nginx webserver (as root)\n" 0 38 (:parent #118))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #111)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #111) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #120))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #111)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #111) #("Use that path\n" 0 14 (:parent #122))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #111)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #111) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #124))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #111)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #111) #("Make dirs\n" 0 10 (:parent #126))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #111)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #111) #("Add users\n" 0 10 (:parent #128))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #111)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #111) #("Run nginx\n" 0 10 (:parent #130))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #111))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #104))) :mode nil :granularity nil :parent #94) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #104) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #107) #("See the document " 0 17 (:parent #110)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #110)) #(".\n" 0 2 (:parent #110)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #108))) :mode nil :granularity nil :parent #104) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #108) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #111) #("We now compile Guix from scratch.\n" 0 34 (:parent #114))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #111) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #115)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #115) #("these" 0 5 (:parent #119))) #("steps carefully after\n" 0 22 (:parent #115))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #111)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #111) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #117))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #109))) :mode nil :granularity nil :parent #104) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #109) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #112) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #115))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #112) #("#+begin" 0 7 (:parent #116)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #116) #("src" 0 3 (:parent #120))) #("bash\nenv GUIX" 0 13 (:parent #116)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #116) #("PACKAGE" 0 7 (:parent #122))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #116) #("PATH" 0 4 (:parent #123))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #116)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #116)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #116)) #("\"\n#+end" 0 7 (:parent #116)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #116) #("src" 0 3 (:parent #128))) #("bash\n" 0 5 (:parent #116))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #112) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #117))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #112) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #118))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #110))) :mode nil :granularity nil :parent #104) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #110) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #113) #("Make a note of the paths with\n" 0 30 (:parent #116))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #113) #("#+begin" 0 7 (:parent #117)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #117) #("src" 0 3 (:parent #121))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #117)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #117) #("src" 0 3 (:parent #123))) #("bash\n" 0 5 (:parent #117))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #113) #("or this should also work if guix is installed\n" 0 46 (:parent #118))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #113) #("#+begin" 0 7 (:parent #119)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #119) #("src" 0 3 (:parent #123))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #119)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #119) #("src" 0 3 (:parent #125))) #("bash\n" 0 5 (:parent #119))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #113) #("After setting the paths for the server\n" 0 39 (:parent #120))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #113) #("#+begin" 0 7 (:parent #121)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #121) #("src" 0 3 (:parent #125))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #121)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #121) #("LIBS" 0 4 (:parent #127))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #121) #("SITE" 0 4 (:parent #128))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #121)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #121) #("GTK3" 0 4 (:parent #130))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #121) #("PATH" 0 4 (:parent #131))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #121)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #121) #("TYPELIB" 0 7 (:parent #133))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #121) #("PATH" 0 4 (:parent #134))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #121)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #121) #("DATA" 0 4 (:parent #136))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #121) #("DIRS" 0 4 (:parent #137))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #121)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #121) #("EXTRA" 0 5 (:parent #139))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #121) #("MODULES" 0 7 (:parent #140))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #121)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #121) #("src" 0 3 (:parent #142))) #("bash\n" 0 5 (:parent #121))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #113) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #122))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #113) #("#+begin" 0 7 (:parent #123)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #123) #("src" 0 3 (:parent #127))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #123)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #123) #("src" 0 3 (:parent #129))) #("bash\n" 0 5 (:parent #123)))))))) #24)) #0)) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #3) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #6) #("Introduction" 0 12 (:parent #9))) #("\n" 0 1 (:parent #6)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #4) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #7) #("Binary deployment through GNU Guix" 0 34 (:parent #10))) #("\n" 0 1 (:parent #7))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #4) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #14) #("Quick installation recipe" 0 25 (:parent #17))) #("\n" 0 1 (:parent #14)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #15) #("Step 1: Install GNU Guix" 0 24 (:parent #18))) #("\n" 0 1 (:parent #15)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #16) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #19))) #("\n" 0 1 (:parent #16)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #17) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #18) #("Step 4: Install and run GN2" 0 27 (:parent #21))) #("\n" 0 1 (:parent #18)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #5) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #8) #("From source deployment" 0 22 (:parent #11))) #("\n" 0 1 (:parent #8)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #6) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #9) #("Create archive" 0 14 (:parent #12))) #("\n" 0 1 (:parent #9)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #7) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #10) #("Source deployment" 0 17 (:parent #13))) #("\n" 0 1 (:parent #10))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #7) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #17) #("Run your own copy of GN2" 0 24 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #18) #("Set up nginx port forwarding" 0 28 (:parent #21))) #("\n" 0 1 (:parent #18)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #8) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #11) #("Source deployment and other information on reproducibility" 0 58 (:parent #14))) #("\n" 0 1 (:parent #11))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #8) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #18) #("Update to recent guix" 0 21 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #19) #("Install GN2" 0 11 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #20) #("Run GN2" 0 7 (:parent #23))) #("\n" 0 1 (:parent #20))))))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section ") :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" " \n" . " ") :html-table-header-tags ("" . " ") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (underline . "%s") (verbatim . "" :html-table-row-close-tag " " :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 29.4 (Org mode 9.6.15)" :with-latex t :latex-header nil :title (#("Installing GeneNetwork services with GNU Guix" 0 45 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #338) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #341))) (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #342))) :mode nil :granularity nil :parent #338) (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent #342) (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent #345) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #351) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #354) #("Introduction" 0 12 (:parent #357))) #("\n" 0 1 (:parent #354)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #352) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #355) #("Binary deployment through GNU Guix" 0 34 (:parent #358))) #("\n" 0 1 (:parent #355))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #352) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #362) #("Quick installation recipe" 0 25 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #363) #("Step 1: Install GNU Guix" 0 24 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #364) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #367))) #("\n" 0 1 (:parent #364)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #365) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #366) #("Step 4: Install and run GN2" 0 27 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #353) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #356) #("From source deployment" 0 22 (:parent #359))) #("\n" 0 1 (:parent #356)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #354) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #357) #("Create archive" 0 14 (:parent #360))) #("\n" 0 1 (:parent #357)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #355) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #358) #("Source deployment" 0 17 (:parent #361))) #("\n" 0 1 (:parent #358))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #355) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #365) #("Run your own copy of GN2" 0 24 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #366) #("Set up nginx port forwarding" 0 28 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #356) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #359) #("Source deployment and other information on reproducibility" 0 58 (:parent #362))) #("\n" 0 1 (:parent #359))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #356) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #366) #("Update to recent guix" 0 21 (:parent #369))) #("\n" 0 1 (:parent #366)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #367) #("Install GN2" 0 11 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #368) #("Run GN2" 0 7 (:parent #371))) #("\n" 0 1 (:parent #368))))))))) (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #343))) :mode nil :granularity nil :parent #338) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #343) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #346) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #349)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #349) #("Guix-notes" 0 10 (:parent #353))) #("and the main " 0 13 (:parent #349)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #349)) #("doc).\n" 0 6 (:parent #349))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #344))) :mode nil :granularity nil :parent #338) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #347))) :mode section :granularity nil :parent #344) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #347) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #350) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #353))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #350) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #354))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #348))) :mode nil :granularity nil :parent #344) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #348) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #351) #("Fetch the GNU Guix binary from " 0 31 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #354) #("here" 0 4 (:parent #358))) #("(middle panel) and follow\n" 0 26 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #354) #("instructions" 0 12 (:parent #360))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #354))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #351) #("Once you have succeeded, you have to " 0 37 (:parent #355)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #355) #("set the key" 0 11 (:parent #359))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #351)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #351) #("Which should show something like\n" 0 33 (:parent #357))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #351)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #351) #("#+end" 0 5 (:parent #359)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #359) #("src" 0 3 (:parent #363))) #("\n" 0 1 (:parent #359))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #351) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #360))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #351)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #351) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #362))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #351) #("If you need more help we have another writeup in " 0 49 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #363) #("guix-notes" 0 10 (:parent #367))) #(". To get\nrid of the locale warning see " 0 39 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #363) #("set-locale" 0 10 (:parent #369))) #(".\n" 0 2 (:parent #363))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #349))) :mode nil :granularity nil :parent #344) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #349) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #352) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #352)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #352) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #357))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #358)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #358) #("src" 0 3 (:parent #362))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #358)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #358)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #358)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #358) #("src" 0 3 (:parent #368))) #("bash\n" 0 5 (:parent #358))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #352) #("To test whether this is working try:\n" 0 37 (:parent #359))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\n#+end" 0 10 (:parent #360)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #360) #("src" 0 3 (:parent #366))) #("bash\n" 0 5 (:parent #360))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #350))) :mode nil :granularity nil :parent #344) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #350) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #353) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #356))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #353)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #353) #("by pasting it into the command\n" 0 31 (:parent #358))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #353)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #353) #("and hit Ctrl-D.\n" 0 16 (:parent #360))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #353) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #361))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #351))) :mode nil :granularity nil :parent #344) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #351) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #354) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #357))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #354)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #354) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #359))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #354)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #354) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #361)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #361) #("root" 0 4 (:parent #365))) #(".config/guix/latest override).\n" 0 31 (:parent #361))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #354) #("And install with\n" 0 17 (:parent #362))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #354)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #354) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #364))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #354) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #365))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #354) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #366))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #354) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #368))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #354) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #370)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #370)) #(".\n" 0 2 (:parent #370))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #354) #("End of the GN2 installation recipe!\n" 0 36 (:parent #371)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #345))) :mode nil :granularity nil :parent #338) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #345) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #348) #("GNU Guix allows for " 0 20 (:parent #351)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #351) #("reproducible deployment" 0 23 (:parent #355))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #351))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #348)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #348) #("Next build guix (and run) following the instructions in " 0 56 (:parent #353)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #353) #("guix-notes" 0 10 (:parent #357))) #(".\n" 0 2 (:parent #353))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #348) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #354))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #348)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #348) #("So\n" 0 3 (:parent #356))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #348) #("#+begin" 0 7 (:parent #357)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #357) #("src" 0 3 (:parent #361))) #("sh :lang bash\n#+begin" 0 23 (:parent #357)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #357) #("src" 0 3 (:parent #363))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #357)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #357) #("PACKAGE" 0 7 (:parent #365))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #357) #("PATH" 0 4 (:parent #366))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #357)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #357) #("src" 0 3 (:parent #368))) #("sh :lang bash\n" 0 16 (:parent #357))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #348) #("Install with\n" 0 13 (:parent #358))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #348) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #359)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #359) #("PACKAGE" 0 7 (:parent #365))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #359) #("PATH" 0 4 (:parent #366))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #359)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #359) #("src" 0 3 (:parent #368))) #("sh :lang bash\n" 0 16 (:parent #359))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #346))) :mode nil :granularity nil :parent #338) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #346) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #349)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #347))) :mode nil :granularity nil :parent #338) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #347) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #350) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #353))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #350) #("First execute above 4 steps:\n" 0 29 (:parent #354))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #350) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #361) #("Step 1: Install GNU Guix" 0 24 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #362) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #363) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #364) #("Step 4: Install and run GN2 " 0 28 (:parent #367))) #("\n" 0 1 (:parent #364)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #351))) :mode nil :granularity nil :parent #347) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #351) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #354) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #357)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #357)) #(".\n" 0 2 (:parent #357))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #354) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #358)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #358) #("PATH" 0 4 (:parent #362))) #("and\nR" 0 5 (:parent #358)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #358) #("LIBS" 0 4 (:parent #364))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #358) #("SITE" 0 4 (:parent #365))) #("are set) from the information given by guix:\n" 0 45 (:parent #358))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #354)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #354) #("Inside the repository:\n" 0 23 (:parent #360))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #354)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #354) #("Will fire up your local repo " 0 29 (:parent #362)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #362)) #("using the\nsettings in ./etc/default" 0 35 (:parent #362)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #362) #("settings.py" 0 11 (:parent #368))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #362)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #370))) #("and pass it into GN2 with\n" 0 26 (:parent #362))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #354)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #354) #("and everything " 0 15 (:parent #364)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #364) #("should" 0 6 (:parent #368))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #364))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #354) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #365))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #354)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #352))) :mode nil :granularity nil :parent #347) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #352) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #355) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #358))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #355) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #359)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #359) #("name" 0 4 (:parent #365))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #359)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #359) #("log" 0 3 (:parent #367))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #359))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #355) #(" proxy" 0 13 (:parent #360)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #360) #("connect" 0 7 (:parent #364))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #360) #("timeout" 0 7 (:parent #365))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #360) #("send" 0 4 (:parent #367))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #368))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #360) #("read" 0 4 (:parent #370))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #371))) #("3000;\n send" 0 18 (:parent #360)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #360) #("timeout" 0 7 (:parent #373))) #("3000;\n" 0 6 (:parent #360))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #355) #(" location / {\n proxy" 0 38 (:parent #361)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #361) #("set" 0 3 (:parent #365))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #361) #("header" 0 6 (:parent #366))) #("Host $http" 0 15 (:parent #361)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #361) #("host" 0 4 (:parent #368))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #361) #("set" 0 3 (:parent #370))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #361) #("header" 0 6 (:parent #371))) #("Connection keep-alive;\n proxy" 0 40 (:parent #361)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #361) #("set" 0 3 (:parent #373))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #361) #("header" 0 6 (:parent #374))) #("X-Real-IP $remote" 0 17 (:parent #361)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #361) #("addr" 0 4 (:parent #376))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #361) #("set" 0 3 (:parent #378))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #361) #("header" 0 6 (:parent #379))) #("X-Forwarded-For $proxy" 0 22 (:parent #361)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #361) #("add" 0 3 (:parent #381))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #361) #("x" 0 1 (:parent #382))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #361) #("forwarded" 0 9 (:parent #383))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #361) #("for" 0 3 (:parent #384))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #361) #("set" 0 3 (:parent #386))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #361) #("header" 0 6 (:parent #387))) #("X-Forwarded-Host $server" 0 24 (:parent #361)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #361) #("name" 0 4 (:parent #389))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #361) #("pass" 0 4 (:parent #391))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #361)) #(";\n }\n}\n#+end" 0 19 (:parent #361)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #361) #("src" 0 3 (:parent #394))) #("js\n" 0 3 (:parent #361))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #355) #("Install the nginx webserver (as root)\n" 0 38 (:parent #362))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #355)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #355) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #364))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #355)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #355) #("Use that path\n" 0 14 (:parent #366))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #355) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #368))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #355) #("Make dirs\n" 0 10 (:parent #370))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #355) #("Add users\n" 0 10 (:parent #372))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #355) #("Run nginx\n" 0 10 (:parent #374))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #355))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #348))) :mode nil :granularity nil :parent #338) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #348) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #351) #("See the document " 0 17 (:parent #354)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #354)) #(".\n" 0 2 (:parent #354)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #352))) :mode nil :granularity nil :parent #348) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #352) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #355) #("We now compile Guix from scratch.\n" 0 34 (:parent #358))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #355) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #359)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #359) #("these" 0 5 (:parent #363))) #("steps carefully after\n" 0 22 (:parent #359))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #355) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #361))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #353))) :mode nil :granularity nil :parent #348) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #353) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #356) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #359))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #356) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\nenv GUIX" 0 13 (:parent #360)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #360) #("PACKAGE" 0 7 (:parent #366))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #360) #("PATH" 0 4 (:parent #367))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #360)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #360)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #360)) #("\"\n#+end" 0 7 (:parent #360)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #360) #("src" 0 3 (:parent #372))) #("bash\n" 0 5 (:parent #360))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #356) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #361))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #356) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #362))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #354))) :mode nil :granularity nil :parent #348) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #354) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #357) #("Make a note of the paths with\n" 0 30 (:parent #360))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #361)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #361) #("src" 0 3 (:parent #365))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #361)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #361) #("src" 0 3 (:parent #367))) #("bash\n" 0 5 (:parent #361))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #357) #("or this should also work if guix is installed\n" 0 46 (:parent #362))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #363)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #363) #("src" 0 3 (:parent #367))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #363)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #363) #("src" 0 3 (:parent #369))) #("bash\n" 0 5 (:parent #363))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #357) #("After setting the paths for the server\n" 0 39 (:parent #364))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #365)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #365) #("src" 0 3 (:parent #369))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #365)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #365) #("LIBS" 0 4 (:parent #371))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #365) #("SITE" 0 4 (:parent #372))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #365)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #365) #("GTK3" 0 4 (:parent #374))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #365) #("PATH" 0 4 (:parent #375))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #365)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #365) #("TYPELIB" 0 7 (:parent #377))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #365) #("PATH" 0 4 (:parent #378))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #365)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #365) #("DATA" 0 4 (:parent #380))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #365) #("DIRS" 0 4 (:parent #381))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #365)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #365) #("EXTRA" 0 5 (:parent #383))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #365) #("MODULES" 0 7 (:parent #384))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #365)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #365) #("src" 0 3 (:parent #386))) #("bash\n" 0 5 (:parent #365))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #357) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #366))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #367)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #367) #("src" 0 3 (:parent #371))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #367)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #367) #("src" 0 3 (:parent #373))) #("bash\n" 0 5 (:parent #367))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #))
#f(compiled-function (element) #)((plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #48))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #94) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #97))) #48 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #99))) :mode nil :granularity nil :parent #94) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #99) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #102) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #105)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #105) #("Guix-notes" 0 10 (:parent #109))) #("and the main " 0 13 (:parent #105)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #105)) #("doc).\n" 0 6 (:parent #105))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #100))) :mode nil :granularity nil :parent #94) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #103))) :mode section :granularity nil :parent #100) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #103) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #106) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #109))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #106) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #110))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #104))) :mode nil :granularity nil :parent #100) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #104) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #107) #("Fetch the GNU Guix binary from " 0 31 (:parent #110)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #110) #("here" 0 4 (:parent #114))) #("(middle panel) and follow\n" 0 26 (:parent #110)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #110) #("instructions" 0 12 (:parent #116))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #110))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #107) #("Once you have succeeded, you have to " 0 37 (:parent #111)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #111) #("set the key" 0 11 (:parent #115))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #111))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #107)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #107) #("Which should show something like\n" 0 33 (:parent #113))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #107)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #107) #("#+end" 0 5 (:parent #115)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #115) #("src" 0 3 (:parent #119))) #("\n" 0 1 (:parent #115))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #107) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #116))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #107)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #107) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #118))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #107) #("If you need more help we have another writeup in " 0 49 (:parent #119)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #119) #("guix-notes" 0 10 (:parent #123))) #(". To get\nrid of the locale warning see " 0 39 (:parent #119)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #119) #("set-locale" 0 10 (:parent #125))) #(".\n" 0 2 (:parent #119))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #105))) :mode nil :granularity nil :parent #100) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #105) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #108) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #111))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #108)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #108) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #113))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #108) #("#+begin" 0 7 (:parent #114)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #114) #("src" 0 3 (:parent #118))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #114)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #114)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #114)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #114)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #114)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #114) #("src" 0 3 (:parent #124))) #("bash\n" 0 5 (:parent #114))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #108) #("To test whether this is working try:\n" 0 37 (:parent #115))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #108) #("#+begin" 0 7 (:parent #116)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #116) #("src" 0 3 (:parent #120))) #("bash\n#+end" 0 10 (:parent #116)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #116) #("src" 0 3 (:parent #122))) #("bash\n" 0 5 (:parent #116))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #106))) :mode nil :granularity nil :parent #100) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #106) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #109) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #112))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #109)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #109) #("by pasting it into the command\n" 0 31 (:parent #114))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #109)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #109) #("and hit Ctrl-D.\n" 0 16 (:parent #116))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #109) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #117))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #107))) :mode nil :granularity nil :parent #100) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #107) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #110) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #113))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #110)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #110) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #115))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #110)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #110) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #117)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #117) #("root" 0 4 (:parent #121))) #(".config/guix/latest override).\n" 0 31 (:parent #117))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #110) #("And install with\n" 0 17 (:parent #118))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #110)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #110) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #120))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #110) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #121))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #110) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #122))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #110)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #110) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #124))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #110)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #110) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #126)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #126)) #(".\n" 0 2 (:parent #126))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #110) #("End of the GN2 installation recipe!\n" 0 36 (:parent #127)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #101))) :mode nil :granularity nil :parent #94) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #101) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #104) #("GNU Guix allows for " 0 20 (:parent #107)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #107) #("reproducible deployment" 0 23 (:parent #111))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #107))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #104)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #104) #("Next build guix (and run) following the instructions in " 0 56 (:parent #109)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #109) #("guix-notes" 0 10 (:parent #113))) #(".\n" 0 2 (:parent #109))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #104) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #110))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #104)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #104) #("So\n" 0 3 (:parent #112))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #104) #("#+begin" 0 7 (:parent #113)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #113) #("src" 0 3 (:parent #117))) #("sh :lang bash\n#+begin" 0 23 (:parent #113)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #113) #("src" 0 3 (:parent #119))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #113)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #113) #("PACKAGE" 0 7 (:parent #121))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #113) #("PATH" 0 4 (:parent #122))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #113)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #113) #("src" 0 3 (:parent #124))) #("sh :lang bash\n" 0 16 (:parent #113))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #104) #("Install with\n" 0 13 (:parent #114))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #104) #("#+begin" 0 7 (:parent #115)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #115) #("src" 0 3 (:parent #119))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #115)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #115) #("PACKAGE" 0 7 (:parent #121))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #115) #("PATH" 0 4 (:parent #122))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #115)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #115) #("src" 0 3 (:parent #124))) #("sh :lang bash\n" 0 16 (:parent #115))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #102))) :mode nil :granularity nil :parent #94) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #102) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #105)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #103))) :mode nil :granularity nil :parent #94) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #103) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #106) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #109))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #106) #("First execute above 4 steps:\n" 0 29 (:parent #110))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #106) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #114) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #117) #("Step 1: Install GNU Guix" 0 24 (:parent #120))) #("\n" 0 1 (:parent #117)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #115) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #118) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #121))) #("\n" 0 1 (:parent #118)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #116) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #119) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #122))) #("\n" 0 1 (:parent #119)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #117) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #120) #("Step 4: Install and run GN2 " 0 28 (:parent #123))) #("\n" 0 1 (:parent #120)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #107))) :mode nil :granularity nil :parent #103) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #107) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #110) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #113)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #113)) #(".\n" 0 2 (:parent #113))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #110) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #114)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #114) #("PATH" 0 4 (:parent #118))) #("and\nR" 0 5 (:parent #114)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #114) #("LIBS" 0 4 (:parent #120))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #114) #("SITE" 0 4 (:parent #121))) #("are set) from the information given by guix:\n" 0 45 (:parent #114))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #110)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #110) #("Inside the repository:\n" 0 23 (:parent #116))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #110)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #110) #("Will fire up your local repo " 0 29 (:parent #118)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #118)) #("using the\nsettings in ./etc/default" 0 35 (:parent #118)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #118) #("settings.py" 0 11 (:parent #124))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #118)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #118) #("settings.py" 0 11 (:parent #126))) #("and pass it into GN2 with\n" 0 26 (:parent #118))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #110)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #110) #("and everything " 0 15 (:parent #120)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #120) #("should" 0 6 (:parent #124))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #120))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #110) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #121))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #110)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #108))) :mode nil :granularity nil :parent #103) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #108) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #111) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #114))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #111) #("#+begin" 0 7 (:parent #115)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #115) #("src" 0 3 (:parent #119))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #115)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #115) #("name" 0 4 (:parent #121))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #115)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #115) #("log" 0 3 (:parent #123))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #115))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #111) #(" proxy" 0 13 (:parent #116)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #116) #("connect" 0 7 (:parent #120))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #116) #("timeout" 0 7 (:parent #121))) #("3000;\n proxy" 0 19 (:parent #116)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #116) #("send" 0 4 (:parent #123))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #116) #("timeout" 0 7 (:parent #124))) #("3000;\n proxy" 0 19 (:parent #116)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #116) #("read" 0 4 (:parent #126))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #116) #("timeout" 0 7 (:parent #127))) #("3000;\n send" 0 18 (:parent #116)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #116) #("timeout" 0 7 (:parent #129))) #("3000;\n" 0 6 (:parent #116))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #111) #(" location / {\n proxy" 0 38 (:parent #117)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #117) #("set" 0 3 (:parent #121))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #117) #("header" 0 6 (:parent #122))) #("Host $http" 0 15 (:parent #117)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #117) #("host" 0 4 (:parent #124))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #117) #("set" 0 3 (:parent #126))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #117) #("header" 0 6 (:parent #127))) #("Connection keep-alive;\n proxy" 0 40 (:parent #117)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #117) #("set" 0 3 (:parent #129))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #117) #("header" 0 6 (:parent #130))) #("X-Real-IP $remote" 0 17 (:parent #117)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #117) #("addr" 0 4 (:parent #132))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #117) #("set" 0 3 (:parent #134))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #117) #("header" 0 6 (:parent #135))) #("X-Forwarded-For $proxy" 0 22 (:parent #117)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #117) #("add" 0 3 (:parent #137))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #117) #("x" 0 1 (:parent #138))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #117) #("forwarded" 0 9 (:parent #139))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #117) #("for" 0 3 (:parent #140))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #117) #("set" 0 3 (:parent #142))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #117) #("header" 0 6 (:parent #143))) #("X-Forwarded-Host $server" 0 24 (:parent #117)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #117) #("name" 0 4 (:parent #145))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #117) #("pass" 0 4 (:parent #147))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #117)) #(";\n }\n}\n#+end" 0 19 (:parent #117)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #117) #("src" 0 3 (:parent #150))) #("js\n" 0 3 (:parent #117))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #111) #("Install the nginx webserver (as root)\n" 0 38 (:parent #118))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #111)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #111) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #120))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #111)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #111) #("Use that path\n" 0 14 (:parent #122))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #111)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #111) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #124))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #111)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #111) #("Make dirs\n" 0 10 (:parent #126))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #111)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #111) #("Add users\n" 0 10 (:parent #128))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #111)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #111) #("Run nginx\n" 0 10 (:parent #130))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #111))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #104))) :mode nil :granularity nil :parent #94) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #104) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #107) #("See the document " 0 17 (:parent #110)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #110)) #(".\n" 0 2 (:parent #110)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #108))) :mode nil :granularity nil :parent #104) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #108) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #111) #("We now compile Guix from scratch.\n" 0 34 (:parent #114))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #111) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #115)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #115) #("these" 0 5 (:parent #119))) #("steps carefully after\n" 0 22 (:parent #115))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #111)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #111) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #117))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #109))) :mode nil :granularity nil :parent #104) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #109) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #112) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #115))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #112) #("#+begin" 0 7 (:parent #116)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #116) #("src" 0 3 (:parent #120))) #("bash\nenv GUIX" 0 13 (:parent #116)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #116) #("PACKAGE" 0 7 (:parent #122))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #116) #("PATH" 0 4 (:parent #123))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #116)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #116)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #116)) #("\"\n#+end" 0 7 (:parent #116)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #116) #("src" 0 3 (:parent #128))) #("bash\n" 0 5 (:parent #116))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #112) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #117))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #112) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #118))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #110))) :mode nil :granularity nil :parent #104) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #110) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #113) #("Make a note of the paths with\n" 0 30 (:parent #116))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #113) #("#+begin" 0 7 (:parent #117)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #117) #("src" 0 3 (:parent #121))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #117)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #117) #("src" 0 3 (:parent #123))) #("bash\n" 0 5 (:parent #117))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #113) #("or this should also work if guix is installed\n" 0 46 (:parent #118))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #113) #("#+begin" 0 7 (:parent #119)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #119) #("src" 0 3 (:parent #123))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #119)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #119) #("src" 0 3 (:parent #125))) #("bash\n" 0 5 (:parent #119))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #113) #("After setting the paths for the server\n" 0 39 (:parent #120))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #113) #("#+begin" 0 7 (:parent #121)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #121) #("src" 0 3 (:parent #125))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #121)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #121) #("LIBS" 0 4 (:parent #127))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #121) #("SITE" 0 4 (:parent #128))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #121)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #121) #("GTK3" 0 4 (:parent #130))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #121) #("PATH" 0 4 (:parent #131))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #121)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #121) #("TYPELIB" 0 7 (:parent #133))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #121) #("PATH" 0 4 (:parent #134))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #121)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #121) #("DATA" 0 4 (:parent #136))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #121) #("DIRS" 0 4 (:parent #137))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #121)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #121) #("EXTRA" 0 5 (:parent #139))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #121) #("MODULES" 0 7 (:parent #140))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #121)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #121) #("src" 0 3 (:parent #142))) #("bash\n" 0 5 (:parent #121))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #113) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #122))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #113) #("#+begin" 0 7 (:parent #123)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #123) #("src" 0 3 (:parent #127))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #123)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #123) #("src" 0 3 (:parent #129))) #("bash\n" 0 5 (:parent #123)))))))) #24)) #0)) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #3) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #6) #("Introduction" 0 12 (:parent #9))) #("\n" 0 1 (:parent #6)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #4) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #7) #("Binary deployment through GNU Guix" 0 34 (:parent #10))) #("\n" 0 1 (:parent #7))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #4) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #14) #("Quick installation recipe" 0 25 (:parent #17))) #("\n" 0 1 (:parent #14)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #15) #("Step 1: Install GNU Guix" 0 24 (:parent #18))) #("\n" 0 1 (:parent #15)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #16) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #19))) #("\n" 0 1 (:parent #16)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #17) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #18) #("Step 4: Install and run GN2" 0 27 (:parent #21))) #("\n" 0 1 (:parent #18)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #5) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #8) #("From source deployment" 0 22 (:parent #11))) #("\n" 0 1 (:parent #8)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #6) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #9) #("Create archive" 0 14 (:parent #12))) #("\n" 0 1 (:parent #9)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #7) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #10) #("Source deployment" 0 17 (:parent #13))) #("\n" 0 1 (:parent #10))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #7) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #17) #("Run your own copy of GN2" 0 24 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #18) #("Set up nginx port forwarding" 0 28 (:parent #21))) #("\n" 0 1 (:parent #18)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #8) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #11) #("Source deployment and other information on reproducibility" 0 58 (:parent #14))) #("\n" 0 1 (:parent #11))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #8) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #18) #("Update to recent guix" 0 21 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #19) #("Install GN2" 0 11 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #20) #("Run GN2" 0 7 (:parent #23))) #("\n" 0 1 (:parent #20))))))))
mapconcat(#f(compiled-function (element) #) ((plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #49))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #95) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #98))) #49 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #100))) :mode nil :granularity nil :parent #95) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #100) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #103) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #106)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #106) #("Guix-notes" 0 10 (:parent #110))) #("and the main " 0 13 (:parent #106)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #106)) #("doc).\n" 0 6 (:parent #106))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #101))) :mode nil :granularity nil :parent #95) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #104))) :mode section :granularity nil :parent #101) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #104) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #107) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #110))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #107) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #111))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #105))) :mode nil :granularity nil :parent #101) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #105) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #108) #("Fetch the GNU Guix binary from " 0 31 (:parent #111)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #111) #("here" 0 4 (:parent #115))) #("(middle panel) and follow\n" 0 26 (:parent #111)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #111) #("instructions" 0 12 (:parent #117))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #111))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #108) #("Once you have succeeded, you have to " 0 37 (:parent #112)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #112) #("set the key" 0 11 (:parent #116))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #112))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #108)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #108) #("Which should show something like\n" 0 33 (:parent #114))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #108)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #108) #("#+end" 0 5 (:parent #116)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #116) #("src" 0 3 (:parent #120))) #("\n" 0 1 (:parent #116))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #108) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #117))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #108)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #108) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #119))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #108) #("If you need more help we have another writeup in " 0 49 (:parent #120)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #120) #("guix-notes" 0 10 (:parent #124))) #(". To get\nrid of the locale warning see " 0 39 (:parent #120)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #120) #("set-locale" 0 10 (:parent #126))) #(".\n" 0 2 (:parent #120))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #106))) :mode nil :granularity nil :parent #101) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #106) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #109) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #112))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #109)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #109) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #114))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #109) #("#+begin" 0 7 (:parent #115)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #115) #("src" 0 3 (:parent #119))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #115)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #115)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #115)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #115)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #115)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #115) #("src" 0 3 (:parent #125))) #("bash\n" 0 5 (:parent #115))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #109) #("To test whether this is working try:\n" 0 37 (:parent #116))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #109) #("#+begin" 0 7 (:parent #117)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #117) #("src" 0 3 (:parent #121))) #("bash\n#+end" 0 10 (:parent #117)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #117) #("src" 0 3 (:parent #123))) #("bash\n" 0 5 (:parent #117))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #107))) :mode nil :granularity nil :parent #101) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #107) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #110) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #113))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #110)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #110) #("by pasting it into the command\n" 0 31 (:parent #115))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #110)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #110) #("and hit Ctrl-D.\n" 0 16 (:parent #117))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #110) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #118))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #108))) :mode nil :granularity nil :parent #101) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #108) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #111) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #114))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #111)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #111) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #116))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #111)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #111) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #118)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #118) #("root" 0 4 (:parent #122))) #(".config/guix/latest override).\n" 0 31 (:parent #118))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #111) #("And install with\n" 0 17 (:parent #119))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #111)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #111) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #121))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #111) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #122))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #111) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #123))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #111)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #111) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #125))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #111)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #111) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #127)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #127)) #(".\n" 0 2 (:parent #127))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #111) #("End of the GN2 installation recipe!\n" 0 36 (:parent #128)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #102))) :mode nil :granularity nil :parent #95) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #102) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #105) #("GNU Guix allows for " 0 20 (:parent #108)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #108) #("reproducible deployment" 0 23 (:parent #112))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #108))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #105)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #105) #("Next build guix (and run) following the instructions in " 0 56 (:parent #110)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #110) #("guix-notes" 0 10 (:parent #114))) #(".\n" 0 2 (:parent #110))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #105) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #111))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #105)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #105) #("So\n" 0 3 (:parent #113))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #105) #("#+begin" 0 7 (:parent #114)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #114) #("src" 0 3 (:parent #118))) #("sh :lang bash\n#+begin" 0 23 (:parent #114)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #114) #("src" 0 3 (:parent #120))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #114)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #114) #("PACKAGE" 0 7 (:parent #122))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #114) #("PATH" 0 4 (:parent #123))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #114)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #114) #("src" 0 3 (:parent #125))) #("sh :lang bash\n" 0 16 (:parent #114))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #105) #("Install with\n" 0 13 (:parent #115))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #105) #("#+begin" 0 7 (:parent #116)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #116) #("src" 0 3 (:parent #120))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #116)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #116) #("PACKAGE" 0 7 (:parent #122))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #116) #("PATH" 0 4 (:parent #123))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #116)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #116) #("src" 0 3 (:parent #125))) #("sh :lang bash\n" 0 16 (:parent #116))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #103))) :mode nil :granularity nil :parent #95) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #103) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #106)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #104))) :mode nil :granularity nil :parent #95) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #104) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #107) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #110))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #107) #("First execute above 4 steps:\n" 0 29 (:parent #111))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #107) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #112) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #115) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #118) #("Step 1: Install GNU Guix" 0 24 (:parent #121))) #("\n" 0 1 (:parent #118)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #112) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #116) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #119) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #122))) #("\n" 0 1 (:parent #119)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #112) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #117) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #120) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #123))) #("\n" 0 1 (:parent #120)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #112) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #118) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #121) #("Step 4: Install and run GN2 " 0 28 (:parent #124))) #("\n" 0 1 (:parent #121)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #108))) :mode nil :granularity nil :parent #104) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #108) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #111) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #114)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #114)) #(".\n" 0 2 (:parent #114))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #111) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #115)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #115) #("PATH" 0 4 (:parent #119))) #("and\nR" 0 5 (:parent #115)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #115) #("LIBS" 0 4 (:parent #121))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #115) #("SITE" 0 4 (:parent #122))) #("are set) from the information given by guix:\n" 0 45 (:parent #115))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #111)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #111) #("Inside the repository:\n" 0 23 (:parent #117))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #111)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #111) #("Will fire up your local repo " 0 29 (:parent #119)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #119)) #("using the\nsettings in ./etc/default" 0 35 (:parent #119)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #119) #("settings.py" 0 11 (:parent #125))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #119)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #119) #("settings.py" 0 11 (:parent #127))) #("and pass it into GN2 with\n" 0 26 (:parent #119))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #111)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #111) #("and everything " 0 15 (:parent #121)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #121) #("should" 0 6 (:parent #125))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #121))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #111) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #122))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #111)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #109))) :mode nil :granularity nil :parent #104) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #109) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #112) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #115))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #112) #("#+begin" 0 7 (:parent #116)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #116) #("src" 0 3 (:parent #120))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #116)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #116) #("name" 0 4 (:parent #122))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #116)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #116) #("log" 0 3 (:parent #124))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #116))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #112) #(" proxy" 0 13 (:parent #117)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #117) #("connect" 0 7 (:parent #121))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #117) #("timeout" 0 7 (:parent #122))) #("3000;\n proxy" 0 19 (:parent #117)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #117) #("send" 0 4 (:parent #124))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #117) #("timeout" 0 7 (:parent #125))) #("3000;\n proxy" 0 19 (:parent #117)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #117) #("read" 0 4 (:parent #127))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #117) #("timeout" 0 7 (:parent #128))) #("3000;\n send" 0 18 (:parent #117)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #117) #("timeout" 0 7 (:parent #130))) #("3000;\n" 0 6 (:parent #117))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #112) #(" location / {\n proxy" 0 38 (:parent #118)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #118) #("set" 0 3 (:parent #122))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #118) #("header" 0 6 (:parent #123))) #("Host $http" 0 15 (:parent #118)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #118) #("host" 0 4 (:parent #125))) #(";\n proxy" 0 19 (:parent #118)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #118) #("set" 0 3 (:parent #127))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #118) #("header" 0 6 (:parent #128))) #("Connection keep-alive;\n proxy" 0 40 (:parent #118)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #118) #("set" 0 3 (:parent #130))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #118) #("header" 0 6 (:parent #131))) #("X-Real-IP $remote" 0 17 (:parent #118)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #118) #("addr" 0 4 (:parent #133))) #(";\n proxy" 0 19 (:parent #118)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #118) #("set" 0 3 (:parent #135))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #118) #("header" 0 6 (:parent #136))) #("X-Forwarded-For $proxy" 0 22 (:parent #118)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #118) #("add" 0 3 (:parent #138))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #118) #("x" 0 1 (:parent #139))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #118) #("forwarded" 0 9 (:parent #140))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #118) #("for" 0 3 (:parent #141))) #(";\n proxy" 0 19 (:parent #118)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #118) #("set" 0 3 (:parent #143))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #118) #("header" 0 6 (:parent #144))) #("X-Forwarded-Host $server" 0 24 (:parent #118)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #118) #("name" 0 4 (:parent #146))) #(";\n proxy" 0 19 (:parent #118)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #118) #("pass" 0 4 (:parent #148))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #118)) #(";\n }\n}\n#+end" 0 19 (:parent #118)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #118) #("src" 0 3 (:parent #151))) #("js\n" 0 3 (:parent #118))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #112) #("Install the nginx webserver (as root)\n" 0 38 (:parent #119))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #112)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #112) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #121))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #112)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #112) #("Use that path\n" 0 14 (:parent #123))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #112)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #112) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #125))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #112)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #112) #("Make dirs\n" 0 10 (:parent #127))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #112)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #112) #("Add users\n" 0 10 (:parent #129))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #112)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #112) #("Run nginx\n" 0 10 (:parent #131))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #112))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #105))) :mode nil :granularity nil :parent #95) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #105) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #108) #("See the document " 0 17 (:parent #111)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #111)) #(".\n" 0 2 (:parent #111)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #109))) :mode nil :granularity nil :parent #105) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #109) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #112) #("We now compile Guix from scratch.\n" 0 34 (:parent #115))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #112) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #116)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #116) #("these" 0 5 (:parent #120))) #("steps carefully after\n" 0 22 (:parent #116))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #112)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #112) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #118))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #110))) :mode nil :granularity nil :parent #105) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #110) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #113) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #116))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #113) #("#+begin" 0 7 (:parent #117)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #117) #("src" 0 3 (:parent #121))) #("bash\nenv GUIX" 0 13 (:parent #117)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #117) #("PACKAGE" 0 7 (:parent #123))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #117) #("PATH" 0 4 (:parent #124))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #117)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #117)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #117)) #("\"\n#+end" 0 7 (:parent #117)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #117) #("src" 0 3 (:parent #129))) #("bash\n" 0 5 (:parent #117))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #113) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #118))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #113) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #119))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #111))) :mode nil :granularity nil :parent #105) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #111) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #114) #("Make a note of the paths with\n" 0 30 (:parent #117))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #114) #("#+begin" 0 7 (:parent #118)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #118) #("src" 0 3 (:parent #122))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #118)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #118) #("src" 0 3 (:parent #124))) #("bash\n" 0 5 (:parent #118))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #114) #("or this should also work if guix is installed\n" 0 46 (:parent #119))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #114) #("#+begin" 0 7 (:parent #120)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #120) #("src" 0 3 (:parent #124))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #120)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #120) #("src" 0 3 (:parent #126))) #("bash\n" 0 5 (:parent #120))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #114) #("After setting the paths for the server\n" 0 39 (:parent #121))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #114) #("#+begin" 0 7 (:parent #122)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #122) #("src" 0 3 (:parent #126))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #122)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #122) #("LIBS" 0 4 (:parent #128))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #122) #("SITE" 0 4 (:parent #129))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #122)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #122) #("GTK3" 0 4 (:parent #131))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #122) #("PATH" 0 4 (:parent #132))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #122)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #122) #("TYPELIB" 0 7 (:parent #134))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #122) #("PATH" 0 4 (:parent #135))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #122)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #122) #("DATA" 0 4 (:parent #137))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #122) #("DIRS" 0 4 (:parent #138))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #122)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #122) #("EXTRA" 0 5 (:parent #140))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #122) #("MODULES" 0 7 (:parent #141))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #122)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #122) #("src" 0 3 (:parent #143))) #("bash\n" 0 5 (:parent #122))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #114) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #123))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #114) #("#+begin" 0 7 (:parent #124)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #124) #("src" 0 3 (:parent #128))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #124)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #124) #("src" 0 3 (:parent #130))) #("bash\n" 0 5 (:parent #124)))))))) #25)) . #0)) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #1) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #4) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #7) #("Introduction" 0 12 (:parent #10))) #("\n" 0 1 (:parent #7)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #1) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #5) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #8) #("Binary deployment through GNU Guix" 0 34 (:parent #11))) #("\n" 0 1 (:parent #8))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #5) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #9) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #15) #("Quick installation recipe" 0 25 (:parent #18))) #("\n" 0 1 (:parent #15)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #9) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #16) #("Step 1: Install GNU Guix" 0 24 (:parent #19))) #("\n" 0 1 (:parent #16)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #9) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #17) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #9) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #18) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #9) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #19) #("Step 4: Install and run GN2" 0 27 (:parent #22))) #("\n" 0 1 (:parent #19)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #1) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #6) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #9) #("From source deployment" 0 22 (:parent #12))) #("\n" 0 1 (:parent #9)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #1) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #7) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #10) #("Create archive" 0 14 (:parent #13))) #("\n" 0 1 (:parent #10)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #1) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #8) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #11) #("Source deployment" 0 17 (:parent #14))) #("\n" 0 1 (:parent #11))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #8) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #18) #("Run your own copy of GN2" 0 24 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #19) #("Set up nginx port forwarding" 0 28 (:parent #22))) #("\n" 0 1 (:parent #19)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #1) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #12) #("Source deployment and other information on reproducibility" 0 58 (:parent #15))) #("\n" 0 1 (:parent #12))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #9) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #13) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #19) #("Update to recent guix" 0 21 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #13) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #20) #("Install GN2" 0 11 (:parent #23))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #13) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #21) #("Run GN2" 0 7 (:parent #24))) #("\n" 0 1 (:parent #21)))))))) "")
org-export-data((section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #24))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #70) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #73))) #24 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #75))) :mode nil :granularity nil :parent #70) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #75) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #78) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #81)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #81) #("Guix-notes" 0 10 (:parent #85))) #("and the main " 0 13 (:parent #81)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #81)) #("doc).\n" 0 6 (:parent #81))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #76))) :mode nil :granularity nil :parent #70) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #79))) :mode section :granularity nil :parent #76) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #79) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #82) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #85))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #82) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #86))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #80))) :mode nil :granularity nil :parent #76) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #80) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #83) #("Fetch the GNU Guix binary from " 0 31 (:parent #86)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #86) #("here" 0 4 (:parent #90))) #("(middle panel) and follow\n" 0 26 (:parent #86)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #86) #("instructions" 0 12 (:parent #92))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #86))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #83) #("Once you have succeeded, you have to " 0 37 (:parent #87)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #87) #("set the key" 0 11 (:parent #91))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #87))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #83)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #83) #("Which should show something like\n" 0 33 (:parent #89))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #83)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #83) #("#+end" 0 5 (:parent #91)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #91) #("src" 0 3 (:parent #95))) #("\n" 0 1 (:parent #91))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #83) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #92))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #83)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #83) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #94))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #83) #("If you need more help we have another writeup in " 0 49 (:parent #95)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #95) #("guix-notes" 0 10 (:parent #99))) #(". To get\nrid of the locale warning see " 0 39 (:parent #95)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #95) #("set-locale" 0 10 (:parent #101))) #(".\n" 0 2 (:parent #95))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #81))) :mode nil :granularity nil :parent #76) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #81) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #84) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #87))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #84)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #84) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #89))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #84) #("#+begin" 0 7 (:parent #90)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #90) #("src" 0 3 (:parent #94))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #90)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #90)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #90)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #90)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #90)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #90) #("src" 0 3 (:parent #100))) #("bash\n" 0 5 (:parent #90))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #84) #("To test whether this is working try:\n" 0 37 (:parent #91))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #84) #("#+begin" 0 7 (:parent #92)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #92) #("src" 0 3 (:parent #96))) #("bash\n#+end" 0 10 (:parent #92)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #92) #("src" 0 3 (:parent #98))) #("bash\n" 0 5 (:parent #92))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #82))) :mode nil :granularity nil :parent #76) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #82) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #85) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #88))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #85)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #85) #("by pasting it into the command\n" 0 31 (:parent #90))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #85)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #85) #("and hit Ctrl-D.\n" 0 16 (:parent #92))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #85) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #93))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #83))) :mode nil :granularity nil :parent #76) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #83) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #86) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #89))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #86)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #86) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #91))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #86)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #86) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #93)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #93) #("root" 0 4 (:parent #97))) #(".config/guix/latest override).\n" 0 31 (:parent #93))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #86) #("And install with\n" 0 17 (:parent #94))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #86)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #86) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #96))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #86) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #97))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #86) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #98))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #86)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #86) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #100))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #86)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #86) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #102)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #102)) #(".\n" 0 2 (:parent #102))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #86) #("End of the GN2 installation recipe!\n" 0 36 (:parent #103)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #77))) :mode nil :granularity nil :parent #70) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #77) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #80) #("GNU Guix allows for " 0 20 (:parent #83)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #83) #("reproducible deployment" 0 23 (:parent #87))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #83))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #80)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #80) #("Next build guix (and run) following the instructions in " 0 56 (:parent #85)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #85) #("guix-notes" 0 10 (:parent #89))) #(".\n" 0 2 (:parent #85))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #80) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #86))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #80)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #80) #("So\n" 0 3 (:parent #88))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #80) #("#+begin" 0 7 (:parent #89)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #89) #("src" 0 3 (:parent #93))) #("sh :lang bash\n#+begin" 0 23 (:parent #89)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #89) #("src" 0 3 (:parent #95))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #89)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #89) #("PACKAGE" 0 7 (:parent #97))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #89) #("PATH" 0 4 (:parent #98))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #89)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #89) #("src" 0 3 (:parent #100))) #("sh :lang bash\n" 0 16 (:parent #89))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #80) #("Install with\n" 0 13 (:parent #90))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #80) #("#+begin" 0 7 (:parent #91)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #91) #("src" 0 3 (:parent #95))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #91)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #91) #("PACKAGE" 0 7 (:parent #97))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #91) #("PATH" 0 4 (:parent #98))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #91)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #91) #("src" 0 3 (:parent #100))) #("sh :lang bash\n" 0 16 (:parent #91))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #78))) :mode nil :granularity nil :parent #70) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #78) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #81)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #79))) :mode nil :granularity nil :parent #70) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #79) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #82) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #85))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #82) #("First execute above 4 steps:\n" 0 29 (:parent #86))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #82) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #90) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #93) #("Step 1: Install GNU Guix" 0 24 (:parent #96))) #("\n" 0 1 (:parent #93)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #91) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #94) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #97))) #("\n" 0 1 (:parent #94)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #95) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #98))) #("\n" 0 1 (:parent #95)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #96) #("Step 4: Install and run GN2 " 0 28 (:parent #99))) #("\n" 0 1 (:parent #96)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #83))) :mode nil :granularity nil :parent #79) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #83) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #86) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #89)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #89)) #(".\n" 0 2 (:parent #89))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #86) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #90)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #90) #("PATH" 0 4 (:parent #94))) #("and\nR" 0 5 (:parent #90)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #90) #("LIBS" 0 4 (:parent #96))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #90) #("SITE" 0 4 (:parent #97))) #("are set) from the information given by guix:\n" 0 45 (:parent #90))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #86)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #86) #("Inside the repository:\n" 0 23 (:parent #92))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #86)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #86) #("Will fire up your local repo " 0 29 (:parent #94)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #94)) #("using the\nsettings in ./etc/default" 0 35 (:parent #94)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #94) #("settings.py" 0 11 (:parent #100))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #94)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #94) #("settings.py" 0 11 (:parent #102))) #("and pass it into GN2 with\n" 0 26 (:parent #94))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #86)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #86) #("and everything " 0 15 (:parent #96)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #96) #("should" 0 6 (:parent #100))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #96))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #86) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #97))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #86)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #84))) :mode nil :granularity nil :parent #79) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #84) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #87) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #90))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #87) #("#+begin" 0 7 (:parent #91)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #91) #("src" 0 3 (:parent #95))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #91)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #91) #("name" 0 4 (:parent #97))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #91)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #91) #("log" 0 3 (:parent #99))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #91))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #87) #(" proxy" 0 13 (:parent #92)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #92) #("connect" 0 7 (:parent #96))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #92) #("timeout" 0 7 (:parent #97))) #("3000;\n proxy" 0 19 (:parent #92)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #92) #("send" 0 4 (:parent #99))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #92) #("timeout" 0 7 (:parent #100))) #("3000;\n proxy" 0 19 (:parent #92)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #92) #("read" 0 4 (:parent #102))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #92) #("timeout" 0 7 (:parent #103))) #("3000;\n send" 0 18 (:parent #92)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #92) #("timeout" 0 7 (:parent #105))) #("3000;\n" 0 6 (:parent #92))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #87) #(" location / {\n proxy" 0 38 (:parent #93)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #93) #("set" 0 3 (:parent #97))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #93) #("header" 0 6 (:parent #98))) #("Host $http" 0 15 (:parent #93)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #93) #("host" 0 4 (:parent #100))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #93) #("set" 0 3 (:parent #102))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #93) #("header" 0 6 (:parent #103))) #("Connection keep-alive;\n proxy" 0 40 (:parent #93)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #93) #("set" 0 3 (:parent #105))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #93) #("header" 0 6 (:parent #106))) #("X-Real-IP $remote" 0 17 (:parent #93)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #93) #("addr" 0 4 (:parent #108))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #93) #("set" 0 3 (:parent #110))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #93) #("header" 0 6 (:parent #111))) #("X-Forwarded-For $proxy" 0 22 (:parent #93)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #93) #("add" 0 3 (:parent #113))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #93) #("x" 0 1 (:parent #114))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #93) #("forwarded" 0 9 (:parent #115))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #93) #("for" 0 3 (:parent #116))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #93) #("set" 0 3 (:parent #118))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #93) #("header" 0 6 (:parent #119))) #("X-Forwarded-Host $server" 0 24 (:parent #93)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #93) #("name" 0 4 (:parent #121))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #93) #("pass" 0 4 (:parent #123))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #93)) #(";\n }\n}\n#+end" 0 19 (:parent #93)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #93) #("src" 0 3 (:parent #126))) #("js\n" 0 3 (:parent #93))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #87) #("Install the nginx webserver (as root)\n" 0 38 (:parent #94))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #87)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #87) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #96))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #87)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #87) #("Use that path\n" 0 14 (:parent #98))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #87)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #87) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #100))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #87)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #87) #("Make dirs\n" 0 10 (:parent #102))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #87)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #87) #("Add users\n" 0 10 (:parent #104))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #87)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #87) #("Run nginx\n" 0 10 (:parent #106))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #87))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #80))) :mode nil :granularity nil :parent #70) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #80) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #83) #("See the document " 0 17 (:parent #86)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #86)) #(".\n" 0 2 (:parent #86)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #84))) :mode nil :granularity nil :parent #80) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #84) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #87) #("We now compile Guix from scratch.\n" 0 34 (:parent #90))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #87) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #91)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #91) #("these" 0 5 (:parent #95))) #("steps carefully after\n" 0 22 (:parent #91))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #87)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #87) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #93))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #85))) :mode nil :granularity nil :parent #80) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #85) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #88) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #91))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #88) #("#+begin" 0 7 (:parent #92)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #92) #("src" 0 3 (:parent #96))) #("bash\nenv GUIX" 0 13 (:parent #92)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #92) #("PACKAGE" 0 7 (:parent #98))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #92) #("PATH" 0 4 (:parent #99))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #92)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #92)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #92)) #("\"\n#+end" 0 7 (:parent #92)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #92) #("src" 0 3 (:parent #104))) #("bash\n" 0 5 (:parent #92))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #88) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #93))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #88) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #94))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #86))) :mode nil :granularity nil :parent #80) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #86) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #89) #("Make a note of the paths with\n" 0 30 (:parent #92))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #89) #("#+begin" 0 7 (:parent #93)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #93) #("src" 0 3 (:parent #97))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #93)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #93) #("src" 0 3 (:parent #99))) #("bash\n" 0 5 (:parent #93))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #89) #("or this should also work if guix is installed\n" 0 46 (:parent #94))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #89) #("#+begin" 0 7 (:parent #95)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #95) #("src" 0 3 (:parent #99))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #95)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #95) #("src" 0 3 (:parent #101))) #("bash\n" 0 5 (:parent #95))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #89) #("After setting the paths for the server\n" 0 39 (:parent #96))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #89) #("#+begin" 0 7 (:parent #97)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #97) #("src" 0 3 (:parent #101))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #97)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #97) #("LIBS" 0 4 (:parent #103))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #97) #("SITE" 0 4 (:parent #104))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #97)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #97) #("GTK3" 0 4 (:parent #106))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #97) #("PATH" 0 4 (:parent #107))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #97)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #97) #("TYPELIB" 0 7 (:parent #109))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #97) #("PATH" 0 4 (:parent #110))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #97)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #97) #("DATA" 0 4 (:parent #112))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #97) #("DIRS" 0 4 (:parent #113))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #97)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #97) #("EXTRA" 0 5 (:parent #115))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #97) #("MODULES" 0 7 (:parent #116))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #97)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #97) #("src" 0 3 (:parent #118))) #("bash\n" 0 5 (:parent #97))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #89) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #98))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #89) #("#+begin" 0 7 (:parent #99)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #99) #("src" 0 3 (:parent #103))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #99)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #99) #("src" 0 3 (:parent #105))) #("bash\n" 0 5 (:parent #99)))))))) #0)) (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent #0) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #6) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #9) #("Introduction" 0 12 (:parent #12))) #("\n" 0 1 (:parent #9)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #7) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #10) #("Binary deployment through GNU Guix" 0 34 (:parent #13))) #("\n" 0 1 (:parent #10))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #7) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #17) #("Quick installation recipe" 0 25 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #18) #("Step 1: Install GNU Guix" 0 24 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #19) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #20) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #23))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #21) #("Step 4: Install and run GN2" 0 27 (:parent #24))) #("\n" 0 1 (:parent #21)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #8) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #11) #("From source deployment" 0 22 (:parent #14))) #("\n" 0 1 (:parent #11)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #12) #("Create archive" 0 14 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #10) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #13) #("Source deployment" 0 17 (:parent #16))) #("\n" 0 1 (:parent #13))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #10) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #20) #("Run your own copy of GN2" 0 24 (:parent #23))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #21) #("Set up nginx port forwarding" 0 28 (:parent #24))) #("\n" 0 1 (:parent #21)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #14) #("Source deployment and other information on reproducibility" 0 58 (:parent #17))) #("\n" 0 1 (:parent #14))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #11) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #21) #("Update to recent guix" 0 21 (:parent #24))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #22) #("Install GN2" 0 11 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #23) #("Run GN2" 0 7 (:parent #26))) #("\n" 0 1 (:parent #23)))))))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section ") :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" " \n" . " ") :html-table-header-tags ("" . " ") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (underline . "%s") (verbatim . "" :html-table-row-close-tag " " :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 29.4 (Org mode 9.6.15)" :with-latex t :latex-header nil :title (#("Installing GeneNetwork services with GNU Guix" 0 45 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #338) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #341))) (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #342))) :mode nil :granularity nil :parent #338) (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent #342) (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent #345) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #351) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #354) #("Introduction" 0 12 (:parent #357))) #("\n" 0 1 (:parent #354)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #352) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #355) #("Binary deployment through GNU Guix" 0 34 (:parent #358))) #("\n" 0 1 (:parent #355))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #352) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #362) #("Quick installation recipe" 0 25 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #363) #("Step 1: Install GNU Guix" 0 24 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #364) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #367))) #("\n" 0 1 (:parent #364)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #365) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #366) #("Step 4: Install and run GN2" 0 27 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #353) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #356) #("From source deployment" 0 22 (:parent #359))) #("\n" 0 1 (:parent #356)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #354) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #357) #("Create archive" 0 14 (:parent #360))) #("\n" 0 1 (:parent #357)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #355) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #358) #("Source deployment" 0 17 (:parent #361))) #("\n" 0 1 (:parent #358))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #355) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #365) #("Run your own copy of GN2" 0 24 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #366) #("Set up nginx port forwarding" 0 28 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #356) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #359) #("Source deployment and other information on reproducibility" 0 58 (:parent #362))) #("\n" 0 1 (:parent #359))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #356) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #366) #("Update to recent guix" 0 21 (:parent #369))) #("\n" 0 1 (:parent #366)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #367) #("Install GN2" 0 11 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #368) #("Run GN2" 0 7 (:parent #371))) #("\n" 0 1 (:parent #368))))))))) (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #343))) :mode nil :granularity nil :parent #338) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #343) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #346) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #349)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #349) #("Guix-notes" 0 10 (:parent #353))) #("and the main " 0 13 (:parent #349)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #349)) #("doc).\n" 0 6 (:parent #349))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #344))) :mode nil :granularity nil :parent #338) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #347))) :mode section :granularity nil :parent #344) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #347) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #350) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #353))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #350) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #354))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #348))) :mode nil :granularity nil :parent #344) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #348) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #351) #("Fetch the GNU Guix binary from " 0 31 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #354) #("here" 0 4 (:parent #358))) #("(middle panel) and follow\n" 0 26 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #354) #("instructions" 0 12 (:parent #360))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #354))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #351) #("Once you have succeeded, you have to " 0 37 (:parent #355)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #355) #("set the key" 0 11 (:parent #359))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #351)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #351) #("Which should show something like\n" 0 33 (:parent #357))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #351)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #351) #("#+end" 0 5 (:parent #359)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #359) #("src" 0 3 (:parent #363))) #("\n" 0 1 (:parent #359))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #351) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #360))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #351)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #351) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #362))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #351) #("If you need more help we have another writeup in " 0 49 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #363) #("guix-notes" 0 10 (:parent #367))) #(". To get\nrid of the locale warning see " 0 39 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #363) #("set-locale" 0 10 (:parent #369))) #(".\n" 0 2 (:parent #363))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #349))) :mode nil :granularity nil :parent #344) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #349) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #352) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #352)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #352) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #357))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #358)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #358) #("src" 0 3 (:parent #362))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #358)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #358)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #358)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #358) #("src" 0 3 (:parent #368))) #("bash\n" 0 5 (:parent #358))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #352) #("To test whether this is working try:\n" 0 37 (:parent #359))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\n#+end" 0 10 (:parent #360)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #360) #("src" 0 3 (:parent #366))) #("bash\n" 0 5 (:parent #360))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #350))) :mode nil :granularity nil :parent #344) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #350) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #353) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #356))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #353)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #353) #("by pasting it into the command\n" 0 31 (:parent #358))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #353)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #353) #("and hit Ctrl-D.\n" 0 16 (:parent #360))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #353) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #361))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #351))) :mode nil :granularity nil :parent #344) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #351) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #354) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #357))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #354)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #354) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #359))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #354)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #354) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #361)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #361) #("root" 0 4 (:parent #365))) #(".config/guix/latest override).\n" 0 31 (:parent #361))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #354) #("And install with\n" 0 17 (:parent #362))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #354)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #354) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #364))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #354) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #365))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #354) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #366))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #354) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #368))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #354) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #370)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #370)) #(".\n" 0 2 (:parent #370))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #354) #("End of the GN2 installation recipe!\n" 0 36 (:parent #371)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #345))) :mode nil :granularity nil :parent #338) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #345) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #348) #("GNU Guix allows for " 0 20 (:parent #351)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #351) #("reproducible deployment" 0 23 (:parent #355))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #351))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #348)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #348) #("Next build guix (and run) following the instructions in " 0 56 (:parent #353)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #353) #("guix-notes" 0 10 (:parent #357))) #(".\n" 0 2 (:parent #353))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #348) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #354))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #348)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #348) #("So\n" 0 3 (:parent #356))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #348) #("#+begin" 0 7 (:parent #357)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #357) #("src" 0 3 (:parent #361))) #("sh :lang bash\n#+begin" 0 23 (:parent #357)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #357) #("src" 0 3 (:parent #363))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #357)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #357) #("PACKAGE" 0 7 (:parent #365))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #357) #("PATH" 0 4 (:parent #366))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #357)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #357) #("src" 0 3 (:parent #368))) #("sh :lang bash\n" 0 16 (:parent #357))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #348) #("Install with\n" 0 13 (:parent #358))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #348) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #359)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #359) #("PACKAGE" 0 7 (:parent #365))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #359) #("PATH" 0 4 (:parent #366))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #359)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #359) #("src" 0 3 (:parent #368))) #("sh :lang bash\n" 0 16 (:parent #359))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #346))) :mode nil :granularity nil :parent #338) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #346) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #349)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #347))) :mode nil :granularity nil :parent #338) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #347) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #350) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #353))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #350) #("First execute above 4 steps:\n" 0 29 (:parent #354))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #350) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #361) #("Step 1: Install GNU Guix" 0 24 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #362) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #363) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #364) #("Step 4: Install and run GN2 " 0 28 (:parent #367))) #("\n" 0 1 (:parent #364)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #351))) :mode nil :granularity nil :parent #347) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #351) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #354) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #357)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #357)) #(".\n" 0 2 (:parent #357))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #354) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #358)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #358) #("PATH" 0 4 (:parent #362))) #("and\nR" 0 5 (:parent #358)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #358) #("LIBS" 0 4 (:parent #364))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #358) #("SITE" 0 4 (:parent #365))) #("are set) from the information given by guix:\n" 0 45 (:parent #358))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #354)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #354) #("Inside the repository:\n" 0 23 (:parent #360))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #354)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #354) #("Will fire up your local repo " 0 29 (:parent #362)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #362)) #("using the\nsettings in ./etc/default" 0 35 (:parent #362)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #362) #("settings.py" 0 11 (:parent #368))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #362)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #370))) #("and pass it into GN2 with\n" 0 26 (:parent #362))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #354)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #354) #("and everything " 0 15 (:parent #364)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #364) #("should" 0 6 (:parent #368))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #364))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #354) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #365))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #354)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #352))) :mode nil :granularity nil :parent #347) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #352) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #355) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #358))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #355) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #359)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #359) #("name" 0 4 (:parent #365))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #359)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #359) #("log" 0 3 (:parent #367))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #359))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #355) #(" proxy" 0 13 (:parent #360)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #360) #("connect" 0 7 (:parent #364))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #360) #("timeout" 0 7 (:parent #365))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #360) #("send" 0 4 (:parent #367))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #368))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #360) #("read" 0 4 (:parent #370))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #371))) #("3000;\n send" 0 18 (:parent #360)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #360) #("timeout" 0 7 (:parent #373))) #("3000;\n" 0 6 (:parent #360))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #355) #(" location / {\n proxy" 0 38 (:parent #361)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #361) #("set" 0 3 (:parent #365))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #361) #("header" 0 6 (:parent #366))) #("Host $http" 0 15 (:parent #361)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #361) #("host" 0 4 (:parent #368))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #361) #("set" 0 3 (:parent #370))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #361) #("header" 0 6 (:parent #371))) #("Connection keep-alive;\n proxy" 0 40 (:parent #361)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #361) #("set" 0 3 (:parent #373))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #361) #("header" 0 6 (:parent #374))) #("X-Real-IP $remote" 0 17 (:parent #361)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #361) #("addr" 0 4 (:parent #376))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #361) #("set" 0 3 (:parent #378))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #361) #("header" 0 6 (:parent #379))) #("X-Forwarded-For $proxy" 0 22 (:parent #361)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #361) #("add" 0 3 (:parent #381))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #361) #("x" 0 1 (:parent #382))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #361) #("forwarded" 0 9 (:parent #383))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #361) #("for" 0 3 (:parent #384))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #361) #("set" 0 3 (:parent #386))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #361) #("header" 0 6 (:parent #387))) #("X-Forwarded-Host $server" 0 24 (:parent #361)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #361) #("name" 0 4 (:parent #389))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #361) #("pass" 0 4 (:parent #391))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #361)) #(";\n }\n}\n#+end" 0 19 (:parent #361)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #361) #("src" 0 3 (:parent #394))) #("js\n" 0 3 (:parent #361))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #355) #("Install the nginx webserver (as root)\n" 0 38 (:parent #362))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #355)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #355) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #364))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #355)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #355) #("Use that path\n" 0 14 (:parent #366))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #355) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #368))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #355) #("Make dirs\n" 0 10 (:parent #370))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #355) #("Add users\n" 0 10 (:parent #372))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #355) #("Run nginx\n" 0 10 (:parent #374))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #355))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #348))) :mode nil :granularity nil :parent #338) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #348) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #351) #("See the document " 0 17 (:parent #354)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #354)) #(".\n" 0 2 (:parent #354)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #352))) :mode nil :granularity nil :parent #348) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #352) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #355) #("We now compile Guix from scratch.\n" 0 34 (:parent #358))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #355) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #359)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #359) #("these" 0 5 (:parent #363))) #("steps carefully after\n" 0 22 (:parent #359))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #355) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #361))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #353))) :mode nil :granularity nil :parent #348) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #353) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #356) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #359))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #356) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\nenv GUIX" 0 13 (:parent #360)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #360) #("PACKAGE" 0 7 (:parent #366))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #360) #("PATH" 0 4 (:parent #367))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #360)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #360)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #360)) #("\"\n#+end" 0 7 (:parent #360)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #360) #("src" 0 3 (:parent #372))) #("bash\n" 0 5 (:parent #360))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #356) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #361))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #356) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #362))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #354))) :mode nil :granularity nil :parent #348) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #354) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #357) #("Make a note of the paths with\n" 0 30 (:parent #360))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #361)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #361) #("src" 0 3 (:parent #365))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #361)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #361) #("src" 0 3 (:parent #367))) #("bash\n" 0 5 (:parent #361))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #357) #("or this should also work if guix is installed\n" 0 46 (:parent #362))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #363)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #363) #("src" 0 3 (:parent #367))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #363)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #363) #("src" 0 3 (:parent #369))) #("bash\n" 0 5 (:parent #363))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #357) #("After setting the paths for the server\n" 0 39 (:parent #364))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #365)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #365) #("src" 0 3 (:parent #369))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #365)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #365) #("LIBS" 0 4 (:parent #371))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #365) #("SITE" 0 4 (:parent #372))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #365)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #365) #("GTK3" 0 4 (:parent #374))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #365) #("PATH" 0 4 (:parent #375))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #365)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #365) #("TYPELIB" 0 7 (:parent #377))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #365) #("PATH" 0 4 (:parent #378))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #365)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #365) #("DATA" 0 4 (:parent #380))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #365) #("DIRS" 0 4 (:parent #381))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #365)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #365) #("EXTRA" 0 5 (:parent #383))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #365) #("MODULES" 0 7 (:parent #384))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #365)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #365) #("src" 0 3 (:parent #386))) #("bash\n" 0 5 (:parent #365))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #357) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #366))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #367)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #367) #("src" 0 3 (:parent #371))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #367)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #367) #("src" 0 3 (:parent #373))) #("bash\n" 0 5 (:parent #367))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #))
#f(compiled-function (element) #)((section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #24))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #70) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #73))) #24 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #75))) :mode nil :granularity nil :parent #70) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #75) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #78) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #81)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #81) #("Guix-notes" 0 10 (:parent #85))) #("and the main " 0 13 (:parent #81)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #81)) #("doc).\n" 0 6 (:parent #81))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #76))) :mode nil :granularity nil :parent #70) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #79))) :mode section :granularity nil :parent #76) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #79) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #82) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #85))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #82) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #86))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #80))) :mode nil :granularity nil :parent #76) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #80) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #83) #("Fetch the GNU Guix binary from " 0 31 (:parent #86)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #86) #("here" 0 4 (:parent #90))) #("(middle panel) and follow\n" 0 26 (:parent #86)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #86) #("instructions" 0 12 (:parent #92))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #86))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #83) #("Once you have succeeded, you have to " 0 37 (:parent #87)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #87) #("set the key" 0 11 (:parent #91))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #87))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #83)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #83) #("Which should show something like\n" 0 33 (:parent #89))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #83)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #83) #("#+end" 0 5 (:parent #91)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #91) #("src" 0 3 (:parent #95))) #("\n" 0 1 (:parent #91))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #83) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #92))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #83)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #83) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #94))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #83) #("If you need more help we have another writeup in " 0 49 (:parent #95)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #95) #("guix-notes" 0 10 (:parent #99))) #(". To get\nrid of the locale warning see " 0 39 (:parent #95)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #95) #("set-locale" 0 10 (:parent #101))) #(".\n" 0 2 (:parent #95))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #81))) :mode nil :granularity nil :parent #76) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #81) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #84) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #87))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #84)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #84) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #89))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #84) #("#+begin" 0 7 (:parent #90)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #90) #("src" 0 3 (:parent #94))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #90)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #90)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #90)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #90)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #90)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #90) #("src" 0 3 (:parent #100))) #("bash\n" 0 5 (:parent #90))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #84) #("To test whether this is working try:\n" 0 37 (:parent #91))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #84) #("#+begin" 0 7 (:parent #92)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #92) #("src" 0 3 (:parent #96))) #("bash\n#+end" 0 10 (:parent #92)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #92) #("src" 0 3 (:parent #98))) #("bash\n" 0 5 (:parent #92))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #82))) :mode nil :granularity nil :parent #76) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #82) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #85) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #88))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #85)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #85) #("by pasting it into the command\n" 0 31 (:parent #90))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #85)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #85) #("and hit Ctrl-D.\n" 0 16 (:parent #92))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #85) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #93))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #83))) :mode nil :granularity nil :parent #76) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #83) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #86) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #89))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #86)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #86) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #91))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #86)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #86) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #93)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #93) #("root" 0 4 (:parent #97))) #(".config/guix/latest override).\n" 0 31 (:parent #93))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #86) #("And install with\n" 0 17 (:parent #94))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #86)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #86) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #96))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #86) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #97))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #86) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #98))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #86)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #86) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #100))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #86)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #86) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #102)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #102)) #(".\n" 0 2 (:parent #102))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #86) #("End of the GN2 installation recipe!\n" 0 36 (:parent #103)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #77))) :mode nil :granularity nil :parent #70) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #77) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #80) #("GNU Guix allows for " 0 20 (:parent #83)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #83) #("reproducible deployment" 0 23 (:parent #87))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #83))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #80)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #80) #("Next build guix (and run) following the instructions in " 0 56 (:parent #85)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #85) #("guix-notes" 0 10 (:parent #89))) #(".\n" 0 2 (:parent #85))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #80) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #86))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #80)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #80) #("So\n" 0 3 (:parent #88))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #80) #("#+begin" 0 7 (:parent #89)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #89) #("src" 0 3 (:parent #93))) #("sh :lang bash\n#+begin" 0 23 (:parent #89)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #89) #("src" 0 3 (:parent #95))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #89)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #89) #("PACKAGE" 0 7 (:parent #97))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #89) #("PATH" 0 4 (:parent #98))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #89)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #89) #("src" 0 3 (:parent #100))) #("sh :lang bash\n" 0 16 (:parent #89))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #80) #("Install with\n" 0 13 (:parent #90))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #80) #("#+begin" 0 7 (:parent #91)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #91) #("src" 0 3 (:parent #95))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #91)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #91) #("PACKAGE" 0 7 (:parent #97))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #91) #("PATH" 0 4 (:parent #98))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #91)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #91) #("src" 0 3 (:parent #100))) #("sh :lang bash\n" 0 16 (:parent #91))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #78))) :mode nil :granularity nil :parent #70) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #78) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #81)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #79))) :mode nil :granularity nil :parent #70) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #79) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #82) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #85))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #82) #("First execute above 4 steps:\n" 0 29 (:parent #86))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #82) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #90) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #93) #("Step 1: Install GNU Guix" 0 24 (:parent #96))) #("\n" 0 1 (:parent #93)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #91) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #94) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #97))) #("\n" 0 1 (:parent #94)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #95) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #98))) #("\n" 0 1 (:parent #95)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #96) #("Step 4: Install and run GN2 " 0 28 (:parent #99))) #("\n" 0 1 (:parent #96)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #83))) :mode nil :granularity nil :parent #79) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #83) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #86) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #89)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #89)) #(".\n" 0 2 (:parent #89))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #86) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #90)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #90) #("PATH" 0 4 (:parent #94))) #("and\nR" 0 5 (:parent #90)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #90) #("LIBS" 0 4 (:parent #96))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #90) #("SITE" 0 4 (:parent #97))) #("are set) from the information given by guix:\n" 0 45 (:parent #90))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #86)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #86) #("Inside the repository:\n" 0 23 (:parent #92))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #86)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #86) #("Will fire up your local repo " 0 29 (:parent #94)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #94)) #("using the\nsettings in ./etc/default" 0 35 (:parent #94)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #94) #("settings.py" 0 11 (:parent #100))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #94)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #94) #("settings.py" 0 11 (:parent #102))) #("and pass it into GN2 with\n" 0 26 (:parent #94))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #86)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #86) #("and everything " 0 15 (:parent #96)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #96) #("should" 0 6 (:parent #100))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #96))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #86) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #97))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #86)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #84))) :mode nil :granularity nil :parent #79) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #84) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #87) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #90))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #87) #("#+begin" 0 7 (:parent #91)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #91) #("src" 0 3 (:parent #95))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #91)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #91) #("name" 0 4 (:parent #97))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #91)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #91) #("log" 0 3 (:parent #99))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #91))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #87) #(" proxy" 0 13 (:parent #92)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #92) #("connect" 0 7 (:parent #96))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #92) #("timeout" 0 7 (:parent #97))) #("3000;\n proxy" 0 19 (:parent #92)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #92) #("send" 0 4 (:parent #99))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #92) #("timeout" 0 7 (:parent #100))) #("3000;\n proxy" 0 19 (:parent #92)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #92) #("read" 0 4 (:parent #102))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #92) #("timeout" 0 7 (:parent #103))) #("3000;\n send" 0 18 (:parent #92)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #92) #("timeout" 0 7 (:parent #105))) #("3000;\n" 0 6 (:parent #92))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #87) #(" location / {\n proxy" 0 38 (:parent #93)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #93) #("set" 0 3 (:parent #97))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #93) #("header" 0 6 (:parent #98))) #("Host $http" 0 15 (:parent #93)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #93) #("host" 0 4 (:parent #100))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #93) #("set" 0 3 (:parent #102))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #93) #("header" 0 6 (:parent #103))) #("Connection keep-alive;\n proxy" 0 40 (:parent #93)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #93) #("set" 0 3 (:parent #105))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #93) #("header" 0 6 (:parent #106))) #("X-Real-IP $remote" 0 17 (:parent #93)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #93) #("addr" 0 4 (:parent #108))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #93) #("set" 0 3 (:parent #110))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #93) #("header" 0 6 (:parent #111))) #("X-Forwarded-For $proxy" 0 22 (:parent #93)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #93) #("add" 0 3 (:parent #113))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #93) #("x" 0 1 (:parent #114))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #93) #("forwarded" 0 9 (:parent #115))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #93) #("for" 0 3 (:parent #116))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #93) #("set" 0 3 (:parent #118))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #93) #("header" 0 6 (:parent #119))) #("X-Forwarded-Host $server" 0 24 (:parent #93)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #93) #("name" 0 4 (:parent #121))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #93) #("pass" 0 4 (:parent #123))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #93)) #(";\n }\n}\n#+end" 0 19 (:parent #93)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #93) #("src" 0 3 (:parent #126))) #("js\n" 0 3 (:parent #93))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #87) #("Install the nginx webserver (as root)\n" 0 38 (:parent #94))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #87)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #87) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #96))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #87)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #87) #("Use that path\n" 0 14 (:parent #98))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #87)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #87) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #100))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #87)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #87) #("Make dirs\n" 0 10 (:parent #102))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #87)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #87) #("Add users\n" 0 10 (:parent #104))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #87)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #87) #("Run nginx\n" 0 10 (:parent #106))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #87))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #80))) :mode nil :granularity nil :parent #70) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #80) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #83) #("See the document " 0 17 (:parent #86)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #86)) #(".\n" 0 2 (:parent #86)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #84))) :mode nil :granularity nil :parent #80) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #84) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #87) #("We now compile Guix from scratch.\n" 0 34 (:parent #90))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #87) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #91)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #91) #("these" 0 5 (:parent #95))) #("steps carefully after\n" 0 22 (:parent #91))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #87)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #87) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #93))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #85))) :mode nil :granularity nil :parent #80) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #85) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #88) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #91))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #88) #("#+begin" 0 7 (:parent #92)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #92) #("src" 0 3 (:parent #96))) #("bash\nenv GUIX" 0 13 (:parent #92)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #92) #("PACKAGE" 0 7 (:parent #98))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #92) #("PATH" 0 4 (:parent #99))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #92)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #92)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #92)) #("\"\n#+end" 0 7 (:parent #92)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #92) #("src" 0 3 (:parent #104))) #("bash\n" 0 5 (:parent #92))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #88) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #93))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #88) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #94))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #86))) :mode nil :granularity nil :parent #80) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #86) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #89) #("Make a note of the paths with\n" 0 30 (:parent #92))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #89) #("#+begin" 0 7 (:parent #93)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #93) #("src" 0 3 (:parent #97))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #93)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #93) #("src" 0 3 (:parent #99))) #("bash\n" 0 5 (:parent #93))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #89) #("or this should also work if guix is installed\n" 0 46 (:parent #94))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #89) #("#+begin" 0 7 (:parent #95)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #95) #("src" 0 3 (:parent #99))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #95)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #95) #("src" 0 3 (:parent #101))) #("bash\n" 0 5 (:parent #95))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #89) #("After setting the paths for the server\n" 0 39 (:parent #96))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #89) #("#+begin" 0 7 (:parent #97)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #97) #("src" 0 3 (:parent #101))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #97)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #97) #("LIBS" 0 4 (:parent #103))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #97) #("SITE" 0 4 (:parent #104))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #97)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #97) #("GTK3" 0 4 (:parent #106))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #97) #("PATH" 0 4 (:parent #107))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #97)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #97) #("TYPELIB" 0 7 (:parent #109))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #97) #("PATH" 0 4 (:parent #110))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #97)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #97) #("DATA" 0 4 (:parent #112))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #97) #("DIRS" 0 4 (:parent #113))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #97)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #97) #("EXTRA" 0 5 (:parent #115))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #97) #("MODULES" 0 7 (:parent #116))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #97)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #97) #("src" 0 3 (:parent #118))) #("bash\n" 0 5 (:parent #97))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #89) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #98))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #89) #("#+begin" 0 7 (:parent #99)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #99) #("src" 0 3 (:parent #103))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #99)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #99) #("src" 0 3 (:parent #105))) #("bash\n" 0 5 (:parent #99)))))))) #0)) (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent #0) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #6) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #9) #("Introduction" 0 12 (:parent #12))) #("\n" 0 1 (:parent #9)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #7) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #10) #("Binary deployment through GNU Guix" 0 34 (:parent #13))) #("\n" 0 1 (:parent #10))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #7) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #17) #("Quick installation recipe" 0 25 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #18) #("Step 1: Install GNU Guix" 0 24 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #19) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #20) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #23))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #21) #("Step 4: Install and run GN2" 0 27 (:parent #24))) #("\n" 0 1 (:parent #21)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #8) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #11) #("From source deployment" 0 22 (:parent #14))) #("\n" 0 1 (:parent #11)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #12) #("Create archive" 0 14 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #10) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #13) #("Source deployment" 0 17 (:parent #16))) #("\n" 0 1 (:parent #13))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #10) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #20) #("Run your own copy of GN2" 0 24 (:parent #23))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #21) #("Set up nginx port forwarding" 0 28 (:parent #24))) #("\n" 0 1 (:parent #21)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #14) #("Source deployment and other information on reproducibility" 0 58 (:parent #17))) #("\n" 0 1 (:parent #14))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #11) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #21) #("Update to recent guix" 0 21 (:parent #24))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #22) #("Install GN2" 0 11 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #23) #("Run GN2" 0 7 (:parent #26))) #("\n" 0 1 (:parent #23)))))))))
mapconcat(#f(compiled-function (element) #) ((section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #25))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #71) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #74))) #25 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #76))) :mode nil :granularity nil :parent #71) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #76) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #79) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #82)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #82) #("Guix-notes" 0 10 (:parent #86))) #("and the main " 0 13 (:parent #82)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #82)) #("doc).\n" 0 6 (:parent #82))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #77))) :mode nil :granularity nil :parent #71) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #80))) :mode section :granularity nil :parent #77) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #80) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #83) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #86))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #83) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #87))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #81))) :mode nil :granularity nil :parent #77) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #81) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #84) #("Fetch the GNU Guix binary from " 0 31 (:parent #87)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #87) #("here" 0 4 (:parent #91))) #("(middle panel) and follow\n" 0 26 (:parent #87)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #87) #("instructions" 0 12 (:parent #93))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #87))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #84) #("Once you have succeeded, you have to " 0 37 (:parent #88)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #88) #("set the key" 0 11 (:parent #92))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #88))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #84)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #84) #("Which should show something like\n" 0 33 (:parent #90))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #84)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #84) #("#+end" 0 5 (:parent #92)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #92) #("src" 0 3 (:parent #96))) #("\n" 0 1 (:parent #92))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #84) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #93))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #84)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #84) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #95))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #84) #("If you need more help we have another writeup in " 0 49 (:parent #96)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #96) #("guix-notes" 0 10 (:parent #100))) #(". To get\nrid of the locale warning see " 0 39 (:parent #96)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #96) #("set-locale" 0 10 (:parent #102))) #(".\n" 0 2 (:parent #96))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #82))) :mode nil :granularity nil :parent #77) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #82) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #85) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #88))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #85)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #85) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #90))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #85) #("#+begin" 0 7 (:parent #91)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #91) #("src" 0 3 (:parent #95))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #91)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #91)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #91)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #91)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #91)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #91) #("src" 0 3 (:parent #101))) #("bash\n" 0 5 (:parent #91))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #85) #("To test whether this is working try:\n" 0 37 (:parent #92))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #85) #("#+begin" 0 7 (:parent #93)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #93) #("src" 0 3 (:parent #97))) #("bash\n#+end" 0 10 (:parent #93)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #93) #("src" 0 3 (:parent #99))) #("bash\n" 0 5 (:parent #93))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #83))) :mode nil :granularity nil :parent #77) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #83) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #86) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #89))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #86)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #86) #("by pasting it into the command\n" 0 31 (:parent #91))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #86)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #86) #("and hit Ctrl-D.\n" 0 16 (:parent #93))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #86) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #94))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #84))) :mode nil :granularity nil :parent #77) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #84) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #87) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #90))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #87)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #87) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #92))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #87)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #87) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #94)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #94) #("root" 0 4 (:parent #98))) #(".config/guix/latest override).\n" 0 31 (:parent #94))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #87) #("And install with\n" 0 17 (:parent #95))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #87)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #87) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #97))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #87) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #98))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #87) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #99))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #87)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #87) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #101))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #87)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #87) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #103)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #103)) #(".\n" 0 2 (:parent #103))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #87) #("End of the GN2 installation recipe!\n" 0 36 (:parent #104)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #78))) :mode nil :granularity nil :parent #71) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #78) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #81) #("GNU Guix allows for " 0 20 (:parent #84)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #84) #("reproducible deployment" 0 23 (:parent #88))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #84))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #81)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #81) #("Next build guix (and run) following the instructions in " 0 56 (:parent #86)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #86) #("guix-notes" 0 10 (:parent #90))) #(".\n" 0 2 (:parent #86))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #81) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #87))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #81)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #81) #("So\n" 0 3 (:parent #89))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #81) #("#+begin" 0 7 (:parent #90)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #90) #("src" 0 3 (:parent #94))) #("sh :lang bash\n#+begin" 0 23 (:parent #90)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #90) #("src" 0 3 (:parent #96))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #90)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #90) #("PACKAGE" 0 7 (:parent #98))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #90) #("PATH" 0 4 (:parent #99))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #90)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #90) #("src" 0 3 (:parent #101))) #("sh :lang bash\n" 0 16 (:parent #90))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #81) #("Install with\n" 0 13 (:parent #91))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #81) #("#+begin" 0 7 (:parent #92)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #92) #("src" 0 3 (:parent #96))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #92)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #92) #("PACKAGE" 0 7 (:parent #98))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #92) #("PATH" 0 4 (:parent #99))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #92)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #92) #("src" 0 3 (:parent #101))) #("sh :lang bash\n" 0 16 (:parent #92))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #79))) :mode nil :granularity nil :parent #71) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #79) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #82)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #80))) :mode nil :granularity nil :parent #71) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #80) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #83) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #86))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #83) #("First execute above 4 steps:\n" 0 29 (:parent #87))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #83) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #88) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #91) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #94) #("Step 1: Install GNU Guix" 0 24 (:parent #97))) #("\n" 0 1 (:parent #94)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #88) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #95) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #98))) #("\n" 0 1 (:parent #95)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #88) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #96) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #99))) #("\n" 0 1 (:parent #96)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #88) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #94) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #97) #("Step 4: Install and run GN2 " 0 28 (:parent #100))) #("\n" 0 1 (:parent #97)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #84))) :mode nil :granularity nil :parent #80) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #84) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #87) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #90)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #90)) #(".\n" 0 2 (:parent #90))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #87) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #91)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #91) #("PATH" 0 4 (:parent #95))) #("and\nR" 0 5 (:parent #91)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #91) #("LIBS" 0 4 (:parent #97))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #91) #("SITE" 0 4 (:parent #98))) #("are set) from the information given by guix:\n" 0 45 (:parent #91))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #87)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #87) #("Inside the repository:\n" 0 23 (:parent #93))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #87)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #87) #("Will fire up your local repo " 0 29 (:parent #95)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #95)) #("using the\nsettings in ./etc/default" 0 35 (:parent #95)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #95) #("settings.py" 0 11 (:parent #101))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #95)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #95) #("settings.py" 0 11 (:parent #103))) #("and pass it into GN2 with\n" 0 26 (:parent #95))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #87)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #87) #("and everything " 0 15 (:parent #97)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #97) #("should" 0 6 (:parent #101))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #97))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #87) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #98))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #87)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #85))) :mode nil :granularity nil :parent #80) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #85) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #88) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #91))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #88) #("#+begin" 0 7 (:parent #92)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #92) #("src" 0 3 (:parent #96))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #92)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #92) #("name" 0 4 (:parent #98))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #92)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #92) #("log" 0 3 (:parent #100))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #92))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #88) #(" proxy" 0 13 (:parent #93)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #93) #("connect" 0 7 (:parent #97))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #93) #("timeout" 0 7 (:parent #98))) #("3000;\n proxy" 0 19 (:parent #93)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #93) #("send" 0 4 (:parent #100))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #93) #("timeout" 0 7 (:parent #101))) #("3000;\n proxy" 0 19 (:parent #93)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #93) #("read" 0 4 (:parent #103))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #93) #("timeout" 0 7 (:parent #104))) #("3000;\n send" 0 18 (:parent #93)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #93) #("timeout" 0 7 (:parent #106))) #("3000;\n" 0 6 (:parent #93))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #88) #(" location / {\n proxy" 0 38 (:parent #94)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #94) #("set" 0 3 (:parent #98))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #94) #("header" 0 6 (:parent #99))) #("Host $http" 0 15 (:parent #94)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #94) #("host" 0 4 (:parent #101))) #(";\n proxy" 0 19 (:parent #94)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #94) #("set" 0 3 (:parent #103))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #94) #("header" 0 6 (:parent #104))) #("Connection keep-alive;\n proxy" 0 40 (:parent #94)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #94) #("set" 0 3 (:parent #106))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #94) #("header" 0 6 (:parent #107))) #("X-Real-IP $remote" 0 17 (:parent #94)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #94) #("addr" 0 4 (:parent #109))) #(";\n proxy" 0 19 (:parent #94)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #94) #("set" 0 3 (:parent #111))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #94) #("header" 0 6 (:parent #112))) #("X-Forwarded-For $proxy" 0 22 (:parent #94)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #94) #("add" 0 3 (:parent #114))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #94) #("x" 0 1 (:parent #115))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #94) #("forwarded" 0 9 (:parent #116))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #94) #("for" 0 3 (:parent #117))) #(";\n proxy" 0 19 (:parent #94)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #94) #("set" 0 3 (:parent #119))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #94) #("header" 0 6 (:parent #120))) #("X-Forwarded-Host $server" 0 24 (:parent #94)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #94) #("name" 0 4 (:parent #122))) #(";\n proxy" 0 19 (:parent #94)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #94) #("pass" 0 4 (:parent #124))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #94)) #(";\n }\n}\n#+end" 0 19 (:parent #94)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #94) #("src" 0 3 (:parent #127))) #("js\n" 0 3 (:parent #94))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #88) #("Install the nginx webserver (as root)\n" 0 38 (:parent #95))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #88)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #88) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #97))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #88)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #88) #("Use that path\n" 0 14 (:parent #99))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #88)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #88) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #101))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #88)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #88) #("Make dirs\n" 0 10 (:parent #103))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #88)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #88) #("Add users\n" 0 10 (:parent #105))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #88)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #88) #("Run nginx\n" 0 10 (:parent #107))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #88))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #81))) :mode nil :granularity nil :parent #71) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #81) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #84) #("See the document " 0 17 (:parent #87)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #87)) #(".\n" 0 2 (:parent #87)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #85))) :mode nil :granularity nil :parent #81) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #85) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #88) #("We now compile Guix from scratch.\n" 0 34 (:parent #91))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #88) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #92)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #92) #("these" 0 5 (:parent #96))) #("steps carefully after\n" 0 22 (:parent #92))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #88)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #88) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #94))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #86))) :mode nil :granularity nil :parent #81) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #86) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #89) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #92))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #89) #("#+begin" 0 7 (:parent #93)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #93) #("src" 0 3 (:parent #97))) #("bash\nenv GUIX" 0 13 (:parent #93)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #93) #("PACKAGE" 0 7 (:parent #99))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #93) #("PATH" 0 4 (:parent #100))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #93)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #93)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #93)) #("\"\n#+end" 0 7 (:parent #93)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #93) #("src" 0 3 (:parent #105))) #("bash\n" 0 5 (:parent #93))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #89) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #94))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #89) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #95))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #87))) :mode nil :granularity nil :parent #81) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #87) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #90) #("Make a note of the paths with\n" 0 30 (:parent #93))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #90) #("#+begin" 0 7 (:parent #94)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #94) #("src" 0 3 (:parent #98))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #94)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #94) #("src" 0 3 (:parent #100))) #("bash\n" 0 5 (:parent #94))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #90) #("or this should also work if guix is installed\n" 0 46 (:parent #95))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #90) #("#+begin" 0 7 (:parent #96)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #96) #("src" 0 3 (:parent #100))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #96)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #96) #("src" 0 3 (:parent #102))) #("bash\n" 0 5 (:parent #96))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #90) #("After setting the paths for the server\n" 0 39 (:parent #97))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #90) #("#+begin" 0 7 (:parent #98)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #98) #("src" 0 3 (:parent #102))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #98)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #98) #("LIBS" 0 4 (:parent #104))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #98) #("SITE" 0 4 (:parent #105))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #98)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #98) #("GTK3" 0 4 (:parent #107))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #98) #("PATH" 0 4 (:parent #108))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #98)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #98) #("TYPELIB" 0 7 (:parent #110))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #98) #("PATH" 0 4 (:parent #111))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #98)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #98) #("DATA" 0 4 (:parent #113))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #98) #("DIRS" 0 4 (:parent #114))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #98)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #98) #("EXTRA" 0 5 (:parent #116))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #98) #("MODULES" 0 7 (:parent #117))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #98)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #98) #("src" 0 3 (:parent #119))) #("bash\n" 0 5 (:parent #98))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #90) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #99))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #90) #("#+begin" 0 7 (:parent #100)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #100) #("src" 0 3 (:parent #104))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #100)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #100) #("src" 0 3 (:parent #106))) #("bash\n" 0 5 (:parent #100)))))))) . #0)) (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent #1) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #4) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #7) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #10) #("Introduction" 0 12 (:parent #13))) #("\n" 0 1 (:parent #10)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #4) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #8) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #11) #("Binary deployment through GNU Guix" 0 34 (:parent #14))) #("\n" 0 1 (:parent #11))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #8) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #18) #("Quick installation recipe" 0 25 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #19) #("Step 1: Install GNU Guix" 0 24 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #20) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #23))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #21) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #24))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #22) #("Step 4: Install and run GN2" 0 27 (:parent #25))) #("\n" 0 1 (:parent #22)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #4) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #12) #("From source deployment" 0 22 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #4) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #10) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #13) #("Create archive" 0 14 (:parent #16))) #("\n" 0 1 (:parent #13)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #4) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #14) #("Source deployment" 0 17 (:parent #17))) #("\n" 0 1 (:parent #14))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #11) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #21) #("Run your own copy of GN2" 0 24 (:parent #24))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #22) #("Set up nginx port forwarding" 0 28 (:parent #25))) #("\n" 0 1 (:parent #22)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #4) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #15) #("Source deployment and other information on reproducibility" 0 58 (:parent #18))) #("\n" 0 1 (:parent #15))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #12) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #22) #("Update to recent guix" 0 21 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #23) #("Install GN2" 0 11 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #24) #("Run GN2" 0 7 (:parent #27))) #("\n" 0 1 (:parent #24))))))))) "")
org-export-data((headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #0))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #46) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #49))) #0 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #51))) :mode nil :granularity nil :parent #46) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #51) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #54) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #57)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #57) #("Guix-notes" 0 10 (:parent #61))) #("and the main " 0 13 (:parent #57)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #57)) #("doc).\n" 0 6 (:parent #57))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #52))) :mode nil :granularity nil :parent #46) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #55))) :mode section :granularity nil :parent #52) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #55) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #58) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #61))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #58) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #62))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #56))) :mode nil :granularity nil :parent #52) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #56) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #59) #("Fetch the GNU Guix binary from " 0 31 (:parent #62)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #62) #("here" 0 4 (:parent #66))) #("(middle panel) and follow\n" 0 26 (:parent #62)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #62) #("instructions" 0 12 (:parent #68))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #62))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #59) #("Once you have succeeded, you have to " 0 37 (:parent #63)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #63) #("set the key" 0 11 (:parent #67))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #63))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #59)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #59) #("Which should show something like\n" 0 33 (:parent #65))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #59)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #59) #("#+end" 0 5 (:parent #67)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #67) #("src" 0 3 (:parent #71))) #("\n" 0 1 (:parent #67))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #59) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #68))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #59)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #59) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #70))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #59) #("If you need more help we have another writeup in " 0 49 (:parent #71)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #71) #("guix-notes" 0 10 (:parent #75))) #(". To get\nrid of the locale warning see " 0 39 (:parent #71)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #71) #("set-locale" 0 10 (:parent #77))) #(".\n" 0 2 (:parent #71))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #57))) :mode nil :granularity nil :parent #52) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #57) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #60) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #63))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #60)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #60) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #65))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #60) #("#+begin" 0 7 (:parent #66)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #66) #("src" 0 3 (:parent #70))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #66)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #66)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #66)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #66)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #66)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #66) #("src" 0 3 (:parent #76))) #("bash\n" 0 5 (:parent #66))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #60) #("To test whether this is working try:\n" 0 37 (:parent #67))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #60) #("#+begin" 0 7 (:parent #68)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #68) #("src" 0 3 (:parent #72))) #("bash\n#+end" 0 10 (:parent #68)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #68) #("src" 0 3 (:parent #74))) #("bash\n" 0 5 (:parent #68))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #58))) :mode nil :granularity nil :parent #52) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #58) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #61) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #64))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #61)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #61) #("by pasting it into the command\n" 0 31 (:parent #66))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #61)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #61) #("and hit Ctrl-D.\n" 0 16 (:parent #68))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #61) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #69))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #59))) :mode nil :granularity nil :parent #52) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #59) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #62) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #65))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #62)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #62) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #67))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #62)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #62) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #69)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #69) #("root" 0 4 (:parent #73))) #(".config/guix/latest override).\n" 0 31 (:parent #69))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #62) #("And install with\n" 0 17 (:parent #70))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #62)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #62) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #72))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #62) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #73))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #62) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #74))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #62)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #62) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #76))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #62)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #62) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #78)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #78)) #(".\n" 0 2 (:parent #78))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #62) #("End of the GN2 installation recipe!\n" 0 36 (:parent #79)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #53))) :mode nil :granularity nil :parent #46) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #53) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #56) #("GNU Guix allows for " 0 20 (:parent #59)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #59) #("reproducible deployment" 0 23 (:parent #63))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #59))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #56)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #56) #("Next build guix (and run) following the instructions in " 0 56 (:parent #61)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #61) #("guix-notes" 0 10 (:parent #65))) #(".\n" 0 2 (:parent #61))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #56) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #62))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #56)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #56) #("So\n" 0 3 (:parent #64))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #56) #("#+begin" 0 7 (:parent #65)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #65) #("src" 0 3 (:parent #69))) #("sh :lang bash\n#+begin" 0 23 (:parent #65)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #65) #("src" 0 3 (:parent #71))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #65)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #65) #("PACKAGE" 0 7 (:parent #73))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #65) #("PATH" 0 4 (:parent #74))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #65)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #65) #("src" 0 3 (:parent #76))) #("sh :lang bash\n" 0 16 (:parent #65))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #56) #("Install with\n" 0 13 (:parent #66))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #56) #("#+begin" 0 7 (:parent #67)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #67) #("src" 0 3 (:parent #71))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #67)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #67) #("PACKAGE" 0 7 (:parent #73))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #67) #("PATH" 0 4 (:parent #74))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #67)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #67) #("src" 0 3 (:parent #76))) #("sh :lang bash\n" 0 16 (:parent #67))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #54))) :mode nil :granularity nil :parent #46) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #54) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #57)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #55))) :mode nil :granularity nil :parent #46) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #55) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #58) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #61))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #58) #("First execute above 4 steps:\n" 0 29 (:parent #62))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #58) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #66) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #69) #("Step 1: Install GNU Guix" 0 24 (:parent #72))) #("\n" 0 1 (:parent #69)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #70) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #73))) #("\n" 0 1 (:parent #70)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #71) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #74))) #("\n" 0 1 (:parent #71)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #69) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #72) #("Step 4: Install and run GN2 " 0 28 (:parent #75))) #("\n" 0 1 (:parent #72)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #59))) :mode nil :granularity nil :parent #55) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #59) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #62) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #65)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #65)) #(".\n" 0 2 (:parent #65))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #62) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #66)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #66) #("PATH" 0 4 (:parent #70))) #("and\nR" 0 5 (:parent #66)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #66) #("LIBS" 0 4 (:parent #72))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #66) #("SITE" 0 4 (:parent #73))) #("are set) from the information given by guix:\n" 0 45 (:parent #66))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #62)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #62) #("Inside the repository:\n" 0 23 (:parent #68))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #62)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #62) #("Will fire up your local repo " 0 29 (:parent #70)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #70)) #("using the\nsettings in ./etc/default" 0 35 (:parent #70)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #70) #("settings.py" 0 11 (:parent #76))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #70)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #70) #("settings.py" 0 11 (:parent #78))) #("and pass it into GN2 with\n" 0 26 (:parent #70))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #62)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #62) #("and everything " 0 15 (:parent #72)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #72) #("should" 0 6 (:parent #76))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #72))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #62) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #73))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #62)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #60))) :mode nil :granularity nil :parent #55) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #60) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #63) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #66))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #63) #("#+begin" 0 7 (:parent #67)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #67) #("src" 0 3 (:parent #71))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #67)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #67) #("name" 0 4 (:parent #73))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #67)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #67) #("log" 0 3 (:parent #75))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #67))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #63) #(" proxy" 0 13 (:parent #68)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #68) #("connect" 0 7 (:parent #72))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #68) #("timeout" 0 7 (:parent #73))) #("3000;\n proxy" 0 19 (:parent #68)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #68) #("send" 0 4 (:parent #75))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #68) #("timeout" 0 7 (:parent #76))) #("3000;\n proxy" 0 19 (:parent #68)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #68) #("read" 0 4 (:parent #78))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #68) #("timeout" 0 7 (:parent #79))) #("3000;\n send" 0 18 (:parent #68)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #68) #("timeout" 0 7 (:parent #81))) #("3000;\n" 0 6 (:parent #68))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #63) #(" location / {\n proxy" 0 38 (:parent #69)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #69) #("set" 0 3 (:parent #73))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #69) #("header" 0 6 (:parent #74))) #("Host $http" 0 15 (:parent #69)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #69) #("host" 0 4 (:parent #76))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #69) #("set" 0 3 (:parent #78))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #69) #("header" 0 6 (:parent #79))) #("Connection keep-alive;\n proxy" 0 40 (:parent #69)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #69) #("set" 0 3 (:parent #81))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #69) #("header" 0 6 (:parent #82))) #("X-Real-IP $remote" 0 17 (:parent #69)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #69) #("addr" 0 4 (:parent #84))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #69) #("set" 0 3 (:parent #86))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #69) #("header" 0 6 (:parent #87))) #("X-Forwarded-For $proxy" 0 22 (:parent #69)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #69) #("add" 0 3 (:parent #89))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #69) #("x" 0 1 (:parent #90))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #69) #("forwarded" 0 9 (:parent #91))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #69) #("for" 0 3 (:parent #92))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #69) #("set" 0 3 (:parent #94))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #69) #("header" 0 6 (:parent #95))) #("X-Forwarded-Host $server" 0 24 (:parent #69)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #69) #("name" 0 4 (:parent #97))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #69) #("pass" 0 4 (:parent #99))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #69)) #(";\n }\n}\n#+end" 0 19 (:parent #69)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #69) #("src" 0 3 (:parent #102))) #("js\n" 0 3 (:parent #69))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #63) #("Install the nginx webserver (as root)\n" 0 38 (:parent #70))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #63)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #63) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #72))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #63)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #63) #("Use that path\n" 0 14 (:parent #74))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #63)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #63) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #76))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #63)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #63) #("Make dirs\n" 0 10 (:parent #78))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #63)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #63) #("Add users\n" 0 10 (:parent #80))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #63)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #63) #("Run nginx\n" 0 10 (:parent #82))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #63))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #56))) :mode nil :granularity nil :parent #46) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #56) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #59) #("See the document " 0 17 (:parent #62)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #62)) #(".\n" 0 2 (:parent #62)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #60))) :mode nil :granularity nil :parent #56) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #60) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #63) #("We now compile Guix from scratch.\n" 0 34 (:parent #66))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #63) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #67)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #67) #("these" 0 5 (:parent #71))) #("steps carefully after\n" 0 22 (:parent #67))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #63)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #63) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #69))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #61))) :mode nil :granularity nil :parent #56) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #61) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #64) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #67))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #64) #("#+begin" 0 7 (:parent #68)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #68) #("src" 0 3 (:parent #72))) #("bash\nenv GUIX" 0 13 (:parent #68)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #68) #("PACKAGE" 0 7 (:parent #74))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #68) #("PATH" 0 4 (:parent #75))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #68)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #68)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #68)) #("\"\n#+end" 0 7 (:parent #68)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #68) #("src" 0 3 (:parent #80))) #("bash\n" 0 5 (:parent #68))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #64) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #69))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #64) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #70))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #62))) :mode nil :granularity nil :parent #56) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #62) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #65) #("Make a note of the paths with\n" 0 30 (:parent #68))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #65) #("#+begin" 0 7 (:parent #69)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #69) #("src" 0 3 (:parent #73))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #69)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #69) #("src" 0 3 (:parent #75))) #("bash\n" 0 5 (:parent #69))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #65) #("or this should also work if guix is installed\n" 0 46 (:parent #70))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #65) #("#+begin" 0 7 (:parent #71)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #71) #("src" 0 3 (:parent #75))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #71)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #71) #("src" 0 3 (:parent #77))) #("bash\n" 0 5 (:parent #71))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #65) #("After setting the paths for the server\n" 0 39 (:parent #72))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #65) #("#+begin" 0 7 (:parent #73)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #73) #("src" 0 3 (:parent #77))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #73)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #73) #("LIBS" 0 4 (:parent #79))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #73) #("SITE" 0 4 (:parent #80))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #73)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #73) #("GTK3" 0 4 (:parent #82))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #73) #("PATH" 0 4 (:parent #83))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #73)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #73) #("TYPELIB" 0 7 (:parent #85))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #73) #("PATH" 0 4 (:parent #86))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #73)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #73) #("DATA" 0 4 (:parent #88))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #73) #("DIRS" 0 4 (:parent #89))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #73)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #73) #("EXTRA" 0 5 (:parent #91))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #73) #("MODULES" 0 7 (:parent #92))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #73)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #73) #("src" 0 3 (:parent #94))) #("bash\n" 0 5 (:parent #73))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #65) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #74))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #65) #("#+begin" 0 7 (:parent #75)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #75) #("src" 0 3 (:parent #79))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #75)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #75) #("src" 0 3 (:parent #81))) #("bash\n" 0 5 (:parent #75)))))))) (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent #0) (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent #3) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #12) #("Introduction" 0 12 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #10) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #13) #("Binary deployment through GNU Guix" 0 34 (:parent #16))) #("\n" 0 1 (:parent #13))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #10) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #20) #("Quick installation recipe" 0 25 (:parent #23))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #21) #("Step 1: Install GNU Guix" 0 24 (:parent #24))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #22) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #23) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #24) #("Step 4: Install and run GN2" 0 27 (:parent #27))) #("\n" 0 1 (:parent #24)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #14) #("From source deployment" 0 22 (:parent #17))) #("\n" 0 1 (:parent #14)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #15) #("Create archive" 0 14 (:parent #18))) #("\n" 0 1 (:parent #15)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #16) #("Source deployment" 0 17 (:parent #19))) #("\n" 0 1 (:parent #16))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #13) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #23) #("Run your own copy of GN2" 0 24 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #24) #("Set up nginx port forwarding" 0 28 (:parent #27))) #("\n" 0 1 (:parent #24)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #17) #("Source deployment and other information on reproducibility" 0 58 (:parent #20))) #("\n" 0 1 (:parent #17))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #14) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #24) #("Update to recent guix" 0 21 (:parent #27))) #("\n" 0 1 (:parent #24)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #25) #("Install GN2" 0 11 (:parent #28))) #("\n" 0 1 (:parent #25)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #26) #("Run GN2" 0 7 (:parent #29))) #("\n" 0 1 (:parent #26))))))))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section ") :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" " \n" . " ") :html-table-header-tags ("" . " ") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (underline . "%s") (verbatim . "" :html-table-row-close-tag " " :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 29.4 (Org mode 9.6.15)" :with-latex t :latex-header nil :title (#("Installing GeneNetwork services with GNU Guix" 0 45 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #338) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #341))) (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #342))) :mode nil :granularity nil :parent #338) (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent #342) (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent #345) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #351) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #354) #("Introduction" 0 12 (:parent #357))) #("\n" 0 1 (:parent #354)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #352) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #355) #("Binary deployment through GNU Guix" 0 34 (:parent #358))) #("\n" 0 1 (:parent #355))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #352) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #362) #("Quick installation recipe" 0 25 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #363) #("Step 1: Install GNU Guix" 0 24 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #364) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #367))) #("\n" 0 1 (:parent #364)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #365) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #366) #("Step 4: Install and run GN2" 0 27 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #353) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #356) #("From source deployment" 0 22 (:parent #359))) #("\n" 0 1 (:parent #356)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #354) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #357) #("Create archive" 0 14 (:parent #360))) #("\n" 0 1 (:parent #357)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #355) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #358) #("Source deployment" 0 17 (:parent #361))) #("\n" 0 1 (:parent #358))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #355) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #365) #("Run your own copy of GN2" 0 24 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #366) #("Set up nginx port forwarding" 0 28 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #356) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #359) #("Source deployment and other information on reproducibility" 0 58 (:parent #362))) #("\n" 0 1 (:parent #359))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #356) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #366) #("Update to recent guix" 0 21 (:parent #369))) #("\n" 0 1 (:parent #366)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #367) #("Install GN2" 0 11 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #368) #("Run GN2" 0 7 (:parent #371))) #("\n" 0 1 (:parent #368))))))))) (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #343))) :mode nil :granularity nil :parent #338) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #343) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #346) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #349)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #349) #("Guix-notes" 0 10 (:parent #353))) #("and the main " 0 13 (:parent #349)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #349)) #("doc).\n" 0 6 (:parent #349))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #344))) :mode nil :granularity nil :parent #338) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #347))) :mode section :granularity nil :parent #344) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #347) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #350) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #353))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #350) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #354))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #348))) :mode nil :granularity nil :parent #344) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #348) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #351) #("Fetch the GNU Guix binary from " 0 31 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #354) #("here" 0 4 (:parent #358))) #("(middle panel) and follow\n" 0 26 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #354) #("instructions" 0 12 (:parent #360))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #354))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #351) #("Once you have succeeded, you have to " 0 37 (:parent #355)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #355) #("set the key" 0 11 (:parent #359))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #351)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #351) #("Which should show something like\n" 0 33 (:parent #357))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #351)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #351) #("#+end" 0 5 (:parent #359)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #359) #("src" 0 3 (:parent #363))) #("\n" 0 1 (:parent #359))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #351) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #360))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #351)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #351) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #362))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #351) #("If you need more help we have another writeup in " 0 49 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #363) #("guix-notes" 0 10 (:parent #367))) #(". To get\nrid of the locale warning see " 0 39 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #363) #("set-locale" 0 10 (:parent #369))) #(".\n" 0 2 (:parent #363))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #349))) :mode nil :granularity nil :parent #344) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #349) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #352) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #352)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #352) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #357))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #358)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #358) #("src" 0 3 (:parent #362))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #358)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #358)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #358)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #358) #("src" 0 3 (:parent #368))) #("bash\n" 0 5 (:parent #358))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #352) #("To test whether this is working try:\n" 0 37 (:parent #359))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\n#+end" 0 10 (:parent #360)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #360) #("src" 0 3 (:parent #366))) #("bash\n" 0 5 (:parent #360))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #350))) :mode nil :granularity nil :parent #344) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #350) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #353) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #356))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #353)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #353) #("by pasting it into the command\n" 0 31 (:parent #358))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #353)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #353) #("and hit Ctrl-D.\n" 0 16 (:parent #360))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #353) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #361))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #351))) :mode nil :granularity nil :parent #344) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #351) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #354) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #357))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #354)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #354) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #359))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #354)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #354) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #361)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #361) #("root" 0 4 (:parent #365))) #(".config/guix/latest override).\n" 0 31 (:parent #361))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #354) #("And install with\n" 0 17 (:parent #362))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #354)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #354) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #364))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #354) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #365))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #354) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #366))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #354) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #368))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #354) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #370)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #370)) #(".\n" 0 2 (:parent #370))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #354) #("End of the GN2 installation recipe!\n" 0 36 (:parent #371)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #345))) :mode nil :granularity nil :parent #338) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #345) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #348) #("GNU Guix allows for " 0 20 (:parent #351)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #351) #("reproducible deployment" 0 23 (:parent #355))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #351))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #348)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #348) #("Next build guix (and run) following the instructions in " 0 56 (:parent #353)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #353) #("guix-notes" 0 10 (:parent #357))) #(".\n" 0 2 (:parent #353))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #348) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #354))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #348)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #348) #("So\n" 0 3 (:parent #356))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #348) #("#+begin" 0 7 (:parent #357)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #357) #("src" 0 3 (:parent #361))) #("sh :lang bash\n#+begin" 0 23 (:parent #357)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #357) #("src" 0 3 (:parent #363))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #357)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #357) #("PACKAGE" 0 7 (:parent #365))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #357) #("PATH" 0 4 (:parent #366))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #357)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #357) #("src" 0 3 (:parent #368))) #("sh :lang bash\n" 0 16 (:parent #357))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #348) #("Install with\n" 0 13 (:parent #358))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #348) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #359)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #359) #("PACKAGE" 0 7 (:parent #365))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #359) #("PATH" 0 4 (:parent #366))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #359)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #359) #("src" 0 3 (:parent #368))) #("sh :lang bash\n" 0 16 (:parent #359))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #346))) :mode nil :granularity nil :parent #338) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #346) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #349)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #347))) :mode nil :granularity nil :parent #338) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #347) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #350) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #353))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #350) #("First execute above 4 steps:\n" 0 29 (:parent #354))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #350) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #361) #("Step 1: Install GNU Guix" 0 24 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #362) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #363) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #364) #("Step 4: Install and run GN2 " 0 28 (:parent #367))) #("\n" 0 1 (:parent #364)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #351))) :mode nil :granularity nil :parent #347) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #351) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #354) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #357)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #357)) #(".\n" 0 2 (:parent #357))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #354) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #358)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #358) #("PATH" 0 4 (:parent #362))) #("and\nR" 0 5 (:parent #358)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #358) #("LIBS" 0 4 (:parent #364))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #358) #("SITE" 0 4 (:parent #365))) #("are set) from the information given by guix:\n" 0 45 (:parent #358))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #354)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #354) #("Inside the repository:\n" 0 23 (:parent #360))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #354)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #354) #("Will fire up your local repo " 0 29 (:parent #362)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #362)) #("using the\nsettings in ./etc/default" 0 35 (:parent #362)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #362) #("settings.py" 0 11 (:parent #368))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #362)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #370))) #("and pass it into GN2 with\n" 0 26 (:parent #362))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #354)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #354) #("and everything " 0 15 (:parent #364)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #364) #("should" 0 6 (:parent #368))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #364))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #354) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #365))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #354)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #352))) :mode nil :granularity nil :parent #347) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #352) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #355) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #358))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #355) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #359)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #359) #("name" 0 4 (:parent #365))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #359)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #359) #("log" 0 3 (:parent #367))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #359))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #355) #(" proxy" 0 13 (:parent #360)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #360) #("connect" 0 7 (:parent #364))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #360) #("timeout" 0 7 (:parent #365))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #360) #("send" 0 4 (:parent #367))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #368))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #360) #("read" 0 4 (:parent #370))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #371))) #("3000;\n send" 0 18 (:parent #360)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #360) #("timeout" 0 7 (:parent #373))) #("3000;\n" 0 6 (:parent #360))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #355) #(" location / {\n proxy" 0 38 (:parent #361)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #361) #("set" 0 3 (:parent #365))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #361) #("header" 0 6 (:parent #366))) #("Host $http" 0 15 (:parent #361)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #361) #("host" 0 4 (:parent #368))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #361) #("set" 0 3 (:parent #370))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #361) #("header" 0 6 (:parent #371))) #("Connection keep-alive;\n proxy" 0 40 (:parent #361)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #361) #("set" 0 3 (:parent #373))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #361) #("header" 0 6 (:parent #374))) #("X-Real-IP $remote" 0 17 (:parent #361)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #361) #("addr" 0 4 (:parent #376))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #361) #("set" 0 3 (:parent #378))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #361) #("header" 0 6 (:parent #379))) #("X-Forwarded-For $proxy" 0 22 (:parent #361)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #361) #("add" 0 3 (:parent #381))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #361) #("x" 0 1 (:parent #382))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #361) #("forwarded" 0 9 (:parent #383))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #361) #("for" 0 3 (:parent #384))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #361) #("set" 0 3 (:parent #386))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #361) #("header" 0 6 (:parent #387))) #("X-Forwarded-Host $server" 0 24 (:parent #361)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #361) #("name" 0 4 (:parent #389))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #361) #("pass" 0 4 (:parent #391))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #361)) #(";\n }\n}\n#+end" 0 19 (:parent #361)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #361) #("src" 0 3 (:parent #394))) #("js\n" 0 3 (:parent #361))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #355) #("Install the nginx webserver (as root)\n" 0 38 (:parent #362))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #355)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #355) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #364))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #355)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #355) #("Use that path\n" 0 14 (:parent #366))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #355) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #368))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #355) #("Make dirs\n" 0 10 (:parent #370))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #355) #("Add users\n" 0 10 (:parent #372))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #355) #("Run nginx\n" 0 10 (:parent #374))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #355))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #348))) :mode nil :granularity nil :parent #338) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #348) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #351) #("See the document " 0 17 (:parent #354)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #354)) #(".\n" 0 2 (:parent #354)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #352))) :mode nil :granularity nil :parent #348) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #352) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #355) #("We now compile Guix from scratch.\n" 0 34 (:parent #358))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #355) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #359)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #359) #("these" 0 5 (:parent #363))) #("steps carefully after\n" 0 22 (:parent #359))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #355) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #361))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #353))) :mode nil :granularity nil :parent #348) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #353) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #356) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #359))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #356) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\nenv GUIX" 0 13 (:parent #360)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #360) #("PACKAGE" 0 7 (:parent #366))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #360) #("PATH" 0 4 (:parent #367))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #360)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #360)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #360)) #("\"\n#+end" 0 7 (:parent #360)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #360) #("src" 0 3 (:parent #372))) #("bash\n" 0 5 (:parent #360))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #356) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #361))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #356) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #362))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #354))) :mode nil :granularity nil :parent #348) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #354) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #357) #("Make a note of the paths with\n" 0 30 (:parent #360))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #361)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #361) #("src" 0 3 (:parent #365))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #361)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #361) #("src" 0 3 (:parent #367))) #("bash\n" 0 5 (:parent #361))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #357) #("or this should also work if guix is installed\n" 0 46 (:parent #362))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #363)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #363) #("src" 0 3 (:parent #367))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #363)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #363) #("src" 0 3 (:parent #369))) #("bash\n" 0 5 (:parent #363))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #357) #("After setting the paths for the server\n" 0 39 (:parent #364))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #365)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #365) #("src" 0 3 (:parent #369))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #365)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #365) #("LIBS" 0 4 (:parent #371))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #365) #("SITE" 0 4 (:parent #372))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #365)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #365) #("GTK3" 0 4 (:parent #374))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #365) #("PATH" 0 4 (:parent #375))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #365)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #365) #("TYPELIB" 0 7 (:parent #377))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #365) #("PATH" 0 4 (:parent #378))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #365)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #365) #("DATA" 0 4 (:parent #380))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #365) #("DIRS" 0 4 (:parent #381))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #365)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #365) #("EXTRA" 0 5 (:parent #383))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #365) #("MODULES" 0 7 (:parent #384))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #365)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #365) #("src" 0 3 (:parent #386))) #("bash\n" 0 5 (:parent #365))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #357) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #366))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #367)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #367) #("src" 0 3 (:parent #371))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #367)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #367) #("src" 0 3 (:parent #373))) #("bash\n" 0 5 (:parent #367))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #))
#f(compiled-function (element) #)((headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #0))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #46) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #49))) #0 (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #51))) :mode nil :granularity nil :parent #46) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #51) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #54) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #57)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #57) #("Guix-notes" 0 10 (:parent #61))) #("and the main " 0 13 (:parent #57)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #57)) #("doc).\n" 0 6 (:parent #57))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #52))) :mode nil :granularity nil :parent #46) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #55))) :mode section :granularity nil :parent #52) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #55) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #58) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #61))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #58) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #62))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #56))) :mode nil :granularity nil :parent #52) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #56) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #59) #("Fetch the GNU Guix binary from " 0 31 (:parent #62)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #62) #("here" 0 4 (:parent #66))) #("(middle panel) and follow\n" 0 26 (:parent #62)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #62) #("instructions" 0 12 (:parent #68))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #62))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #59) #("Once you have succeeded, you have to " 0 37 (:parent #63)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #63) #("set the key" 0 11 (:parent #67))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #63))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #59)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #59) #("Which should show something like\n" 0 33 (:parent #65))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #59)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #59) #("#+end" 0 5 (:parent #67)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #67) #("src" 0 3 (:parent #71))) #("\n" 0 1 (:parent #67))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #59) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #68))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #59)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #59) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #70))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #59) #("If you need more help we have another writeup in " 0 49 (:parent #71)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #71) #("guix-notes" 0 10 (:parent #75))) #(". To get\nrid of the locale warning see " 0 39 (:parent #71)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #71) #("set-locale" 0 10 (:parent #77))) #(".\n" 0 2 (:parent #71))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #57))) :mode nil :granularity nil :parent #52) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #57) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #60) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #63))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #60)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #60) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #65))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #60) #("#+begin" 0 7 (:parent #66)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #66) #("src" 0 3 (:parent #70))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #66)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #66)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #66)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #66)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #66)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #66) #("src" 0 3 (:parent #76))) #("bash\n" 0 5 (:parent #66))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #60) #("To test whether this is working try:\n" 0 37 (:parent #67))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #60) #("#+begin" 0 7 (:parent #68)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #68) #("src" 0 3 (:parent #72))) #("bash\n#+end" 0 10 (:parent #68)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #68) #("src" 0 3 (:parent #74))) #("bash\n" 0 5 (:parent #68))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #58))) :mode nil :granularity nil :parent #52) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #58) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #61) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #64))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #61)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #61) #("by pasting it into the command\n" 0 31 (:parent #66))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #61)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #61) #("and hit Ctrl-D.\n" 0 16 (:parent #68))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #61) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #69))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #59))) :mode nil :granularity nil :parent #52) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #59) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #62) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #65))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #62)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #62) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #67))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #62)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #62) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #69)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #69) #("root" 0 4 (:parent #73))) #(".config/guix/latest override).\n" 0 31 (:parent #69))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #62) #("And install with\n" 0 17 (:parent #70))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #62)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #62) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #72))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #62) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #73))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #62) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #74))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #62)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #62) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #76))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #62)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #62) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #78)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #78)) #(".\n" 0 2 (:parent #78))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #62) #("End of the GN2 installation recipe!\n" 0 36 (:parent #79)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #53))) :mode nil :granularity nil :parent #46) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #53) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #56) #("GNU Guix allows for " 0 20 (:parent #59)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #59) #("reproducible deployment" 0 23 (:parent #63))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #59))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #56)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #56) #("Next build guix (and run) following the instructions in " 0 56 (:parent #61)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #61) #("guix-notes" 0 10 (:parent #65))) #(".\n" 0 2 (:parent #61))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #56) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #62))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #56)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #56) #("So\n" 0 3 (:parent #64))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #56) #("#+begin" 0 7 (:parent #65)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #65) #("src" 0 3 (:parent #69))) #("sh :lang bash\n#+begin" 0 23 (:parent #65)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #65) #("src" 0 3 (:parent #71))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #65)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #65) #("PACKAGE" 0 7 (:parent #73))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #65) #("PATH" 0 4 (:parent #74))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #65)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #65) #("src" 0 3 (:parent #76))) #("sh :lang bash\n" 0 16 (:parent #65))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #56) #("Install with\n" 0 13 (:parent #66))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #56) #("#+begin" 0 7 (:parent #67)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #67) #("src" 0 3 (:parent #71))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #67)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #67) #("PACKAGE" 0 7 (:parent #73))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #67) #("PATH" 0 4 (:parent #74))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #67)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #67) #("src" 0 3 (:parent #76))) #("sh :lang bash\n" 0 16 (:parent #67))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #54))) :mode nil :granularity nil :parent #46) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #54) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #57)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #55))) :mode nil :granularity nil :parent #46) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #55) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #58) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #61))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #58) #("First execute above 4 steps:\n" 0 29 (:parent #62))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #58) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #66) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #69) #("Step 1: Install GNU Guix" 0 24 (:parent #72))) #("\n" 0 1 (:parent #69)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #70) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #73))) #("\n" 0 1 (:parent #70)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #71) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #74))) #("\n" 0 1 (:parent #71)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #69) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #72) #("Step 4: Install and run GN2 " 0 28 (:parent #75))) #("\n" 0 1 (:parent #72)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #59))) :mode nil :granularity nil :parent #55) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #59) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #62) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #65)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #65)) #(".\n" 0 2 (:parent #65))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #62) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #66)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #66) #("PATH" 0 4 (:parent #70))) #("and\nR" 0 5 (:parent #66)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #66) #("LIBS" 0 4 (:parent #72))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #66) #("SITE" 0 4 (:parent #73))) #("are set) from the information given by guix:\n" 0 45 (:parent #66))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #62)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #62) #("Inside the repository:\n" 0 23 (:parent #68))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #62)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #62) #("Will fire up your local repo " 0 29 (:parent #70)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #70)) #("using the\nsettings in ./etc/default" 0 35 (:parent #70)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #70) #("settings.py" 0 11 (:parent #76))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #70)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #70) #("settings.py" 0 11 (:parent #78))) #("and pass it into GN2 with\n" 0 26 (:parent #70))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #62)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #62) #("and everything " 0 15 (:parent #72)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #72) #("should" 0 6 (:parent #76))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #72))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #62) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #73))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #62)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #60))) :mode nil :granularity nil :parent #55) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #60) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #63) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #66))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #63) #("#+begin" 0 7 (:parent #67)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #67) #("src" 0 3 (:parent #71))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #67)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #67) #("name" 0 4 (:parent #73))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #67)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #67) #("log" 0 3 (:parent #75))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #67))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #63) #(" proxy" 0 13 (:parent #68)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #68) #("connect" 0 7 (:parent #72))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #68) #("timeout" 0 7 (:parent #73))) #("3000;\n proxy" 0 19 (:parent #68)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #68) #("send" 0 4 (:parent #75))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #68) #("timeout" 0 7 (:parent #76))) #("3000;\n proxy" 0 19 (:parent #68)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #68) #("read" 0 4 (:parent #78))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #68) #("timeout" 0 7 (:parent #79))) #("3000;\n send" 0 18 (:parent #68)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #68) #("timeout" 0 7 (:parent #81))) #("3000;\n" 0 6 (:parent #68))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #63) #(" location / {\n proxy" 0 38 (:parent #69)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #69) #("set" 0 3 (:parent #73))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #69) #("header" 0 6 (:parent #74))) #("Host $http" 0 15 (:parent #69)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #69) #("host" 0 4 (:parent #76))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #69) #("set" 0 3 (:parent #78))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #69) #("header" 0 6 (:parent #79))) #("Connection keep-alive;\n proxy" 0 40 (:parent #69)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #69) #("set" 0 3 (:parent #81))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #69) #("header" 0 6 (:parent #82))) #("X-Real-IP $remote" 0 17 (:parent #69)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #69) #("addr" 0 4 (:parent #84))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #69) #("set" 0 3 (:parent #86))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #69) #("header" 0 6 (:parent #87))) #("X-Forwarded-For $proxy" 0 22 (:parent #69)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #69) #("add" 0 3 (:parent #89))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #69) #("x" 0 1 (:parent #90))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #69) #("forwarded" 0 9 (:parent #91))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #69) #("for" 0 3 (:parent #92))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #69) #("set" 0 3 (:parent #94))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #69) #("header" 0 6 (:parent #95))) #("X-Forwarded-Host $server" 0 24 (:parent #69)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #69) #("name" 0 4 (:parent #97))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #69) #("pass" 0 4 (:parent #99))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #69)) #(";\n }\n}\n#+end" 0 19 (:parent #69)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #69) #("src" 0 3 (:parent #102))) #("js\n" 0 3 (:parent #69))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #63) #("Install the nginx webserver (as root)\n" 0 38 (:parent #70))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #63)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #63) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #72))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #63)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #63) #("Use that path\n" 0 14 (:parent #74))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #63)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #63) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #76))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #63)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #63) #("Make dirs\n" 0 10 (:parent #78))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #63)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #63) #("Add users\n" 0 10 (:parent #80))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #63)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #63) #("Run nginx\n" 0 10 (:parent #82))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #63))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #56))) :mode nil :granularity nil :parent #46) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #56) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #59) #("See the document " 0 17 (:parent #62)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #62)) #(".\n" 0 2 (:parent #62)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #60))) :mode nil :granularity nil :parent #56) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #60) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #63) #("We now compile Guix from scratch.\n" 0 34 (:parent #66))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #63) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #67)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #67) #("these" 0 5 (:parent #71))) #("steps carefully after\n" 0 22 (:parent #67))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #63)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #63) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #69))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #61))) :mode nil :granularity nil :parent #56) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #61) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #64) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #67))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #64) #("#+begin" 0 7 (:parent #68)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #68) #("src" 0 3 (:parent #72))) #("bash\nenv GUIX" 0 13 (:parent #68)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #68) #("PACKAGE" 0 7 (:parent #74))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #68) #("PATH" 0 4 (:parent #75))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #68)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #68)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #68)) #("\"\n#+end" 0 7 (:parent #68)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #68) #("src" 0 3 (:parent #80))) #("bash\n" 0 5 (:parent #68))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #64) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #69))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #64) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #70))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #62))) :mode nil :granularity nil :parent #56) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #62) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #65) #("Make a note of the paths with\n" 0 30 (:parent #68))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #65) #("#+begin" 0 7 (:parent #69)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #69) #("src" 0 3 (:parent #73))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #69)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #69) #("src" 0 3 (:parent #75))) #("bash\n" 0 5 (:parent #69))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #65) #("or this should also work if guix is installed\n" 0 46 (:parent #70))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #65) #("#+begin" 0 7 (:parent #71)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #71) #("src" 0 3 (:parent #75))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #71)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #71) #("src" 0 3 (:parent #77))) #("bash\n" 0 5 (:parent #71))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #65) #("After setting the paths for the server\n" 0 39 (:parent #72))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #65) #("#+begin" 0 7 (:parent #73)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #73) #("src" 0 3 (:parent #77))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #73)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #73) #("LIBS" 0 4 (:parent #79))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #73) #("SITE" 0 4 (:parent #80))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #73)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #73) #("GTK3" 0 4 (:parent #82))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #73) #("PATH" 0 4 (:parent #83))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #73)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #73) #("TYPELIB" 0 7 (:parent #85))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #73) #("PATH" 0 4 (:parent #86))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #73)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #73) #("DATA" 0 4 (:parent #88))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #73) #("DIRS" 0 4 (:parent #89))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #73)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #73) #("EXTRA" 0 5 (:parent #91))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #73) #("MODULES" 0 7 (:parent #92))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #73)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #73) #("src" 0 3 (:parent #94))) #("bash\n" 0 5 (:parent #73))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #65) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #74))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #65) #("#+begin" 0 7 (:parent #75)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #75) #("src" 0 3 (:parent #79))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #75)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #75) #("src" 0 3 (:parent #81))) #("bash\n" 0 5 (:parent #75)))))))) (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent #0) (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent #3) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #12) #("Introduction" 0 12 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #10) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #13) #("Binary deployment through GNU Guix" 0 34 (:parent #16))) #("\n" 0 1 (:parent #13))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #10) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #20) #("Quick installation recipe" 0 25 (:parent #23))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #21) #("Step 1: Install GNU Guix" 0 24 (:parent #24))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #22) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #23) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #24) #("Step 4: Install and run GN2" 0 27 (:parent #27))) #("\n" 0 1 (:parent #24)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #14) #("From source deployment" 0 22 (:parent #17))) #("\n" 0 1 (:parent #14)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #15) #("Create archive" 0 14 (:parent #18))) #("\n" 0 1 (:parent #15)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #16) #("Source deployment" 0 17 (:parent #19))) #("\n" 0 1 (:parent #16))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #13) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #23) #("Run your own copy of GN2" 0 24 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #24) #("Set up nginx port forwarding" 0 28 (:parent #27))) #("\n" 0 1 (:parent #24)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #17) #("Source deployment and other information on reproducibility" 0 58 (:parent #20))) #("\n" 0 1 (:parent #17))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #14) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #24) #("Update to recent guix" 0 21 (:parent #27))) #("\n" 0 1 (:parent #24)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #25) #("Install GN2" 0 11 (:parent #28))) #("\n" 0 1 (:parent #25)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #26) #("Run GN2" 0 7 (:parent #29))) #("\n" 0 1 (:parent #26))))))))))
mapconcat(#f(compiled-function (element) #) ((section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #1))) (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #2))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent #2) (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent #5) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #14) #("Introduction" 0 12 (:parent #17))) #("\n" 0 1 (:parent #14)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #15) #("Binary deployment through GNU Guix" 0 34 (:parent #18))) #("\n" 0 1 (:parent #15))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #12) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #22) #("Quick installation recipe" 0 25 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #23) #("Step 1: Install GNU Guix" 0 24 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #24) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #27))) #("\n" 0 1 (:parent #24)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #25) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #28))) #("\n" 0 1 (:parent #25)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #26) #("Step 4: Install and run GN2" 0 27 (:parent #29))) #("\n" 0 1 (:parent #26)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #16) #("From source deployment" 0 22 (:parent #19))) #("\n" 0 1 (:parent #16)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #17) #("Create archive" 0 14 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #18) #("Source deployment" 0 17 (:parent #21))) #("\n" 0 1 (:parent #18))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #15) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #19) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #25) #("Run your own copy of GN2" 0 24 (:parent #28))) #("\n" 0 1 (:parent #25)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #19) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #26) #("Set up nginx port forwarding" 0 28 (:parent #29))) #("\n" 0 1 (:parent #26)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #19) #("Source deployment and other information on reproducibility" 0 58 (:parent #22))) #("\n" 0 1 (:parent #19))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #16) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #20) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #26) #("Update to recent guix" 0 21 (:parent #29))) #("\n" 0 1 (:parent #26)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #20) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #24) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #27) #("Install GN2" 0 11 (:parent #30))) #("\n" 0 1 (:parent #27)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #20) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #25) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #28) #("Run GN2" 0 7 (:parent #31))) #("\n" 0 1 (:parent #28))))))))) (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #3))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #3) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #6) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #9)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #9) #("Guix-notes" 0 10 (:parent #13))) #("and the main " 0 13 (:parent #9)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #9)) #("doc).\n" 0 6 (:parent #9))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #4))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #7))) :mode section :granularity nil :parent #4) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #7) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #10) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #13))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #10) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #14))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #8))) :mode nil :granularity nil :parent #4) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #8) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #11) #("Fetch the GNU Guix binary from " 0 31 (:parent #14)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #14) #("here" 0 4 (:parent #18))) #("(middle panel) and follow\n" 0 26 (:parent #14)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #14) #("instructions" 0 12 (:parent #20))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #14))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #11) #("Once you have succeeded, you have to " 0 37 (:parent #15)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #15) #("set the key" 0 11 (:parent #19))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #15))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #11)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #11) #("Which should show something like\n" 0 33 (:parent #17))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #11)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #11) #("#+end" 0 5 (:parent #19)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #19) #("src" 0 3 (:parent #23))) #("\n" 0 1 (:parent #19))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #11) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #20))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #11)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #11) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #22))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #11) #("If you need more help we have another writeup in " 0 49 (:parent #23)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #23) #("guix-notes" 0 10 (:parent #27))) #(". To get\nrid of the locale warning see " 0 39 (:parent #23)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #23) #("set-locale" 0 10 (:parent #29))) #(".\n" 0 2 (:parent #23))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #9))) :mode nil :granularity nil :parent #4) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #9) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #12) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #15))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #12)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #12) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #17))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #12) #("#+begin" 0 7 (:parent #18)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #18) #("src" 0 3 (:parent #22))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #18)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #18)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #18)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #18)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #18)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #18) #("src" 0 3 (:parent #28))) #("bash\n" 0 5 (:parent #18))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #12) #("To test whether this is working try:\n" 0 37 (:parent #19))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #12) #("#+begin" 0 7 (:parent #20)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #20) #("src" 0 3 (:parent #24))) #("bash\n#+end" 0 10 (:parent #20)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #20) #("src" 0 3 (:parent #26))) #("bash\n" 0 5 (:parent #20))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #10))) :mode nil :granularity nil :parent #4) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #10) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #13) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #16))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #13)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #13) #("by pasting it into the command\n" 0 31 (:parent #18))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #13)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #13) #("and hit Ctrl-D.\n" 0 16 (:parent #20))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #13) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #21))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #11))) :mode nil :granularity nil :parent #4) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #11) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #14) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #17))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #14)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #14) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #19))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #14)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #14) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #21)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #21) #("root" 0 4 (:parent #25))) #(".config/guix/latest override).\n" 0 31 (:parent #21))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #14) #("And install with\n" 0 17 (:parent #22))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #14)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #14) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #24))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #14) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #25))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #14) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #26))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #14)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #14) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #28))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #14)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #14) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #30)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #30)) #(".\n" 0 2 (:parent #30))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #14) #("End of the GN2 installation recipe!\n" 0 36 (:parent #31)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #5))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #5) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #8) #("GNU Guix allows for " 0 20 (:parent #11)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #11) #("reproducible deployment" 0 23 (:parent #15))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #11))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #8)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #8) #("Next build guix (and run) following the instructions in " 0 56 (:parent #13)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #13) #("guix-notes" 0 10 (:parent #17))) #(".\n" 0 2 (:parent #13))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #8) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #14))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #8)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #8) #("So\n" 0 3 (:parent #16))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #8) #("#+begin" 0 7 (:parent #17)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #17) #("src" 0 3 (:parent #21))) #("sh :lang bash\n#+begin" 0 23 (:parent #17)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #17) #("src" 0 3 (:parent #23))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #17)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #17) #("PACKAGE" 0 7 (:parent #25))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #17) #("PATH" 0 4 (:parent #26))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #17)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #17) #("src" 0 3 (:parent #28))) #("sh :lang bash\n" 0 16 (:parent #17))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #8) #("Install with\n" 0 13 (:parent #18))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #8) #("#+begin" 0 7 (:parent #19)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #19) #("src" 0 3 (:parent #23))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #19)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #19) #("PACKAGE" 0 7 (:parent #25))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #19) #("PATH" 0 4 (:parent #26))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #19)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #19) #("src" 0 3 (:parent #28))) #("sh :lang bash\n" 0 16 (:parent #19))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #6))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #6) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #9)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #7))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #7) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #10) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #13))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #10) #("First execute above 4 steps:\n" 0 29 (:parent #14))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #10) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #21) #("Step 1: Install GNU Guix" 0 24 (:parent #24))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #22) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #23) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #24) #("Step 4: Install and run GN2 " 0 28 (:parent #27))) #("\n" 0 1 (:parent #24)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #11))) :mode nil :granularity nil :parent #7) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #11) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #14) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #17)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #17)) #(".\n" 0 2 (:parent #17))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #14) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #18)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #18) #("PATH" 0 4 (:parent #22))) #("and\nR" 0 5 (:parent #18)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #18) #("LIBS" 0 4 (:parent #24))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #18) #("SITE" 0 4 (:parent #25))) #("are set) from the information given by guix:\n" 0 45 (:parent #18))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #14)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #14) #("Inside the repository:\n" 0 23 (:parent #20))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #14)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #14) #("Will fire up your local repo " 0 29 (:parent #22)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #22)) #("using the\nsettings in ./etc/default" 0 35 (:parent #22)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #22) #("settings.py" 0 11 (:parent #28))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #22)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #22) #("settings.py" 0 11 (:parent #30))) #("and pass it into GN2 with\n" 0 26 (:parent #22))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #14)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #14) #("and everything " 0 15 (:parent #24)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #24) #("should" 0 6 (:parent #28))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #24))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #14) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #25))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #14)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #12))) :mode nil :granularity nil :parent #7) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #12) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #15) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #18))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #15) #("#+begin" 0 7 (:parent #19)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #19) #("src" 0 3 (:parent #23))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #19)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #19) #("name" 0 4 (:parent #25))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #19)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #19) #("log" 0 3 (:parent #27))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #19))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #15) #(" proxy" 0 13 (:parent #20)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #20) #("connect" 0 7 (:parent #24))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #20) #("timeout" 0 7 (:parent #25))) #("3000;\n proxy" 0 19 (:parent #20)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #20) #("send" 0 4 (:parent #27))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #20) #("timeout" 0 7 (:parent #28))) #("3000;\n proxy" 0 19 (:parent #20)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #20) #("read" 0 4 (:parent #30))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #20) #("timeout" 0 7 (:parent #31))) #("3000;\n send" 0 18 (:parent #20)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #20) #("timeout" 0 7 (:parent #33))) #("3000;\n" 0 6 (:parent #20))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #15) #(" location / {\n proxy" 0 38 (:parent #21)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #21) #("set" 0 3 (:parent #25))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #21) #("header" 0 6 (:parent #26))) #("Host $http" 0 15 (:parent #21)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #21) #("host" 0 4 (:parent #28))) #(";\n proxy" 0 19 (:parent #21)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #21) #("set" 0 3 (:parent #30))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #21) #("header" 0 6 (:parent #31))) #("Connection keep-alive;\n proxy" 0 40 (:parent #21)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #21) #("set" 0 3 (:parent #33))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #21) #("header" 0 6 (:parent #34))) #("X-Real-IP $remote" 0 17 (:parent #21)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #21) #("addr" 0 4 (:parent #36))) #(";\n proxy" 0 19 (:parent #21)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #21) #("set" 0 3 (:parent #38))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #21) #("header" 0 6 (:parent #39))) #("X-Forwarded-For $proxy" 0 22 (:parent #21)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #21) #("add" 0 3 (:parent #41))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #21) #("x" 0 1 (:parent #42))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #21) #("forwarded" 0 9 (:parent #43))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #21) #("for" 0 3 (:parent #44))) #(";\n proxy" 0 19 (:parent #21)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #21) #("set" 0 3 (:parent #46))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #21) #("header" 0 6 (:parent #47))) #("X-Forwarded-Host $server" 0 24 (:parent #21)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #21) #("name" 0 4 (:parent #49))) #(";\n proxy" 0 19 (:parent #21)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #21) #("pass" 0 4 (:parent #51))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #21)) #(";\n }\n}\n#+end" 0 19 (:parent #21)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #21) #("src" 0 3 (:parent #54))) #("js\n" 0 3 (:parent #21))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #15) #("Install the nginx webserver (as root)\n" 0 38 (:parent #22))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #15)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #15) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #24))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #15)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #15) #("Use that path\n" 0 14 (:parent #26))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #15)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #15) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #28))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #15)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #15) #("Make dirs\n" 0 10 (:parent #30))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #15)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #15) #("Add users\n" 0 10 (:parent #32))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #15)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #15) #("Run nginx\n" 0 10 (:parent #34))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #15))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #8))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #8) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #11) #("See the document " 0 17 (:parent #14)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #14)) #(".\n" 0 2 (:parent #14)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #12))) :mode nil :granularity nil :parent #8) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #12) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #15) #("We now compile Guix from scratch.\n" 0 34 (:parent #18))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #15) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #19)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #19) #("these" 0 5 (:parent #23))) #("steps carefully after\n" 0 22 (:parent #19))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #15)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #15) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #21))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #13))) :mode nil :granularity nil :parent #8) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #13) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #16) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #19))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #16) #("#+begin" 0 7 (:parent #20)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #20) #("src" 0 3 (:parent #24))) #("bash\nenv GUIX" 0 13 (:parent #20)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #20) #("PACKAGE" 0 7 (:parent #26))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #20) #("PATH" 0 4 (:parent #27))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #20)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #20)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #20)) #("\"\n#+end" 0 7 (:parent #20)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #20) #("src" 0 3 (:parent #32))) #("bash\n" 0 5 (:parent #20))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #16) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #21))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #16) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #22))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #14))) :mode nil :granularity nil :parent #8) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #14) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #17) #("Make a note of the paths with\n" 0 30 (:parent #20))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #17) #("#+begin" 0 7 (:parent #21)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #21) #("src" 0 3 (:parent #25))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #21)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #21) #("src" 0 3 (:parent #27))) #("bash\n" 0 5 (:parent #21))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #17) #("or this should also work if guix is installed\n" 0 46 (:parent #22))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #17) #("#+begin" 0 7 (:parent #23)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #23) #("src" 0 3 (:parent #27))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #23)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #23) #("src" 0 3 (:parent #29))) #("bash\n" 0 5 (:parent #23))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #17) #("After setting the paths for the server\n" 0 39 (:parent #24))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #17) #("#+begin" 0 7 (:parent #25)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #25) #("src" 0 3 (:parent #29))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #25)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #25) #("LIBS" 0 4 (:parent #31))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #25) #("SITE" 0 4 (:parent #32))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #25)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #25) #("GTK3" 0 4 (:parent #34))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #25) #("PATH" 0 4 (:parent #35))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #25)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #25) #("TYPELIB" 0 7 (:parent #37))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #25) #("PATH" 0 4 (:parent #38))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #25)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #25) #("DATA" 0 4 (:parent #40))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #25) #("DIRS" 0 4 (:parent #41))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #25)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #25) #("EXTRA" 0 5 (:parent #43))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #25) #("MODULES" 0 7 (:parent #44))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #25)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #25) #("src" 0 3 (:parent #46))) #("bash\n" 0 5 (:parent #25))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #17) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #26))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #17) #("#+begin" 0 7 (:parent #27)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #27) #("src" 0 3 (:parent #31))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #27)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #27) #("src" 0 3 (:parent #33))) #("bash\n" 0 5 (:parent #27))))))) "")
org-export-data((org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #0) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #3))) (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #4))) :mode nil :granularity nil :parent #0) (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent #4) (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent #7) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #16) #("Introduction" 0 12 (:parent #19))) #("\n" 0 1 (:parent #16)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #17) #("Binary deployment through GNU Guix" 0 34 (:parent #20))) #("\n" 0 1 (:parent #17))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #14) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #24) #("Quick installation recipe" 0 25 (:parent #27))) #("\n" 0 1 (:parent #24)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #25) #("Step 1: Install GNU Guix" 0 24 (:parent #28))) #("\n" 0 1 (:parent #25)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #26) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #29))) #("\n" 0 1 (:parent #26)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #24) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #27) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #30))) #("\n" 0 1 (:parent #27)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #25) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #28) #("Step 4: Install and run GN2" 0 27 (:parent #31))) #("\n" 0 1 (:parent #28)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #18) #("From source deployment" 0 22 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #19) #("Create archive" 0 14 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #20) #("Source deployment" 0 17 (:parent #23))) #("\n" 0 1 (:parent #20))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #17) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #21) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #24) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #27) #("Run your own copy of GN2" 0 24 (:parent #30))) #("\n" 0 1 (:parent #27)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #21) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #25) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #28) #("Set up nginx port forwarding" 0 28 (:parent #31))) #("\n" 0 1 (:parent #28)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #21) #("Source deployment and other information on reproducibility" 0 58 (:parent #24))) #("\n" 0 1 (:parent #21))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #18) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #22) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #25) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #28) #("Update to recent guix" 0 21 (:parent #31))) #("\n" 0 1 (:parent #28)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #22) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #26) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #29) #("Install GN2" 0 11 (:parent #32))) #("\n" 0 1 (:parent #29)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #22) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #27) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #30) #("Run GN2" 0 7 (:parent #33))) #("\n" 0 1 (:parent #30))))))))) (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #5))) :mode nil :granularity nil :parent #0) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #5) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #8) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #11)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #11) #("Guix-notes" 0 10 (:parent #15))) #("and the main " 0 13 (:parent #11)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #11)) #("doc).\n" 0 6 (:parent #11))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #6))) :mode nil :granularity nil :parent #0) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #9))) :mode section :granularity nil :parent #6) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #9) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #12) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #15))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #12) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #16))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #10))) :mode nil :granularity nil :parent #6) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #10) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #13) #("Fetch the GNU Guix binary from " 0 31 (:parent #16)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #16) #("here" 0 4 (:parent #20))) #("(middle panel) and follow\n" 0 26 (:parent #16)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #16) #("instructions" 0 12 (:parent #22))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #16))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #13) #("Once you have succeeded, you have to " 0 37 (:parent #17)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #17) #("set the key" 0 11 (:parent #21))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #17))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #13)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #13) #("Which should show something like\n" 0 33 (:parent #19))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #13)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #13) #("#+end" 0 5 (:parent #21)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #21) #("src" 0 3 (:parent #25))) #("\n" 0 1 (:parent #21))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #13) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #22))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #13)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #13) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #24))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #13) #("If you need more help we have another writeup in " 0 49 (:parent #25)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #25) #("guix-notes" 0 10 (:parent #29))) #(". To get\nrid of the locale warning see " 0 39 (:parent #25)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #25) #("set-locale" 0 10 (:parent #31))) #(".\n" 0 2 (:parent #25))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #11))) :mode nil :granularity nil :parent #6) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #11) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #14) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #17))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #14)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #14) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #19))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #14) #("#+begin" 0 7 (:parent #20)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #20) #("src" 0 3 (:parent #24))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #20)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #20)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #20)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #20)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #20)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #20) #("src" 0 3 (:parent #30))) #("bash\n" 0 5 (:parent #20))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #14) #("To test whether this is working try:\n" 0 37 (:parent #21))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #14) #("#+begin" 0 7 (:parent #22)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #22) #("src" 0 3 (:parent #26))) #("bash\n#+end" 0 10 (:parent #22)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #22) #("src" 0 3 (:parent #28))) #("bash\n" 0 5 (:parent #22))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #12))) :mode nil :granularity nil :parent #6) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #12) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #15) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #18))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #15)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #15) #("by pasting it into the command\n" 0 31 (:parent #20))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #15)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #15) #("and hit Ctrl-D.\n" 0 16 (:parent #22))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #15) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #23))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #13))) :mode nil :granularity nil :parent #6) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #13) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #16) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #19))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #16)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #16) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #21))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #16)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #16) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #23)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #23) #("root" 0 4 (:parent #27))) #(".config/guix/latest override).\n" 0 31 (:parent #23))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #16) #("And install with\n" 0 17 (:parent #24))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #16)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #16) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #26))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #16) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #27))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #16) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #28))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #16)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #16) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #30))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #16)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #16) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #32)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #32)) #(".\n" 0 2 (:parent #32))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #16) #("End of the GN2 installation recipe!\n" 0 36 (:parent #33)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #7))) :mode nil :granularity nil :parent #0) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #7) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #10) #("GNU Guix allows for " 0 20 (:parent #13)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #13) #("reproducible deployment" 0 23 (:parent #17))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #13))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #10)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #10) #("Next build guix (and run) following the instructions in " 0 56 (:parent #15)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #15) #("guix-notes" 0 10 (:parent #19))) #(".\n" 0 2 (:parent #15))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #10) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #16))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #10)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #10) #("So\n" 0 3 (:parent #18))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #10) #("#+begin" 0 7 (:parent #19)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #19) #("src" 0 3 (:parent #23))) #("sh :lang bash\n#+begin" 0 23 (:parent #19)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #19) #("src" 0 3 (:parent #25))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #19)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #19) #("PACKAGE" 0 7 (:parent #27))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #19) #("PATH" 0 4 (:parent #28))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #19)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #19) #("src" 0 3 (:parent #30))) #("sh :lang bash\n" 0 16 (:parent #19))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #10) #("Install with\n" 0 13 (:parent #20))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #10) #("#+begin" 0 7 (:parent #21)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #21) #("src" 0 3 (:parent #25))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #21)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #21) #("PACKAGE" 0 7 (:parent #27))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #21) #("PATH" 0 4 (:parent #28))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #21)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #21) #("src" 0 3 (:parent #30))) #("sh :lang bash\n" 0 16 (:parent #21))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #8))) :mode nil :granularity nil :parent #0) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #8) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #11)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #9))) :mode nil :granularity nil :parent #0) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #9) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #12) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #15))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #12) #("First execute above 4 steps:\n" 0 29 (:parent #16))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #12) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #23) #("Step 1: Install GNU Guix" 0 24 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #24) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #27))) #("\n" 0 1 (:parent #24)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #25) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #28))) #("\n" 0 1 (:parent #25)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #26) #("Step 4: Install and run GN2 " 0 28 (:parent #29))) #("\n" 0 1 (:parent #26)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #13))) :mode nil :granularity nil :parent #9) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #13) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #16) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #19)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #19)) #(".\n" 0 2 (:parent #19))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #16) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #20)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #20) #("PATH" 0 4 (:parent #24))) #("and\nR" 0 5 (:parent #20)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #20) #("LIBS" 0 4 (:parent #26))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #20) #("SITE" 0 4 (:parent #27))) #("are set) from the information given by guix:\n" 0 45 (:parent #20))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #16)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #16) #("Inside the repository:\n" 0 23 (:parent #22))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #16)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #16) #("Will fire up your local repo " 0 29 (:parent #24)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #24)) #("using the\nsettings in ./etc/default" 0 35 (:parent #24)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #24) #("settings.py" 0 11 (:parent #30))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #24)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #24) #("settings.py" 0 11 (:parent #32))) #("and pass it into GN2 with\n" 0 26 (:parent #24))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #16)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #16) #("and everything " 0 15 (:parent #26)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #26) #("should" 0 6 (:parent #30))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #26))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #16) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #27))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #16)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #14))) :mode nil :granularity nil :parent #9) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #14) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #17) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #20))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #17) #("#+begin" 0 7 (:parent #21)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #21) #("src" 0 3 (:parent #25))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #21)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #21) #("name" 0 4 (:parent #27))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #21)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #21) #("log" 0 3 (:parent #29))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #21))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #17) #(" proxy" 0 13 (:parent #22)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #22) #("connect" 0 7 (:parent #26))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #22) #("timeout" 0 7 (:parent #27))) #("3000;\n proxy" 0 19 (:parent #22)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #22) #("send" 0 4 (:parent #29))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #22) #("timeout" 0 7 (:parent #30))) #("3000;\n proxy" 0 19 (:parent #22)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #22) #("read" 0 4 (:parent #32))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #22) #("timeout" 0 7 (:parent #33))) #("3000;\n send" 0 18 (:parent #22)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #22) #("timeout" 0 7 (:parent #35))) #("3000;\n" 0 6 (:parent #22))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #17) #(" location / {\n proxy" 0 38 (:parent #23)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #23) #("set" 0 3 (:parent #27))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #23) #("header" 0 6 (:parent #28))) #("Host $http" 0 15 (:parent #23)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #23) #("host" 0 4 (:parent #30))) #(";\n proxy" 0 19 (:parent #23)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #23) #("set" 0 3 (:parent #32))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #23) #("header" 0 6 (:parent #33))) #("Connection keep-alive;\n proxy" 0 40 (:parent #23)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #23) #("set" 0 3 (:parent #35))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #23) #("header" 0 6 (:parent #36))) #("X-Real-IP $remote" 0 17 (:parent #23)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #23) #("addr" 0 4 (:parent #38))) #(";\n proxy" 0 19 (:parent #23)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #23) #("set" 0 3 (:parent #40))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #23) #("header" 0 6 (:parent #41))) #("X-Forwarded-For $proxy" 0 22 (:parent #23)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #23) #("add" 0 3 (:parent #43))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #23) #("x" 0 1 (:parent #44))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #23) #("forwarded" 0 9 (:parent #45))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #23) #("for" 0 3 (:parent #46))) #(";\n proxy" 0 19 (:parent #23)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #23) #("set" 0 3 (:parent #48))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #23) #("header" 0 6 (:parent #49))) #("X-Forwarded-Host $server" 0 24 (:parent #23)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #23) #("name" 0 4 (:parent #51))) #(";\n proxy" 0 19 (:parent #23)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #23) #("pass" 0 4 (:parent #53))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #23)) #(";\n }\n}\n#+end" 0 19 (:parent #23)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #23) #("src" 0 3 (:parent #56))) #("js\n" 0 3 (:parent #23))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #17) #("Install the nginx webserver (as root)\n" 0 38 (:parent #24))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #17)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #17) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #26))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #17)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #17) #("Use that path\n" 0 14 (:parent #28))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #17)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #17) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #30))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #17)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #17) #("Make dirs\n" 0 10 (:parent #32))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #17)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #17) #("Add users\n" 0 10 (:parent #34))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #17)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #17) #("Run nginx\n" 0 10 (:parent #36))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #17))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #10))) :mode nil :granularity nil :parent #0) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #10) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #13) #("See the document " 0 17 (:parent #16)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #16)) #(".\n" 0 2 (:parent #16)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #14))) :mode nil :granularity nil :parent #10) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #14) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #17) #("We now compile Guix from scratch.\n" 0 34 (:parent #20))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #17) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #21)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #21) #("these" 0 5 (:parent #25))) #("steps carefully after\n" 0 22 (:parent #21))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #17)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #17) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #23))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #15))) :mode nil :granularity nil :parent #10) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #15) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #18) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #21))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #18) #("#+begin" 0 7 (:parent #22)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #22) #("src" 0 3 (:parent #26))) #("bash\nenv GUIX" 0 13 (:parent #22)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #22) #("PACKAGE" 0 7 (:parent #28))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #22) #("PATH" 0 4 (:parent #29))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #22)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #22)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #22)) #("\"\n#+end" 0 7 (:parent #22)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #22) #("src" 0 3 (:parent #34))) #("bash\n" 0 5 (:parent #22))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #18) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #23))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #18) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #24))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #16))) :mode nil :granularity nil :parent #10) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #16) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #19) #("Make a note of the paths with\n" 0 30 (:parent #22))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #19) #("#+begin" 0 7 (:parent #23)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #23) #("src" 0 3 (:parent #27))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #23)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #23) #("src" 0 3 (:parent #29))) #("bash\n" 0 5 (:parent #23))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #19) #("or this should also work if guix is installed\n" 0 46 (:parent #24))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #19) #("#+begin" 0 7 (:parent #25)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #25) #("src" 0 3 (:parent #29))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #25)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #25) #("src" 0 3 (:parent #31))) #("bash\n" 0 5 (:parent #25))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #19) #("After setting the paths for the server\n" 0 39 (:parent #26))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #19) #("#+begin" 0 7 (:parent #27)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #27) #("src" 0 3 (:parent #31))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #27)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #27) #("LIBS" 0 4 (:parent #33))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #27) #("SITE" 0 4 (:parent #34))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #27)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #27) #("GTK3" 0 4 (:parent #36))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #27) #("PATH" 0 4 (:parent #37))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #27)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #27) #("TYPELIB" 0 7 (:parent #39))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #27) #("PATH" 0 4 (:parent #40))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #27)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #27) #("DATA" 0 4 (:parent #42))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #27) #("DIRS" 0 4 (:parent #43))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #27)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #27) #("EXTRA" 0 5 (:parent #45))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #27) #("MODULES" 0 7 (:parent #46))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #27)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #27) #("src" 0 3 (:parent #48))) #("bash\n" 0 5 (:parent #27))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #19) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #28))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #19) #("#+begin" 0 7 (:parent #29)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #29) #("src" 0 3 (:parent #33))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #29)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #29) #("src" 0 3 (:parent #35))) #("bash\n" 0 5 (:parent #29))))))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section ") :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" " \n" . " ") :html-table-header-tags ("" . " ") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (underline . "%s") (verbatim . "" :html-table-row-close-tag " " :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 29.4 (Org mode 9.6.15)" :with-latex t :latex-header nil :title (#("Installing GeneNetwork services with GNU Guix" 0 45 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:begin 1 :contents-begin 1 :contents-end 13381 :end 13382 :robust-begin 3 :robust-end 13379 :post-blank 1 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 57 :contents-begin 1 :contents-end 56 :robust-begin 1 :robust-end 54 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #338) (keyword (:key "TITLE" :value "Installing GeneNetwork services with GNU Guix" :begin 1 :end 56 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #341))) (headline (:raw-value "Table of Contents" :begin 57 :end 1130 :pre-blank 0 :contents-begin 135 :contents-end 1129 :robust-begin 137 :robust-end 1127 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 57 :title (#("Table of Contents" 0 17 (:parent #342))) :mode nil :granularity nil :parent #338) (section (:begin 135 :end 1130 :contents-begin 135 :contents-end 1129 :robust-begin 135 :robust-end 1127 :post-blank 1 :post-affiliated 135 :mode section :granularity nil :parent #342) (plain-list (:type unordered :begin 135 :end 1129 :contents-begin 135 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 135 :mode planning :granularity nil :parent #345) (item (:bullet "- " :begin 135 :end 170 :contents-begin 138 :contents-end 170 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 135 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 138 :end 170 :contents-begin 138 :contents-end 170 :post-blank 0 :post-affiliated 138 :mode nil :granularity nil :parent #351) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 138 :end 169 :contents-begin 155 :contents-end 167 :post-blank 0 :parent #354) #("Introduction" 0 12 (:parent #357))) #("\n" 0 1 (:parent #354)))) (item (:bullet "- " :begin 170 :end 616 :contents-begin 173 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 170 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 173 :end 249 :contents-begin 173 :contents-end 249 :post-blank 0 :post-affiliated 173 :mode nil :granularity nil :parent #352) (link (:type "custom-id" :path "binary-deployment-through-gnu-guix" :format bracket :raw-link "#binary-deployment-through-gnu-guix" :application nil :search-option nil :begin 173 :end 248 :contents-begin 212 :contents-end 246 :post-blank 0 :parent #355) #("Binary deployment through GNU Guix" 0 34 (:parent #358))) #("\n" 0 1 (:parent #355))) (plain-list (:type unordered :begin 249 :end 616 :contents-begin 249 :contents-end 616 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 249 :mode nil :granularity nil :parent #352) (item (:bullet "- " :begin 249 :end 312 :contents-begin 254 :contents-end 312 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 249 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 254 :end 312 :contents-begin 254 :contents-end 312 :post-blank 0 :post-affiliated 254 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 254 :end 311 :contents-begin 284 :contents-end 309 :post-blank 0 :parent #362) #("Quick installation recipe" 0 25 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 312 :end 372 :contents-begin 317 :contents-end 372 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 312 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 317 :end 372 :contents-begin 317 :contents-end 372 :post-blank 0 :post-affiliated 317 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 317 :end 371 :contents-begin 345 :contents-end 369 :post-blank 0 :parent #363) #("Step 1: Install GNU Guix" 0 24 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 372 :end 466 :contents-begin 377 :contents-end 466 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 372 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 377 :end 466 :contents-begin 377 :contents-end 466 :post-blank 0 :post-affiliated 377 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 377 :end 465 :contents-begin 422 :contents-end 463 :post-blank 0 :parent #364) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #367))) #("\n" 0 1 (:parent #364)))) (item (:bullet "- " :begin 466 :end 550 :contents-begin 471 :contents-end 550 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 466 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 471 :end 550 :contents-begin 471 :contents-end 550 :post-blank 0 :post-affiliated 471 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 471 :end 549 :contents-begin 511 :contents-end 547 :post-blank 0 :parent #365) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 550 :end 616 :contents-begin 555 :contents-end 616 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 550 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 555 :end 616 :contents-begin 555 :contents-end 616 :post-blank 0 :post-affiliated 555 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 555 :end 615 :contents-begin 586 :contents-end 613 :post-blank 0 :parent #366) #("Step 4: Install and run GN2" 0 27 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 616 :end 671 :contents-begin 619 :contents-end 671 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 616 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 619 :end 671 :contents-begin 619 :contents-end 671 :post-blank 0 :post-affiliated 619 :mode nil :granularity nil :parent #353) (link (:type "custom-id" :path "from-source-deployment" :format bracket :raw-link "#from-source-deployment" :application nil :search-option nil :begin 619 :end 670 :contents-begin 646 :contents-end 668 :post-blank 0 :parent #356) #("From source deployment" 0 22 (:parent #359))) #("\n" 0 1 (:parent #356)))) (item (:bullet "- " :begin 671 :end 710 :contents-begin 674 :contents-end 710 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 671 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 674 :end 710 :contents-begin 674 :contents-end 710 :post-blank 0 :post-affiliated 674 :mode nil :granularity nil :parent #354) (link (:type "custom-id" :path "create-archive" :format bracket :raw-link "#create-archive" :application nil :search-option nil :begin 674 :end 709 :contents-begin 693 :contents-end 707 :post-blank 0 :parent #357) #("Create archive" 0 14 (:parent #360))) #("\n" 0 1 (:parent #357)))) (item (:bullet "- " :begin 710 :end 885 :contents-begin 713 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 710 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 713 :end 755 :contents-begin 713 :contents-end 755 :post-blank 0 :post-affiliated 713 :mode nil :granularity nil :parent #355) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 713 :end 754 :contents-begin 735 :contents-end 752 :post-blank 0 :parent #358) #("Source deployment" 0 17 (:parent #361))) #("\n" 0 1 (:parent #358))) (plain-list (:type unordered :begin 755 :end 885 :contents-begin 755 :contents-end 885 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 755 :mode nil :granularity nil :parent #355) (item (:bullet "- " :begin 755 :end 816 :contents-begin 760 :contents-end 816 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 755 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 760 :end 816 :contents-begin 760 :contents-end 816 :post-blank 0 :post-affiliated 760 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 760 :end 815 :contents-begin 789 :contents-end 813 :post-blank 0 :parent #365) #("Run your own copy of GN2" 0 24 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 816 :end 885 :contents-begin 821 :contents-end 885 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 816 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 821 :end 885 :contents-begin 821 :contents-end 885 :post-blank 0 :post-affiliated 821 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 821 :end 884 :contents-begin 854 :contents-end 882 :post-blank 0 :parent #366) #("Set up nginx port forwarding" 0 28 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 885 :end 1129 :contents-begin 888 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 885 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 888 :end 1012 :contents-begin 888 :contents-end 1012 :post-blank 0 :post-affiliated 888 :mode nil :granularity nil :parent #356) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 888 :end 1011 :contents-begin 951 :contents-end 1009 :post-blank 0 :parent #359) #("Source deployment and other information on reproducibility" 0 58 (:parent #362))) #("\n" 0 1 (:parent #359))) (plain-list (:type unordered :begin 1012 :end 1129 :contents-begin 1012 :contents-end 1129 :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #356) (item (:bullet "- " :begin 1012 :end 1067 :contents-begin 1017 :contents-end 1067 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1012 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1017 :end 1067 :contents-begin 1017 :contents-end 1067 :post-blank 0 :post-affiliated 1017 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 1017 :end 1066 :contents-begin 1043 :contents-end 1064 :post-blank 0 :parent #366) #("Update to recent guix" 0 21 (:parent #369))) #("\n" 0 1 (:parent #366)))) (item (:bullet "- " :begin 1067 :end 1102 :contents-begin 1072 :contents-end 1102 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1067 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1072 :end 1102 :contents-begin 1072 :contents-end 1102 :post-blank 0 :post-affiliated 1072 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 1072 :end 1101 :contents-begin 1088 :contents-end 1099 :post-blank 0 :parent #367) #("Install GN2" 0 11 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1102 :end 1129 :contents-begin 1107 :contents-end 1129 :checkbox nil :counter nil :structure ((135 1 "- " nil nil nil 170) (170 1 "- " nil nil nil 616) (249 3 "- " nil nil nil 312) (312 3 "- " nil nil nil 372) (372 3 "- " nil nil nil 466) (466 3 "- " nil nil nil 550) (550 3 "- " nil nil nil 616) (616 1 "- " nil nil nil 671) (671 1 "- " nil nil nil 710) (710 1 "- " nil nil nil 885) (755 3 "- " nil nil nil 816) (816 3 "- " nil nil nil 885) (885 1 "- " nil nil nil 1129) (1012 3 "- " nil nil nil 1067) (1067 3 "- " nil nil nil 1102) (1102 3 "- " nil nil nil 1129)) :pre-blank 0 :post-blank 0 :post-affiliated 1102 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1107 :end 1129 :contents-begin 1107 :contents-end 1129 :post-blank 0 :post-affiliated 1107 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1107 :end 1128 :contents-begin 1119 :contents-end 1126 :post-blank 0 :parent #368) #("Run GN2" 0 7 (:parent #371))) #("\n" 0 1 (:parent #368))))))))) (headline (:raw-value "Introduction" :begin 1130 :end 1409 :pre-blank 1 :contents-begin 1146 :contents-end 1408 :robust-begin 1148 :robust-end 1406 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1130 :title (#("Introduction" 0 12 (:parent #343))) :mode nil :granularity nil :parent #338) (section (:begin 1146 :end 1409 :contents-begin 1146 :contents-end 1408 :robust-begin 1146 :robust-end 1406 :post-blank 1 :post-affiliated 1146 :mode section :granularity nil :parent #343) (paragraph (:begin 1146 :end 1408 :contents-begin 1146 :contents-end 1408 :post-blank 0 :post-affiliated 1146 :mode planning :granularity nil :parent #346) #("Large system deployments tend to get very complex. In this document we\nexplain the GeneNetwork deployment system which is based on GNU Guix\n(see Pjotr's " 0 153 (:parent #349)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1299 :end 1374 :contents-begin 1361 :contents-end 1371 :post-blank 1 :parent #349) #("Guix-notes" 0 10 (:parent #353))) #("and the main " 0 13 (:parent #349)) (link (:type "fuzzy" :path "README.org" :format bracket :raw-link "README.org" :application nil :search-option nil :begin 1387 :end 1402 :contents-begin nil :contents-end nil :post-blank 1 :parent #349)) #("doc).\n" 0 6 (:parent #349))))) (headline (:raw-value "Binary deployment through GNU Guix" :begin 1409 :end 6537 :pre-blank 0 :contents-begin 1446 :contents-end 6536 :robust-begin 1448 :robust-end 6534 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1409 :title (#("Binary deployment through GNU Guix" 0 34 (:parent #344))) :mode nil :granularity nil :parent #338) (headline (:raw-value "Quick installation recipe" :begin 1446 :end 1927 :pre-blank 1 :contents-begin 1476 :contents-end 1926 :robust-begin 1478 :robust-end 1924 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1446 :title (#("Quick installation recipe" 0 25 (:parent #347))) :mode section :granularity nil :parent #344) (section (:begin 1476 :end 1927 :contents-begin 1476 :contents-end 1926 :robust-begin 1476 :robust-end 1924 :post-blank 1 :post-affiliated 1476 :mode section :granularity nil :parent #347) (paragraph (:begin 1476 :end 1785 :contents-begin 1476 :contents-end 1784 :post-blank 1 :post-affiliated 1476 :mode planning :granularity nil :parent #350) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS).\n" 0 308 (:parent #353))) (paragraph (:begin 1785 :end 1926 :contents-begin 1785 :contents-end 1926 :post-blank 0 :post-affiliated 1785 :mode nil :granularity nil :parent #350) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #354))))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 1927 :end 3554 :pre-blank 1 :contents-begin 1956 :contents-end 3553 :robust-begin 1958 :robust-end 3551 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1927 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #348))) :mode nil :granularity nil :parent #344) (section (:begin 1956 :end 3554 :contents-begin 1956 :contents-end 3553 :robust-begin 1956 :robust-end 3551 :post-blank 1 :post-affiliated 1956 :mode section :granularity nil :parent #348) (paragraph (:begin 1956 :end 2409 :contents-begin 1956 :contents-end 2408 :post-blank 1 :post-affiliated 1956 :mode planning :granularity nil :parent #351) #("Fetch the GNU Guix binary from " 0 31 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 1987 :end 2041 :contents-begin 2034 :contents-end 2038 :post-blank 1 :parent #354) #("here" 0 4 (:parent #358))) #("(middle panel) and follow\n" 0 26 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 2067 :end 2160 :contents-begin 2146 :contents-end 2158 :post-blank 0 :parent #354) #("instructions" 0 12 (:parent #360))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #354))) (paragraph (:begin 2409 :end 2687 :contents-begin 2409 :contents-end 2686 :post-blank 1 :post-affiliated 2409 :mode nil :granularity nil :parent #351) #("Once you have succeeded, you have to " 0 37 (:parent #355)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 2446 :end 2536 :contents-begin 2522 :contents-end 2533 :post-blank 1 :parent #355) #("set the key" 0 11 (:parent #359))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 2687 :end 2795 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 2687 :mode nil :granularity nil :parent #351)) (paragraph (:begin 2795 :end 2829 :contents-begin 2795 :contents-end 2828 :post-blank 1 :post-affiliated 2795 :mode nil :granularity nil :parent #351) #("Which should show something like\n" 0 33 (:parent #357))) (fixed-width (:begin 2829 :end 2939 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 2829 :mode nil :granularity nil :parent #351)) (paragraph (:begin 2939 :end 2950 :contents-begin 2939 :contents-end 2949 :post-blank 1 :post-affiliated 2939 :mode nil :granularity nil :parent #351) #("#+end" 0 5 (:parent #359)) (subscript (:begin 2944 :end 2948 :use-brackets-p nil :contents-begin 2945 :contents-end 2948 :post-blank 0 :parent #359) #("src" 0 3 (:parent #363))) #("\n" 0 1 (:parent #359))) (paragraph (:begin 2950 :end 3021 :contents-begin 2950 :contents-end 3020 :post-blank 1 :post-affiliated 2950 :mode nil :granularity nil :parent #351) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #360))) (src-block (:language "bash" :switches nil :parameters nil :begin 3021 :end 3093 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 3021 :mode nil :granularity nil :parent #351)) (paragraph (:begin 3093 :end 3280 :contents-begin 3093 :contents-end 3279 :post-blank 1 :post-affiliated 3093 :mode nil :granularity nil :parent #351) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #362))) (paragraph (:begin 3280 :end 3553 :contents-begin 3280 :contents-end 3553 :post-blank 0 :post-affiliated 3280 :mode nil :granularity nil :parent #351) #("If you need more help we have another writeup in " 0 49 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 3329 :end 3425 :contents-begin 3413 :contents-end 3423 :post-blank 0 :parent #363) #("guix-notes" 0 10 (:parent #367))) #(". To get\nrid of the locale warning see " 0 39 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 3464 :end 3551 :contents-begin 3539 :contents-end 3549 :post-blank 0 :parent #363) #("set-locale" 0 10 (:parent #369))) #(".\n" 0 2 (:parent #363))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 3554 :end 4208 :pre-blank 1 :contents-begin 3600 :contents-end 4207 :robust-begin 3602 :robust-end 4205 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3554 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #349))) :mode nil :granularity nil :parent #344) (section (:begin 3600 :end 4208 :contents-begin 3600 :contents-end 4207 :robust-begin 3600 :robust-end 4205 :post-blank 1 :post-affiliated 3600 :mode section :granularity nil :parent #349) (paragraph (:begin 3600 :end 3720 :contents-begin 3600 :contents-end 3719 :post-blank 1 :post-affiliated 3600 :mode planning :granularity nil :parent #352) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 3720 :end 3825 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 3720 :mode nil :granularity nil :parent #352)) (paragraph (:begin 3825 :end 3876 :contents-begin 3825 :contents-end 3875 :post-blank 1 :post-affiliated 3825 :mode nil :granularity nil :parent #352) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #357))) (paragraph (:begin 3876 :end 4137 :contents-begin 3876 :contents-end 4136 :post-blank 1 :post-affiliated 3876 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #358)) (subscript (:begin 3883 :end 3888 :use-brackets-p nil :contents-begin 3884 :contents-end 3887 :post-blank 1 :parent #358) #("src" 0 3 (:parent #362))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 3960 :end 4010 :contents-begin nil :contents-end nil :post-blank 0 :parent #358)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 4052 :end 4088 :contents-begin nil :contents-end nil :post-blank 1 :parent #358)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #358)) (subscript (:begin 4126 :end 4131 :use-brackets-p nil :contents-begin 4127 :contents-end 4130 :post-blank 1 :parent #358) #("src" 0 3 (:parent #368))) #("bash\n" 0 5 (:parent #358))) (paragraph (:begin 4137 :end 4175 :contents-begin 4137 :contents-end 4174 :post-blank 1 :post-affiliated 4137 :mode nil :granularity nil :parent #352) #("To test whether this is working try:\n" 0 37 (:parent #359))) (paragraph (:begin 4175 :end 4207 :contents-begin 4175 :contents-end 4207 :post-blank 0 :post-affiliated 4175 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 4182 :end 4187 :use-brackets-p nil :contents-begin 4183 :contents-end 4186 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\n#+end" 0 10 (:parent #360)) (subscript (:begin 4197 :end 4202 :use-brackets-p nil :contents-begin 4198 :contents-end 4201 :post-blank 1 :parent #360) #("src" 0 3 (:parent #366))) #("bash\n" 0 5 (:parent #360))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 4208 :end 4659 :pre-blank 1 :contents-begin 4249 :contents-end 4658 :robust-begin 4251 :robust-end 4656 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4208 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #350))) :mode nil :granularity nil :parent #344) (section (:begin 4249 :end 4659 :contents-begin 4249 :contents-end 4658 :robust-begin 4249 :robust-end 4656 :post-blank 1 :post-affiliated 4249 :mode section :granularity nil :parent #350) (paragraph (:begin 4249 :end 4349 :contents-begin 4249 :contents-end 4348 :post-blank 1 :post-affiliated 4249 :mode planning :granularity nil :parent #353) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #356))) (src-block (:language "scheme" :switches nil :parameters nil :begin 4349 :end 4493 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 4349 :mode nil :granularity nil :parent #353)) (paragraph (:begin 4493 :end 4525 :contents-begin 4493 :contents-end 4524 :post-blank 1 :post-affiliated 4493 :mode nil :granularity nil :parent #353) #("by pasting it into the command\n" 0 31 (:parent #358))) (src-block (:language "bash" :switches nil :parameters nil :begin 4525 :end 4578 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 4525 :mode nil :granularity nil :parent #353)) (paragraph (:begin 4578 :end 4595 :contents-begin 4578 :contents-end 4594 :post-blank 1 :post-affiliated 4578 :mode nil :granularity nil :parent #353) #("and hit Ctrl-D.\n" 0 16 (:parent #360))) (paragraph (:begin 4595 :end 4658 :contents-begin 4595 :contents-end 4658 :post-blank 0 :post-affiliated 4595 :mode nil :granularity nil :parent #353) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #361))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 4659 :end 6537 :pre-blank 1 :contents-begin 4691 :contents-end 6536 :robust-begin 4693 :robust-end 6534 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4659 :title (#("Step 4: Install and run GN2" 0 27 (:parent #351))) :mode nil :granularity nil :parent #344) (section (:begin 4691 :end 6537 :contents-begin 4691 :contents-end 6536 :robust-begin 4691 :robust-end 6534 :post-blank 1 :post-affiliated 4691 :mode section :granularity nil :parent #351) (paragraph (:begin 4691 :end 4831 :contents-begin 4691 :contents-end 4830 :post-blank 1 :post-affiliated 4691 :mode planning :granularity nil :parent #354) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #357))) (src-block (:language "bash" :switches nil :parameters nil :begin 4831 :end 4950 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 4831 :mode nil :granularity nil :parent #354)) (paragraph (:begin 4950 :end 5003 :contents-begin 4950 :contents-end 5002 :post-blank 1 :post-affiliated 4950 :mode nil :granularity nil :parent #354) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #359))) (src-block (:language "bash" :switches nil :parameters nil :begin 5003 :end 5193 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 5003 :mode nil :granularity nil :parent #354)) (paragraph (:begin 5193 :end 5302 :contents-begin 5193 :contents-end 5301 :post-blank 1 :post-affiliated 5193 :mode nil :granularity nil :parent #354) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #361)) (italic (:begin 5264 :end 5270 :post-blank 0 :contents-begin 5265 :contents-end 5269 :parent #361) #("root" 0 4 (:parent #365))) #(".config/guix/latest override).\n" 0 31 (:parent #361))) (paragraph (:begin 5302 :end 5320 :contents-begin 5302 :contents-end 5319 :post-blank 1 :post-affiliated 5302 :mode nil :granularity nil :parent #354) #("And install with\n" 0 17 (:parent #362))) (src-block (:language "bash" :switches nil :parameters nil :begin 5320 :end 5490 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 5320 :mode nil :granularity nil :parent #354)) (paragraph (:begin 5490 :end 5633 :contents-begin 5490 :contents-end 5632 :post-blank 1 :post-affiliated 5490 :mode nil :granularity nil :parent #354) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #364))) (paragraph (:begin 5633 :end 5829 :contents-begin 5633 :contents-end 5828 :post-blank 1 :post-affiliated 5633 :mode nil :granularity nil :parent #354) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #365))) (paragraph (:begin 5829 :end 5960 :contents-begin 5829 :contents-end 5959 :post-blank 1 :post-affiliated 5829 :mode nil :granularity nil :parent #354) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #366))) (src-block (:language "bash" :switches nil :parameters nil :begin 5960 :end 6139 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python3.8/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 5960 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6139 :end 6208 :contents-begin 6139 :contents-end 6207 :post-blank 1 :post-affiliated 6139 :mode nil :granularity nil :parent #354) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #368))) (src-block (:language "bash" :switches nil :parameters nil :begin 6208 :end 6249 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 6208 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6249 :end 6500 :contents-begin 6249 :contents-end 6499 :post-blank 1 :post-affiliated 6249 :mode nil :granularity nil :parent #354) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #370)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 6471 :end 6497 :contents-begin nil :contents-end nil :post-blank 0 :parent #370)) #(".\n" 0 2 (:parent #370))) (paragraph (:begin 6500 :end 6536 :contents-begin 6500 :contents-end 6536 :post-blank 0 :post-affiliated 6500 :mode nil :granularity nil :parent #354) #("End of the GN2 installation recipe!\n" 0 36 (:parent #371)))))) (headline (:raw-value "From source deployment" :begin 6537 :end 7800 :pre-blank 1 :contents-begin 6563 :contents-end 7799 :robust-begin 6565 :robust-end 7797 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 6537 :title (#("From source deployment" 0 22 (:parent #345))) :mode nil :granularity nil :parent #338) (section (:begin 6563 :end 7800 :contents-begin 6563 :contents-end 7799 :robust-begin 6563 :robust-end 7797 :post-blank 1 :post-affiliated 6563 :mode section :granularity nil :parent #345) (paragraph (:begin 6563 :end 6744 :contents-begin 6563 :contents-end 6743 :post-blank 1 :post-affiliated 6563 :mode planning :granularity nil :parent #348) #("GNU Guix allows for " 0 20 (:parent #351)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/REPRODUCIBLE.org" :application nil :search-option nil :begin 6583 :end 6678 :contents-begin 6652 :contents-end 6675 :post-blank 1 :parent #351) #("reproducible deployment" 0 23 (:parent #355))) #("based on a checked out\nGuix repository - use gn-stable for that:\n" 0 65 (:parent #351))) (src-block (:language "sh" :switches nil :parameters nil :begin 6744 :end 6939 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "mkdir genenetwork\ncd genenetwork\ngit checkout https://github.com/genenetwork/guix.git gn-stable-guix\ngit checkout https://github.com/genenetwork/guix-bioinformatics.git\n" :post-blank 1 :post-affiliated 6744 :mode nil :granularity nil :parent #348)) (paragraph (:begin 6939 :end 7115 :contents-begin 6939 :contents-end 7114 :post-blank 1 :post-affiliated 6939 :mode nil :granularity nil :parent #348) #("Next build guix (and run) following the instructions in " 0 56 (:parent #353)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 6995 :end 7112 :contents-begin 7100 :contents-end 7110 :post-blank 0 :parent #353) #("guix-notes" 0 10 (:parent #357))) #(".\n" 0 2 (:parent #353))) (paragraph (:begin 7115 :end 7179 :contents-begin 7115 :contents-end 7178 :post-blank 1 :post-affiliated 7115 :mode nil :granularity nil :parent #348) #("Once that is done we can add the guix-bioinformatics path with\n" 0 63 (:parent #354))) (fixed-width (:begin 7179 :end 7235 :value "env GUIX_PACKAGE_PATH=../guix-bioinformatics command" :post-blank 2 :post-affiliated 7179 :mode nil :granularity nil :parent #348)) (paragraph (:begin 7235 :end 7239 :contents-begin 7235 :contents-end 7238 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #348) #("So\n" 0 3 (:parent #356))) (paragraph (:begin 7239 :end 7626 :contents-begin 7239 :contents-end 7625 :post-blank 1 :post-affiliated 7239 :mode nil :granularity nil :parent #348) #("#+begin" 0 7 (:parent #357)) (subscript (:begin 7246 :end 7251 :use-brackets-p nil :contents-begin 7247 :contents-end 7250 :post-blank 1 :parent #357) #("src" 0 3 (:parent #361))) #("sh :lang bash\n#+begin" 0 23 (:parent #357)) (subscript (:begin 7274 :end 7279 :use-brackets-p nil :contents-begin 7275 :contents-end 7278 :post-blank 1 :parent #357) #("src" 0 3 (:parent #363))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #357)) (subscript (:begin 7319 :end 7327 :use-brackets-p nil :contents-begin 7320 :contents-end 7327 :post-blank 0 :parent #357) #("PACKAGE" 0 7 (:parent #365))) (subscript (:begin 7327 :end 7332 :use-brackets-p nil :contents-begin 7328 :contents-end 7332 :post-blank 0 :parent #357) #("PATH" 0 4 (:parent #366))) #("=../guix-bioinformatics ./pre-inst-env guix package -A genenetwork\ngenenetwork1 1.0-d622c803b out ../guix-bioinformatics/gn/packages/bioinformatics.scm:163:2\ngenenetwork2 2.0-9e9475053 out ../guix-bioinformatics/gn/packages/bioinformatics.scm:215:2\n#+end" 0 272 (:parent #357)) (subscript (:begin 7604 :end 7609 :use-brackets-p nil :contents-begin 7605 :contents-end 7608 :post-blank 1 :parent #357) #("src" 0 3 (:parent #368))) #("sh :lang bash\n" 0 16 (:parent #357))) (paragraph (:begin 7626 :end 7640 :contents-begin 7626 :contents-end 7639 :post-blank 1 :post-affiliated 7626 :mode nil :granularity nil :parent #348) #("Install with\n" 0 13 (:parent #358))) (paragraph (:begin 7640 :end 7799 :contents-begin 7640 :contents-end 7799 :post-blank 0 :post-affiliated 7640 :mode nil :granularity nil :parent #348) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 7647 :end 7652 :use-brackets-p nil :contents-begin 7648 :contents-end 7651 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("sh :lang bash\ngn-stable-guix$ env GUIX" 0 40 (:parent #359)) (subscript (:begin 7692 :end 7700 :use-brackets-p nil :contents-begin 7693 :contents-end 7700 :post-blank 0 :parent #359) #("PACKAGE" 0 7 (:parent #365))) (subscript (:begin 7700 :end 7705 :use-brackets-p nil :contents-begin 7701 :contents-end 7705 :post-blank 0 :parent #359) #("PATH" 0 4 (:parent #366))) #("=../guix-bioinformatics ./pre-inst-env guix package -i genenetwork2\n#+end" 0 73 (:parent #359)) (subscript (:begin 7778 :end 7783 :use-brackets-p nil :contents-begin 7779 :contents-end 7782 :post-blank 1 :parent #359) #("src" 0 3 (:parent #368))) #("sh :lang bash\n" 0 16 (:parent #359))))) (headline (:raw-value "Create archive" :begin 7800 :end 7965 :pre-blank 1 :contents-begin 7818 :contents-end 7963 :robust-begin 7820 :robust-end 7961 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7800 :title (#("Create archive" 0 14 (:parent #346))) :mode nil :granularity nil :parent #338) (section (:begin 7818 :end 7965 :contents-begin 7818 :contents-end 7963 :robust-begin 7818 :robust-end 7961 :post-blank 2 :post-affiliated 7818 :mode section :granularity nil :parent #346) (fixed-width (:begin 7818 :end 7963 :value "env GUIX_PACKAGE_PATH=../../genenetwork/guix-bioinformatics/ ./pre-inst-env guix archive --export -r genenetwork2 > guix_gn2-2.0-9e9475053.nar" :post-blank 1 :post-affiliated 7818 :mode planning :granularity nil :parent #349)))) (headline (:raw-value "Source deployment" :begin 7965 :end 11633 :pre-blank 1 :contents-begin 7986 :contents-end 11632 :robust-begin 7988 :robust-end 11630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7965 :title (#("Source deployment" 0 17 (:parent #347))) :mode nil :granularity nil :parent #338) (section (:begin 7986 :end 8405 :contents-begin 7986 :contents-end 8403 :robust-begin 7986 :robust-end 8401 :post-blank 2 :post-affiliated 7986 :mode section :granularity nil :parent #347) (paragraph (:begin 7986 :end 8067 :contents-begin 7986 :contents-end 8066 :post-blank 1 :post-affiliated 7986 :mode planning :granularity nil :parent #350) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #353))) (paragraph (:begin 8067 :end 8097 :contents-begin 8067 :contents-end 8096 :post-blank 1 :post-affiliated 8067 :mode nil :granularity nil :parent #350) #("First execute above 4 steps:\n" 0 29 (:parent #354))) (plain-list (:type unordered :begin 8097 :end 8403 :contents-begin 8097 :contents-end 8403 :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :post-blank 0 :post-affiliated 8097 :mode nil :granularity nil :parent #350) (item (:bullet "- " :begin 8097 :end 8157 :contents-begin 8102 :contents-end 8157 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8097 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8102 :end 8157 :contents-begin 8102 :contents-end 8157 :post-blank 0 :post-affiliated 8102 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 8102 :end 8156 :contents-begin 8130 :contents-end 8154 :post-blank 0 :parent #361) #("Step 1: Install GNU Guix" 0 24 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:bullet "- " :begin 8157 :end 8251 :contents-begin 8162 :contents-end 8251 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8157 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8162 :end 8251 :contents-begin 8162 :contents-end 8251 :post-blank 0 :post-affiliated 8162 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 8162 :end 8250 :contents-begin 8207 :contents-end 8248 :post-blank 0 :parent #362) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 8251 :end 8335 :contents-begin 8256 :contents-end 8335 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8251 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8256 :end 8335 :contents-begin 8256 :contents-end 8335 :post-blank 0 :post-affiliated 8256 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 8256 :end 8334 :contents-begin 8296 :contents-end 8332 :post-blank 0 :parent #363) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 8335 :end 8403 :contents-begin 8340 :contents-end 8403 :checkbox nil :counter nil :structure ((8097 3 "- " nil nil nil 8157) (8157 3 "- " nil nil nil 8251) (8251 3 "- " nil nil nil 8335) (8335 3 "- " nil nil nil 8403)) :pre-blank 0 :post-blank 0 :post-affiliated 8335 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 8340 :end 8403 :contents-begin 8340 :contents-end 8403 :post-blank 0 :post-affiliated 8340 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 8340 :end 8402 :contents-begin 8372 :contents-end 8400 :post-blank 0 :parent #364) #("Step 4: Install and run GN2 " 0 28 (:parent #367))) #("\n" 0 1 (:parent #364)))))) (headline (:raw-value "Run your own copy of GN2" :begin 8405 :end 9515 :pre-blank 1 :contents-begin 8434 :contents-end 9514 :robust-begin 8436 :robust-end 9512 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 8405 :title (#("Run your own copy of GN2" 0 24 (:parent #351))) :mode nil :granularity nil :parent #347) (section (:begin 8434 :end 9515 :contents-begin 8434 :contents-end 9514 :robust-begin 8434 :robust-end 9512 :post-blank 1 :post-affiliated 8434 :mode section :granularity nil :parent #351) (paragraph (:begin 8434 :end 8632 :contents-begin 8434 :contents-end 8631 :post-blank 1 :post-affiliated 8434 :mode planning :granularity nil :parent #354) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #357)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 8586 :end 8629 :contents-begin nil :contents-end nil :post-blank 0 :parent #357)) #(".\n" 0 2 (:parent #357))) (paragraph (:begin 8632 :end 8757 :contents-begin 8632 :contents-end 8756 :post-blank 1 :post-affiliated 8632 :mode nil :granularity nil :parent #354) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #358)) (subscript (:begin 8689 :end 8695 :use-brackets-p nil :contents-begin 8690 :contents-end 8694 :post-blank 1 :parent #358) #("PATH" 0 4 (:parent #362))) #("and\nR" 0 5 (:parent #358)) (subscript (:begin 8700 :end 8705 :use-brackets-p nil :contents-begin 8701 :contents-end 8705 :post-blank 0 :parent #358) #("LIBS" 0 4 (:parent #364))) (subscript (:begin 8705 :end 8711 :use-brackets-p nil :contents-begin 8706 :contents-end 8710 :post-blank 1 :parent #358) #("SITE" 0 4 (:parent #365))) #("are set) from the information given by guix:\n" 0 45 (:parent #358))) (fixed-width (:begin 8757 :end 8788 :value "guix package --search-paths" :post-blank 2 :post-affiliated 8757 :mode nil :granularity nil :parent #354)) (paragraph (:begin 8788 :end 8812 :contents-begin 8788 :contents-end 8811 :post-blank 1 :post-affiliated 8788 :mode nil :granularity nil :parent #354) #("Inside the repository:\n" 0 23 (:parent #360))) (fixed-width (:begin 8812 :end 8852 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 8812 :mode nil :granularity nil :parent #354)) (paragraph (:begin 8852 :end 9096 :contents-begin 8852 :contents-end 9095 :post-blank 1 :post-affiliated 8852 :mode nil :granularity nil :parent #354) #("Will fire up your local repo " 0 29 (:parent #362)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 8881 :end 8904 :contents-begin nil :contents-end nil :post-blank 1 :parent #362)) #("using the\nsettings in ./etc/default" 0 35 (:parent #362)) (subscript (:begin 8939 :end 8951 :use-brackets-p nil :contents-begin 8940 :contents-end 8951 :post-blank 0 :parent #362) #("settings.py" 0 11 (:parent #368))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #362)) (subscript (:begin 9056 :end 9069 :use-brackets-p nil :contents-begin 9057 :contents-end 9068 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #370))) #("and pass it into GN2 with\n" 0 26 (:parent #362))) (fixed-width (:begin 9096 :end 9139 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 9096 :mode nil :granularity nil :parent #354)) (paragraph (:begin 9139 :end 9285 :contents-begin 9139 :contents-end 9284 :post-blank 1 :post-affiliated 9139 :mode nil :granularity nil :parent #354) #("and everything " 0 15 (:parent #364)) (bold (:begin 9154 :end 9163 :post-blank 1 :contents-begin 9155 :contents-end 9161 :parent #364) #("should" 0 6 (:parent #368))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #364))) (paragraph (:begin 9285 :end 9413 :contents-begin 9285 :contents-end 9412 :post-blank 1 :post-affiliated 9285 :mode nil :granularity nil :parent #354) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #365))) (fixed-width (:begin 9413 :end 9514 :value "cat ~/.guix-profile/lib/python3.8/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 9413 :mode nil :granularity nil :parent #354)))) (headline (:raw-value "Set up nginx port forwarding" :begin 9515 :end 11633 :pre-blank 1 :contents-begin 9548 :contents-end 11632 :robust-begin 9550 :robust-end 11630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9515 :title (#("Set up nginx port forwarding" 0 28 (:parent #352))) :mode nil :granularity nil :parent #347) (section (:begin 9548 :end 11633 :contents-begin 9548 :contents-end 11632 :robust-begin 9548 :robust-end 11630 :post-blank 1 :post-affiliated 9548 :mode section :granularity nil :parent #352) (paragraph (:begin 9548 :end 9716 :contents-begin 9548 :contents-end 9715 :post-blank 1 :post-affiliated 9548 :mode planning :granularity nil :parent #355) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #358))) (paragraph (:begin 9716 :end 9856 :contents-begin 9716 :contents-end 9855 :post-blank 1 :post-affiliated 9716 :mode nil :granularity nil :parent #355) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 9723 :end 9728 :use-brackets-p nil :contents-begin 9724 :contents-end 9727 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #359)) (subscript (:begin 9777 :end 9783 :use-brackets-p nil :contents-begin 9778 :contents-end 9782 :post-blank 1 :parent #359) #("name" 0 4 (:parent #365))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #359)) (subscript (:begin 9823 :end 9829 :use-brackets-p nil :contents-begin 9824 :contents-end 9827 :post-blank 2 :parent #359) #("log" 0 3 (:parent #367))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #359))) (paragraph (:begin 9856 :end 10025 :contents-begin 9856 :contents-end 10024 :post-blank 1 :post-affiliated 9856 :mode nil :granularity nil :parent #355) #(" proxy" 0 13 (:parent #360)) (subscript (:begin 9869 :end 9877 :use-brackets-p nil :contents-begin 9870 :contents-end 9877 :post-blank 0 :parent #360) #("connect" 0 7 (:parent #364))) (subscript (:begin 9877 :end 9892 :use-brackets-p nil :contents-begin 9878 :contents-end 9885 :post-blank 7 :parent #360) #("timeout" 0 7 (:parent #365))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 9911 :end 9916 :use-brackets-p nil :contents-begin 9912 :contents-end 9916 :post-blank 0 :parent #360) #("send" 0 4 (:parent #367))) (subscript (:begin 9916 :end 9934 :use-brackets-p nil :contents-begin 9917 :contents-end 9924 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #368))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 9953 :end 9958 :use-brackets-p nil :contents-begin 9954 :contents-end 9958 :post-blank 0 :parent #360) #("read" 0 4 (:parent #370))) (subscript (:begin 9958 :end 9976 :use-brackets-p nil :contents-begin 9959 :contents-end 9966 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #371))) #("3000;\n send" 0 18 (:parent #360)) (subscript (:begin 9994 :end 10018 :use-brackets-p nil :contents-begin 9995 :contents-end 10002 :post-blank 16 :parent #360) #("timeout" 0 7 (:parent #373))) #("3000;\n" 0 6 (:parent #360))) (paragraph (:begin 10025 :end 10425 :contents-begin 10025 :contents-end 10424 :post-blank 1 :post-affiliated 10025 :mode nil :granularity nil :parent #355) #(" location / {\n proxy" 0 38 (:parent #361)) (subscript (:begin 10063 :end 10067 :use-brackets-p nil :contents-begin 10064 :contents-end 10067 :post-blank 0 :parent #361) #("set" 0 3 (:parent #365))) (subscript (:begin 10067 :end 10077 :use-brackets-p nil :contents-begin 10068 :contents-end 10074 :post-blank 3 :parent #361) #("header" 0 6 (:parent #366))) #("Host $http" 0 15 (:parent #361)) (subscript (:begin 10092 :end 10097 :use-brackets-p nil :contents-begin 10093 :contents-end 10097 :post-blank 0 :parent #361) #("host" 0 4 (:parent #368))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10116 :end 10120 :use-brackets-p nil :contents-begin 10117 :contents-end 10120 :post-blank 0 :parent #361) #("set" 0 3 (:parent #370))) (subscript (:begin 10120 :end 10130 :use-brackets-p nil :contents-begin 10121 :contents-end 10127 :post-blank 3 :parent #361) #("header" 0 6 (:parent #371))) #("Connection keep-alive;\n proxy" 0 40 (:parent #361)) (subscript (:begin 10170 :end 10174 :use-brackets-p nil :contents-begin 10171 :contents-end 10174 :post-blank 0 :parent #361) #("set" 0 3 (:parent #373))) (subscript (:begin 10174 :end 10184 :use-brackets-p nil :contents-begin 10175 :contents-end 10181 :post-blank 3 :parent #361) #("header" 0 6 (:parent #374))) #("X-Real-IP $remote" 0 17 (:parent #361)) (subscript (:begin 10201 :end 10206 :use-brackets-p nil :contents-begin 10202 :contents-end 10206 :post-blank 0 :parent #361) #("addr" 0 4 (:parent #376))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10225 :end 10229 :use-brackets-p nil :contents-begin 10226 :contents-end 10229 :post-blank 0 :parent #361) #("set" 0 3 (:parent #378))) (subscript (:begin 10229 :end 10239 :use-brackets-p nil :contents-begin 10230 :contents-end 10236 :post-blank 3 :parent #361) #("header" 0 6 (:parent #379))) #("X-Forwarded-For $proxy" 0 22 (:parent #361)) (subscript (:begin 10261 :end 10265 :use-brackets-p nil :contents-begin 10262 :contents-end 10265 :post-blank 0 :parent #361) #("add" 0 3 (:parent #381))) (subscript (:begin 10265 :end 10267 :use-brackets-p nil :contents-begin 10266 :contents-end 10267 :post-blank 0 :parent #361) #("x" 0 1 (:parent #382))) (subscript (:begin 10267 :end 10277 :use-brackets-p nil :contents-begin 10268 :contents-end 10277 :post-blank 0 :parent #361) #("forwarded" 0 9 (:parent #383))) (subscript (:begin 10277 :end 10281 :use-brackets-p nil :contents-begin 10278 :contents-end 10281 :post-blank 0 :parent #361) #("for" 0 3 (:parent #384))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10300 :end 10304 :use-brackets-p nil :contents-begin 10301 :contents-end 10304 :post-blank 0 :parent #361) #("set" 0 3 (:parent #386))) (subscript (:begin 10304 :end 10314 :use-brackets-p nil :contents-begin 10305 :contents-end 10311 :post-blank 3 :parent #361) #("header" 0 6 (:parent #387))) #("X-Forwarded-Host $server" 0 24 (:parent #361)) (subscript (:begin 10338 :end 10343 :use-brackets-p nil :contents-begin 10339 :contents-end 10343 :post-blank 0 :parent #361) #("name" 0 4 (:parent #389))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 10362 :end 10376 :use-brackets-p nil :contents-begin 10363 :contents-end 10367 :post-blank 9 :parent #361) #("pass" 0 4 (:parent #391))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 10376 :end 10397 :contents-begin nil :contents-end nil :post-blank 0 :parent #361)) #(";\n }\n}\n#+end" 0 19 (:parent #361)) (subscript (:begin 10416 :end 10421 :use-brackets-p nil :contents-begin 10417 :contents-end 10420 :post-blank 1 :parent #361) #("src" 0 3 (:parent #394))) #("js\n" 0 3 (:parent #361))) (paragraph (:begin 10425 :end 10464 :contents-begin 10425 :contents-end 10463 :post-blank 1 :post-affiliated 10425 :mode nil :granularity nil :parent #355) #("Install the nginx webserver (as root)\n" 0 38 (:parent #362))) (fixed-width (:begin 10464 :end 10489 :value "guix package -i nginx" :post-blank 2 :post-affiliated 10464 :mode nil :granularity nil :parent #355)) (paragraph (:begin 10489 :end 10570 :contents-begin 10489 :contents-end 10569 :post-blank 1 :post-affiliated 10489 :mode nil :granularity nil :parent #355) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #364))) (fixed-width (:begin 10570 :end 10757 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 10570 :mode nil :granularity nil :parent #355)) (paragraph (:begin 10757 :end 10772 :contents-begin 10757 :contents-end 10771 :post-blank 1 :post-affiliated 10757 :mode nil :granularity nil :parent #355) #("Use that path\n" 0 14 (:parent #366))) (fixed-width (:begin 10772 :end 11166 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 10772 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11166 :end 11392 :contents-begin 11166 :contents-end 11392 :post-blank 0 :post-affiliated 11166 :mode nil :granularity nil :parent #355) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #368))) (fixed-width (:begin 11392 :end 11439 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 11392 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11439 :end 11450 :contents-begin 11439 :contents-end 11449 :post-blank 1 :post-affiliated 11439 :mode nil :granularity nil :parent #355) #("Make dirs\n" 0 10 (:parent #370))) (fixed-width (:begin 11450 :end 11484 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 11450 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11484 :end 11495 :contents-begin 11484 :contents-end 11494 :post-blank 1 :post-affiliated 11484 :mode nil :granularity nil :parent #355) #("Add users\n" 0 10 (:parent #372))) (fixed-width (:begin 11495 :end 11531 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 11495 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11531 :end 11542 :contents-begin 11531 :contents-end 11541 :post-blank 1 :post-affiliated 11531 :mode nil :granularity nil :parent #355) #("Run nginx\n" 0 10 (:parent #374))) (fixed-width (:begin 11542 :end 11632 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 11542 :mode nil :granularity nil :parent #355))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 11633 :end 13382 :pre-blank 1 :contents-begin 11695 :contents-end 13381 :robust-begin 11697 :robust-end 13379 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11633 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #348))) :mode nil :granularity nil :parent #338) (section (:begin 11695 :end 11752 :contents-begin 11695 :contents-end 11751 :robust-begin 11695 :robust-end 11749 :post-blank 1 :post-affiliated 11695 :mode section :granularity nil :parent #348) (paragraph (:begin 11695 :end 11751 :contents-begin 11695 :contents-end 11751 :post-blank 0 :post-affiliated 11695 :mode planning :granularity nil :parent #351) #("See the document " 0 17 (:parent #354)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 11712 :end 11749 :contents-begin nil :contents-end nil :post-blank 0 :parent #354)) #(".\n" 0 2 (:parent #354)))) (headline (:raw-value "Update to recent guix" :begin 11752 :end 12202 :pre-blank 1 :contents-begin 11778 :contents-end 12201 :robust-begin 11780 :robust-end 12199 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 11752 :title (#("Update to recent guix" 0 21 (:parent #352))) :mode nil :granularity nil :parent #348) (section (:begin 11778 :end 12202 :contents-begin 11778 :contents-end 12201 :robust-begin 11778 :robust-end 12199 :post-blank 1 :post-affiliated 11778 :mode section :granularity nil :parent #352) (paragraph (:begin 11778 :end 11813 :contents-begin 11778 :contents-end 11812 :post-blank 1 :post-affiliated 11778 :mode planning :granularity nil :parent #355) #("We now compile Guix from scratch.\n" 0 34 (:parent #358))) (paragraph (:begin 11813 :end 12088 :contents-begin 11813 :contents-end 12087 :post-blank 1 :post-affiliated 11813 :mode nil :granularity nil :parent #355) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #359)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 11952 :end 12065 :contents-begin 12057 :contents-end 12062 :post-blank 1 :parent #359) #("these" 0 5 (:parent #363))) #("steps carefully after\n" 0 22 (:parent #359))) (fixed-width (:begin 12088 :end 12123 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 12088 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12123 :end 12201 :contents-begin 12123 :contents-end 12201 :post-blank 0 :post-affiliated 12123 :mode nil :granularity nil :parent #355) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #361))))) (headline (:raw-value "Install GN2" :begin 12202 :end 12595 :pre-blank 1 :contents-begin 12218 :contents-end 12594 :robust-begin 12220 :robust-end 12592 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12202 :title (#("Install GN2" 0 11 (:parent #353))) :mode nil :granularity nil :parent #348) (section (:begin 12218 :end 12595 :contents-begin 12218 :contents-end 12594 :robust-begin 12218 :robust-end 12592 :post-blank 1 :post-affiliated 12218 :mode section :granularity nil :parent #353) (paragraph (:begin 12218 :end 12261 :contents-begin 12218 :contents-end 12260 :post-blank 1 :post-affiliated 12218 :mode planning :granularity nil :parent #356) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #359))) (paragraph (:begin 12261 :end 12469 :contents-begin 12261 :contents-end 12468 :post-blank 1 :post-affiliated 12261 :mode nil :granularity nil :parent #356) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 12268 :end 12273 :use-brackets-p nil :contents-begin 12269 :contents-end 12272 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\nenv GUIX" 0 13 (:parent #360)) (subscript (:begin 12286 :end 12294 :use-brackets-p nil :contents-begin 12287 :contents-end 12294 :post-blank 0 :parent #360) #("PACKAGE" 0 7 (:parent #366))) (subscript (:begin 12294 :end 12299 :use-brackets-p nil :contents-begin 12295 :contents-end 12299 :post-blank 0 :parent #360) #("PATH" 0 4 (:parent #367))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #360)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 12398 :end 12426 :contents-begin nil :contents-end nil :post-blank 1 :parent #360)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 12426 :end 12451 :contents-begin nil :contents-end nil :post-blank 0 :parent #360)) #("\"\n#+end" 0 7 (:parent #360)) (subscript (:begin 12458 :end 12463 :use-brackets-p nil :contents-begin 12459 :contents-end 12462 :post-blank 1 :parent #360) #("src" 0 3 (:parent #372))) #("bash\n" 0 5 (:parent #360))) (paragraph (:begin 12469 :end 12507 :contents-begin 12469 :contents-end 12506 :post-blank 1 :post-affiliated 12469 :mode nil :granularity nil :parent #356) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #361))) (paragraph (:begin 12507 :end 12594 :contents-begin 12507 :contents-end 12594 :post-blank 0 :post-affiliated 12507 :mode nil :granularity nil :parent #356) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #362))))) (headline (:raw-value "Run GN2" :begin 12595 :end 13382 :pre-blank 1 :contents-begin 12607 :contents-end 13381 :robust-begin 12609 :robust-end 13379 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12595 :title (#("Run GN2" 0 7 (:parent #354))) :mode nil :granularity nil :parent #348) (section (:begin 12607 :end 13382 :contents-begin 12607 :contents-end 13381 :robust-begin 12607 :robust-end 13379 :post-blank 1 :post-affiliated 12607 :mode section :granularity nil :parent #354) (paragraph (:begin 12607 :end 12638 :contents-begin 12607 :contents-end 12637 :post-blank 1 :post-affiliated 12607 :mode planning :granularity nil :parent #357) #("Make a note of the paths with\n" 0 30 (:parent #360))) (paragraph (:begin 12638 :end 12714 :contents-begin 12638 :contents-end 12713 :post-blank 1 :post-affiliated 12638 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #361)) (subscript (:begin 12645 :end 12650 :use-brackets-p nil :contents-begin 12646 :contents-end 12649 :post-blank 1 :parent #361) #("src" 0 3 (:parent #365))) #("bash\n./pre-inst-env guix package --search-paths\n#+end" 0 53 (:parent #361)) (subscript (:begin 12703 :end 12708 :use-brackets-p nil :contents-begin 12704 :contents-end 12707 :post-blank 1 :parent #361) #("src" 0 3 (:parent #367))) #("bash\n" 0 5 (:parent #361))) (paragraph (:begin 12714 :end 12761 :contents-begin 12714 :contents-end 12760 :post-blank 1 :post-affiliated 12714 :mode nil :granularity nil :parent #357) #("or this should also work if guix is installed\n" 0 46 (:parent #362))) (paragraph (:begin 12761 :end 12822 :contents-begin 12761 :contents-end 12821 :post-blank 1 :post-affiliated 12761 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #363)) (subscript (:begin 12768 :end 12773 :use-brackets-p nil :contents-begin 12769 :contents-end 12772 :post-blank 1 :parent #363) #("src" 0 3 (:parent #367))) #("bash\nguix package --search-paths\n#+end" 0 38 (:parent #363)) (subscript (:begin 12811 :end 12816 :use-brackets-p nil :contents-begin 12812 :contents-end 12815 :post-blank 1 :parent #363) #("src" 0 3 (:parent #369))) #("bash\n" 0 5 (:parent #363))) (paragraph (:begin 12822 :end 12862 :contents-begin 12822 :contents-end 12861 :post-blank 1 :post-affiliated 12822 :mode nil :granularity nil :parent #357) #("After setting the paths for the server\n" 0 39 (:parent #364))) (paragraph (:begin 12862 :end 13290 :contents-begin 12862 :contents-end 13289 :post-blank 1 :post-affiliated 12862 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #365)) (subscript (:begin 12869 :end 12874 :use-brackets-p nil :contents-begin 12870 :contents-end 12873 :post-blank 1 :parent #365) #("src" 0 3 (:parent #369))) #("bash\nexport PATH=~/.guix-profile/bin:$PATH\nexport PYTHONPATH=\"$HOME/.guix-profile/lib/python3.8/site-packages\"\nexport R" 0 119 (:parent #365)) (subscript (:begin 12993 :end 12998 :use-brackets-p nil :contents-begin 12994 :contents-end 12998 :post-blank 0 :parent #365) #("LIBS" 0 4 (:parent #371))) (subscript (:begin 12998 :end 13003 :use-brackets-p nil :contents-begin 12999 :contents-end 13003 :post-blank 0 :parent #365) #("SITE" 0 4 (:parent #372))) #("=\"$HOME/.guix-profile/site-library/\"\nexport GUIX" 0 48 (:parent #365)) (subscript (:begin 13051 :end 13056 :use-brackets-p nil :contents-begin 13052 :contents-end 13056 :post-blank 0 :parent #365) #("GTK3" 0 4 (:parent #374))) (subscript (:begin 13056 :end 13061 :use-brackets-p nil :contents-begin 13057 :contents-end 13061 :post-blank 0 :parent #365) #("PATH" 0 4 (:parent #375))) #("=\"$HOME/.guix-profile/lib/gtk-3.0\"\nexport GI" 0 44 (:parent #365)) (subscript (:begin 13105 :end 13113 :use-brackets-p nil :contents-begin 13106 :contents-end 13113 :post-blank 0 :parent #365) #("TYPELIB" 0 7 (:parent #377))) (subscript (:begin 13113 :end 13118 :use-brackets-p nil :contents-begin 13114 :contents-end 13118 :post-blank 0 :parent #365) #("PATH" 0 4 (:parent #378))) #("=\"$HOME/.guix-profile/lib/girepository-1.0\"\nexport XDG" 0 54 (:parent #365)) (subscript (:begin 13172 :end 13177 :use-brackets-p nil :contents-begin 13173 :contents-end 13177 :post-blank 0 :parent #365) #("DATA" 0 4 (:parent #380))) (subscript (:begin 13177 :end 13182 :use-brackets-p nil :contents-begin 13178 :contents-end 13182 :post-blank 0 :parent #365) #("DIRS" 0 4 (:parent #381))) #("=\"$HOME/.guix-profile/share\"\nexport GIO" 0 39 (:parent #365)) (subscript (:begin 13221 :end 13227 :use-brackets-p nil :contents-begin 13222 :contents-end 13227 :post-blank 0 :parent #365) #("EXTRA" 0 5 (:parent #383))) (subscript (:begin 13227 :end 13235 :use-brackets-p nil :contents-begin 13228 :contents-end 13235 :post-blank 0 :parent #365) #("MODULES" 0 7 (:parent #384))) #("=\"$HOME/.guix-profile/lib/gio/modules\"\n#+end" 0 44 (:parent #365)) (subscript (:begin 13279 :end 13284 :use-brackets-p nil :contents-begin 13280 :contents-end 13283 :post-blank 1 :parent #365) #("src" 0 3 (:parent #386))) #("bash\n" 0 5 (:parent #365))) (paragraph (:begin 13290 :end 13336 :contents-begin 13290 :contents-end 13335 :post-blank 1 :post-affiliated 13290 :mode nil :granularity nil :parent #357) #("run the main script (in ~/.guix-profile/bin)\n" 0 45 (:parent #366))) (paragraph (:begin 13336 :end 13381 :contents-begin 13336 :contents-end 13381 :post-blank 0 :post-affiliated 13336 :mode nil :granularity nil :parent #357) #("#+begin" 0 7 (:parent #367)) (subscript (:begin 13343 :end 13348 :use-brackets-p nil :contents-begin 13344 :contents-end 13347 :post-blank 1 :parent #367) #("src" 0 3 (:parent #371))) #("bash\ngenenetwork2\n#+end" 0 23 (:parent #367)) (subscript (:begin 13371 :end 13376 :use-brackets-p nil :contents-begin 13372 :contents-end 13375 :post-blank 1 :parent #367) #("src" 0 3 (:parent #373))) #("bash\n" 0 5 (:parent #367))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #))
org-export-as(html nil nil t nil)
org-export-to-buffer(html "*Org HTML Export*" nil nil nil t nil #f(compiled-function () #))
org-html-export-as-html(nil nil nil t)
(progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string)))
(unwind-protect (progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))
(let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
eval-buffer(# nil "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el" nil t)
#f(compiled-function (buffer file) #)(# "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el")
load-with-code-conversion("/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el" "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el" nil t #f(compiled-function (buffer file) #))
command-line--load-script("/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el")
command-line-1(("-scriptload" "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el"))
command-line()
normal-top-level()
\n
" :html-format-drawer-function #f(compiled-function (name contents) #%s:
\n\n%s\n
\nDate: %d
\n%c
\n%v
")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("%s
") (italic . "%s") (strike-through . "%s
")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "\n
" :html-format-drawer-function #f(compiled-function (name contents) #%s:
\n\n%s\n
\nDate: %d
\n%c
\n%v
")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("%s
") (italic . "%s") (strike-through . "%s
")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "\n
" :html-format-drawer-function #f(compiled-function (name contents) #%s:
\n\n%s\n
\nDate: %d
\n%c
\n%v
")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("%s
") (italic . "%s") (strike-through . "%s
")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "\n
" :html-format-drawer-function #f(compiled-function (name contents) #%s:
\n\n%s\n
\nDate: %d
\n%c
\n%v
")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("%s
") (italic . "%s") (strike-through . "%s
")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "\n
" :html-format-drawer-function #f(compiled-function (name contents) #%s:
\n\n%s\n
\nDate: %d
\n%c
\n%v
")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("%s
") (italic . "%s") (strike-through . "%s
")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "\n
" :html-format-drawer-function #f(compiled-function (name contents) #%s:
\n\n%s\n
\nDate: %d
\n%c
\n%v
")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("%s
") (italic . "%s") (strike-through . "%s
")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "\n
" :html-format-drawer-function #f(compiled-function (name contents) #%s:
\n\n%s\n
\nDate: %d
\n%c
\n%v
")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("%s
") (italic . "%s") (strike-through . "%s
")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "