summary refs log tree commit diff
path: root/pkgs/os-specific/linux/spectrum/rootfs/generic.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/spectrum/rootfs/generic.nix')
-rw-r--r--pkgs/os-specific/linux/spectrum/rootfs/generic.nix15
1 files changed, 10 insertions, 5 deletions
diff --git a/pkgs/os-specific/linux/spectrum/rootfs/generic.nix b/pkgs/os-specific/linux/spectrum/rootfs/generic.nix
index 81fb80a614f..4122abf80c6 100644
--- a/pkgs/os-specific/linux/spectrum/rootfs/generic.nix
+++ b/pkgs/os-specific/linux/spectrum/rootfs/generic.nix
@@ -1,14 +1,14 @@
 { runCommandNoCC, writeScript, writeReferencesToFile, makeFontsConf, lib
-, dash, execline, s6, s6-portable-utils, s6-linux-utils, s6-linux-init, busybox
+, dash, execline, s6, s6-rc, s6-portable-utils, s6-linux-utils, s6-linux-init, busybox
 , mesa, squashfs-tools-ng
 }:
 
-{ services, run, fonts ? [], path ? [] }:
+{ services, rcServices ? {}, fonts ? [], path ? [] }:
 
 let
-  makeStage1 = import ./stage1.nix {
+  stage1 = import ./stage1.nix {
     inherit writeScript lib
-      execline s6 s6-portable-utils s6-linux-utils s6-linux-init busybox mesa
+      execline s6 s6-rc s6-portable-utils s6-linux-utils s6-linux-init busybox mesa
       path;
   };
 
@@ -16,6 +16,10 @@ let
     inherit runCommandNoCC writeScript lib execline;
   };
 
+  makeRcServicesDir = import ./rc-services.nix {
+    inherit runCommandNoCC lib s6-rc;
+  };
+
   fontsConf = makeFontsConf { fontDirectories = fonts; };
 
   squashfs = runCommandNoCC "root-squashfs" {} ''
@@ -34,7 +38,7 @@ let
 
     mkdir bin sbin dev proc run sys tmp
     ln -s ${dash}/bin/dash bin/sh
-    ln -s ${makeStage1 { inherit run; }} sbin/init
+    ln -s ${stage1} sbin/init
     cp -r ${./etc} etc
     chmod u+w etc
 
@@ -43,6 +47,7 @@ let
 
     touch etc/login.defs
     cp -r ${makeServicesDir { inherit services; }} etc/service
+    cp -r ${makeRcServicesDir { services = rcServices; }} etc/s6-rc
   '';
 in
 rootfs