~ruther/guix-local

bc06affabcf68bbe93e9afee13bef8cc8c6336a2 — Oleg Pykhalov 2 years ago eac5171
services: nix: Fix activation.

This commit follows 797be0ea5c3703ad96acd32c98dca5f946cf5c95.

Reported by kiasoc5 <kiasoc5@disroot.org> at
<https://lists.gnu.org/archive/html/help-guix/2024-05/msg00185.html>.

* gnu/services/nix.scm (nix-activation): Avoid provisioning the store if it
already exists.

Change-Id: I159e8af5d7bd6ce62857b356d6e9ac68fe16acf4
1 files changed, 6 insertions(+), 4 deletions(-)

M gnu/services/nix.scm
M gnu/services/nix.scm => gnu/services/nix.scm +6 -4
@@ 98,12 98,14 @@ GID."
  #~(begin
      (use-modules (guix build utils)
                   (srfi srfi-26))
      (for-each (cut mkdir-p <>) '("/nix/store" "/nix/var/log"
      (for-each (cut mkdir-p <>) '("/nix/var/log"
                                   "/nix/var/nix/gcroots/per-user"
                                   "/nix/var/nix/profiles/per-user"))
      (chown "/nix/store"
             (passwd:uid (getpw "root")) (group:gid (getpw "nixbld01")))
      (chmod "/nix/store" #o775)
      (unless (file-exists? #$%nix-store-directory)
        (mkdir-p #$%nix-store-directory)
        (chown #$%nix-store-directory
               (passwd:uid (getpw "root")) (group:gid (getpw "nixbld01")))
        (chmod #$%nix-store-directory #o775))
      (for-each (cut chmod <> #o777) '("/nix/var/nix/profiles"
                                       "/nix/var/nix/profiles/per-user"))))