about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--misc/systemd/nix-worker.service12
-rw-r--r--nix.spec.in16
2 files changed, 28 insertions, 0 deletions
diff --git a/misc/systemd/nix-worker.service b/misc/systemd/nix-worker.service
new file mode 100644
index 000000000000..170108885392
--- /dev/null
+++ b/misc/systemd/nix-worker.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Helper daemon for managing secure, multi-user Nix stores
+After=syslog.target
+
+[Service]
+Type=simple
+#PIDFile=/var/run/tuned/tuned.pid
+#BusName=com.redhat.tuned
+ExecStart=/usr/bin/nix-worker --daemon
+
+[Install]
+WantedBy=multi-user.target
diff --git a/nix.spec.in b/nix.spec.in
index cbbd65e917eb..44ea8d7c9476 100644
--- a/nix.spec.in
+++ b/nix.spec.in
@@ -137,6 +137,14 @@ done
 # (until this is fixed in the relevant Makefile)
 chmod -x $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/nix.sh
 
+# systemd not available on RHEL yet
+%if ! 0%{?rhel} 
+# install systemd service descriptor
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/systemd/system
+cp -p misc/systemd/nix-worker.service \
+  $RPM_BUILD_ROOT%{_prefix}/lib/systemd/system/
+%endif
+
 # Copy the byte-compiled mode file by hand
 cp -p misc/emacs/nix-mode.elc $RPM_BUILD_ROOT%{_emacs_sitelispdir}/
 
@@ -165,6 +173,11 @@ done
 %post
 chgrp %{nixbld_group} /nix/store
 chmod 1775 /nix/store
+%if ! 0%{?rhel}
+# Enable and start Nix worker
+systemctl enable nix-worker.service
+systemctl start  nix-worker.service
+%endif
 
 %files
 %doc COPYING AUTHORS README
@@ -174,6 +187,9 @@ chmod 1775 /nix/store
 %{perl_vendorarch}/*
 %exclude %dir %{perl_vendorarch}/auto/
 %{_prefix}/libexec/*
+%if ! 0%{?rhel}
+%{_prefix}/lib/systemd/system/nix-worker.service
+%endif
 %{_datadir}/emacs/site-lisp/nix-mode.el
 %{_datadir}/nix
 %{_mandir}/man1/nix-*.1*