summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am6
-rw-r--r--doc/guix.texi30
-rw-r--r--etc/guix-daemon.conf.in2
-rw-r--r--etc/guix-daemon.service.in4
-rwxr-xr-xetc/guix-install.sh21
-rw-r--r--etc/guix-publish.conf.in2
-rw-r--r--etc/guix-publish.service.in4
7 files changed, 37 insertions, 32 deletions
diff --git a/Makefile.am b/Makefile.am
index 70ec2e52ef2..69e66fad75d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -601,13 +601,11 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
601 --enable-daemon \ 601 --enable-daemon \
602 ac_cv_guix_test_root="$(GUIX_TEST_ROOT)" 602 ac_cv_guix_test_root="$(GUIX_TEST_ROOT)"
603 603
604# The self-contained tarball. Add 'glibc-utf8-locales' along with glibc just 604# The self-contained tarball.
605# so 'etc/profile' defines 'GUIX_LOCPATH' pointing to a valid set of locales.
606guix-binary.%.tar.xz: 605guix-binary.%.tar.xz:
607 $(AM_V_GEN)GUIX_PACKAGE_PATH= \ 606 $(AM_V_GEN)GUIX_PACKAGE_PATH= \
608 tarball=`$(top_builddir)/pre-inst-env guix pack -K -C xz \ 607 tarball=`$(top_builddir)/pre-inst-env guix pack -K -C xz \
609 -s "$*" --localstatedir guix glibc-utf8-locales \ 608 -s "$*" --localstatedir --profile-name=current-guix guix` ; \
610 -e '(@@ (gnu packages commencement) glibc-final)'` ; \
611 cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@" 609 cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@"
612 610
613 611
diff --git a/doc/guix.texi b/doc/guix.texi
index 594aca731a7..e783c163652 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -499,18 +499,20 @@ archive content is independent of its creation time, thus making it
499reproducible. 499reproducible.
500 500
501@item 501@item
502Make @code{root}'s profile available under @file{~root/.guix-profile}: 502Make the profile available under @file{~root/.config/guix/current}, which is
503where @command{guix pull} will install updates (@pxref{Invoking guix pull}):
503 504
504@example 505@example
505# ln -sf /var/guix/profiles/per-user/root/guix-profile \ 506# mkdir -p ~root/.config/guix
506 ~root/.guix-profile 507# ln -sf /var/guix/profiles/per-user/root/current-guix \
508 ~root/.config/guix/current
507@end example 509@end example
508 510
509Source @file{etc/profile} to augment @code{PATH} and other relevant 511Source @file{etc/profile} to augment @code{PATH} and other relevant
510environment variables: 512environment variables:
511 513
512@example 514@example
513# GUIX_PROFILE="`echo ~root`/.guix-profile" ; \ 515# GUIX_PROFILE="`echo ~root`/.config/guix/current" ; \
514 source $GUIX_PROFILE/etc/profile 516 source $GUIX_PROFILE/etc/profile
515@end example 517@end example
516 518
@@ -532,8 +534,8 @@ with these commands:
532@c http://lists.gnu.org/archive/html/guix-devel/2017-01/msg01199.html 534@c http://lists.gnu.org/archive/html/guix-devel/2017-01/msg01199.html
533 535
534@example 536@example
535# cp ~root/.guix-profile/lib/systemd/system/guix-daemon.service \ 537# cp ~root/.config/guix/current/lib/systemd/system/guix-daemon.service \
536 /etc/systemd/system/ 538 /etc/systemd/system/
537# systemctl start guix-daemon && systemctl enable guix-daemon 539# systemctl start guix-daemon && systemctl enable guix-daemon
538@end example 540@end example
539 541
@@ -541,14 +543,16 @@ If your host distro uses the Upstart init system:
541 543
542@example 544@example
543# initctl reload-configuration 545# initctl reload-configuration
544# cp ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/ 546# cp ~root/.config/guix/current/lib/upstart/system/guix-daemon.conf \
547 /etc/init/
545# start guix-daemon 548# start guix-daemon
546@end example 549@end example
547 550
548Otherwise, you can still start the daemon manually with: 551Otherwise, you can still start the daemon manually with:
549 552
550@example 553@example
551# ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild 554# ~root/.config/guix/current/bin/guix-daemon \
555 --build-users-group=guixbuild
552@end example 556@end example
553 557
554@item 558@item
@@ -558,7 +562,7 @@ for instance with:
558@example 562@example
559# mkdir -p /usr/local/bin 563# mkdir -p /usr/local/bin
560# cd /usr/local/bin 564# cd /usr/local/bin
561# ln -s /var/guix/profiles/per-user/root/guix-profile/bin/guix 565# ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix
562@end example 566@end example
563 567
564It is also a good idea to make the Info version of this manual available 568It is also a good idea to make the Info version of this manual available
@@ -567,7 +571,7 @@ there:
567@example 571@example
568# mkdir -p /usr/local/share/info 572# mkdir -p /usr/local/share/info
569# cd /usr/local/share/info 573# cd /usr/local/share/info
570# for i in /var/guix/profiles/per-user/root/guix-profile/share/info/* ; 574# for i in /var/guix/profiles/per-user/root/current-guix/share/info/* ;
571 do ln -s $i ; done 575 do ln -s $i ; done
572@end example 576@end example
573 577
@@ -582,7 +586,8 @@ To use substitutes from @code{hydra.gnu.org} or one of its mirrors
582(@pxref{Substitutes}), authorize them: 586(@pxref{Substitutes}), authorize them:
583 587
584@example 588@example
585# guix archive --authorize < ~root/.guix-profile/share/guix/hydra.gnu.org.pub 589# guix archive --authorize < \
590 ~root/.config/guix/current/share/guix/hydra.gnu.org.pub
586@end example 591@end example
587 592
588@item 593@item
@@ -616,7 +621,8 @@ make guix-binary.@var{system}.tar.xz
616... which, in turn, runs: 621... which, in turn, runs:
617 622
618@example 623@example
619guix pack -s @var{system} --localstatedir guix 624guix pack -s @var{system} --localstatedir \
625 --profile-name=current-guix guix
620@end example 626@end example
621 627
622@xref{Invoking guix pack}, for more info on this handy tool. 628@xref{Invoking guix pack}, for more info on this handy tool.
diff --git a/etc/guix-daemon.conf.in b/etc/guix-daemon.conf.in
index 74706055f8f..755192d5556 100644
--- a/etc/guix-daemon.conf.in
+++ b/etc/guix-daemon.conf.in
@@ -7,4 +7,4 @@ start on runlevel [2345]
7 7
8stop on runlevel [016] 8stop on runlevel [016]
9 9
10exec @localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild 10exec @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild
diff --git a/etc/guix-daemon.service.in b/etc/guix-daemon.service.in
index 988cf90c008..99ec7c48f8c 100644
--- a/etc/guix-daemon.service.in
+++ b/etc/guix-daemon.service.in
@@ -6,8 +6,8 @@
6Description=Build daemon for GNU Guix 6Description=Build daemon for GNU Guix
7 7
8[Service] 8[Service]
9ExecStart=@localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild 9ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild
10Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale 10Environment=GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale
11RemainAfterExit=yes 11RemainAfterExit=yes
12StandardOutput=syslog 12StandardOutput=syslog
13StandardError=syslog 13StandardError=syslog
diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index ca6874ba0f6..6a01e597237 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -269,12 +269,13 @@ sys_create_store()
269 fi 269 fi
270 270
271 _msg "${INF}Linking the root user's profile" 271 _msg "${INF}Linking the root user's profile"
272 ln -sf /var/guix/profiles/per-user/root/guix-profile \ 272 mkdir -p "${ROOT_HOME}/.config/guix"
273 "${ROOT_HOME}/.guix-profile" 273 ln -sf /var/guix/profiles/per-user/root/current-guix \
274 "${ROOT_HOME}/.config/guix/current"
274 275
275 GUIX_PROFILE="${ROOT_HOME}/.guix-profile" 276 GUIX_PROFILE="${ROOT_HOME}/.config/guix/current"
276 source "${GUIX_PROFILE}/etc/profile" 277 source "${GUIX_PROFILE}/etc/profile"
277 _msg "${PAS}activated root profile at /root/.guix-profile" 278 _msg "${PAS}activated root profile at ${ROOT_HOME}/.config/guix/current"
278} 279}
279 280
280sys_create_build_user() 281sys_create_build_user()
@@ -317,18 +318,18 @@ sys_enable_guix_daemon()
317 318
318 info_path="/usr/local/share/info" 319 info_path="/usr/local/share/info"
319 local_bin="/usr/local/bin" 320 local_bin="/usr/local/bin"
320 var_guix="/var/guix/profiles/per-user/root/guix-profile" 321 var_guix="/var/guix/profiles/per-user/root/current-guix"
321 322
322 case "$INIT_SYS" in 323 case "$INIT_SYS" in
323 upstart) 324 upstart)
324 { initctl reload-configuration; 325 { initctl reload-configuration;
325 cp "${ROOT_HOME}/.guix-profile/lib/upstart/system/guix-daemon.conf" \ 326 cp "${ROOT_HOME}/.config/guix/current/lib/upstart/system/guix-daemon.conf" \
326 /etc/init/ && 327 /etc/init/ &&
327 start guix-daemon; } && 328 start guix-daemon; } &&
328 _msg "${PAS}enabled Guix daemon via upstart" 329 _msg "${PAS}enabled Guix daemon via upstart"
329 ;; 330 ;;
330 systemd) 331 systemd)
331 { cp "${ROOT_HOME}/.guix-profile/lib/systemd/system/guix-daemon.service" \ 332 { cp "${ROOT_HOME}/.config/guix/current/lib/systemd/system/guix-daemon.service" \
332 /etc/systemd/system/; 333 /etc/systemd/system/;
333 chmod 664 /etc/systemd/system/guix-daemon.service; 334 chmod 664 /etc/systemd/system/guix-daemon.service;
334 systemctl daemon-reload && 335 systemctl daemon-reload &&
@@ -338,7 +339,7 @@ sys_enable_guix_daemon()
338 ;; 339 ;;
339 NA|*) 340 NA|*)
340 _msg "${ERR}unsupported init system; run the daemon manually:" 341 _msg "${ERR}unsupported init system; run the daemon manually:"
341 echo " ${ROOT_HOME}/.guix-profile/bin/guix-daemon --build-users-group=guixbuild" 342 echo " ${ROOT_HOME}/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild"
342 ;; 343 ;;
343 esac 344 esac
344 345
@@ -358,9 +359,9 @@ sys_authorize_build_farms()
358 while true; do 359 while true; do
359 read -p "Permit downloading pre-built package binaries from the project's build farms? (yes/no) " yn 360 read -p "Permit downloading pre-built package binaries from the project's build farms? (yes/no) " yn
360 case $yn in 361 case $yn in
361 [Yy]*) guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/hydra.gnu.org.pub" && 362 [Yy]*) guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/hydra.gnu.org.pub" &&
362 _msg "${PAS}Authorized public key for hydra.gnu.org"; 363 _msg "${PAS}Authorized public key for hydra.gnu.org";
363 guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/berlin.guixsd.org.pub" && 364 guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/berlin.guixsd.org.pub" &&
364 _msg "${PAS}Authorized public key for berlin.guixsd.org"; 365 _msg "${PAS}Authorized public key for berlin.guixsd.org";
365 break;; 366 break;;
366 [Nn]*) _msg "${INF}Skipped authorizing build farm public keys" 367 [Nn]*) _msg "${INF}Skipped authorizing build farm public keys"
diff --git a/etc/guix-publish.conf.in b/etc/guix-publish.conf.in
index 241c5945595..7b319f66ae5 100644
--- a/etc/guix-publish.conf.in
+++ b/etc/guix-publish.conf.in
@@ -9,4 +9,4 @@ stop on runlevel [016]
9 9
10task 10task
11 11
12exec @localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix publish --user=nobody --port=8181 12exec @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix publish --user=nobody --port=8181
diff --git a/etc/guix-publish.service.in b/etc/guix-publish.service.in
index 8aaf09e3cdc..0526f979943 100644
--- a/etc/guix-publish.service.in
+++ b/etc/guix-publish.service.in
@@ -6,8 +6,8 @@
6Description=Publish the GNU Guix store 6Description=Publish the GNU Guix store
7 7
8[Service] 8[Service]
9ExecStart=@localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix publish --user=nobody --port=8181 9ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix publish --user=nobody --port=8181
10Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale 10Environment=GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale
11RemainAfterExit=yes 11RemainAfterExit=yes
12StandardOutput=syslog 12StandardOutput=syslog
13StandardError=syslog 13StandardError=syslog