write etc/nix-store-paths in systemConfiguration

module-based-network
Daniel Barlow 4 months ago
parent 00aeb81811
commit 68ab6faeb3

@ -5,7 +5,6 @@
, ...
}:
let
inherit (pkgs) closureInfo;
inherit (lib) mkIf;
in
{
@ -36,11 +35,7 @@ in
mkdir -p $TMPDIR/empty/nix/store/
cp ${systemConfiguration}/bin/activate $TMPDIR/empty/activate
ln -s ${pkgs.s6-init-bin}/bin/init $TMPDIR/empty/init
pkgClosure=${closureInfo {
rootPaths = [ systemConfiguration ];
}}
cp $pkgClosure/registration nix-path-registration
grafts=$(sed < $pkgClosure/store-paths 's/^\(.*\)$/--graft \1:\1/g')
grafts=$(sed < ${systemConfiguration}/etc/nix-store-paths 's/^\(.*\)$/--graft \1:\1/g')
mkfs.jffs2 --compression-mode=size ${endian} -e ${config.hardware.flash.eraseBlockSize} --enable-compressor=lzo --pad --root $TMPDIR/empty --output $out $grafts --squash --faketime
'';
};

@ -8,6 +8,7 @@
writeText
, lib
, s6-init-bin
, closureInfo
, stdenv
}:
let
@ -61,7 +62,8 @@ let
}
'';
in attrset:
stdenv.mkDerivation {
let makedevs = activateScript attrset;
in stdenv.mkDerivation {
name="make-stuff";
src = ./.;
@ -69,11 +71,13 @@ in attrset:
LDFLAGS = "-static";
postConfigure = ''
cp ${activateScript attrset} makedevs.c
cp ${makedevs} makedevs.c
'';
makeFlags = ["makedevs"];
installPhase = ''
mkdir -p $out/bin
closure=${closureInfo { rootPaths = [ makedevs ]; }}
mkdir -p $out/bin $out/etc
cp $closure/store-paths $out/etc/nix-store-paths
$STRIP --remove-section=.note --remove-section=.comment --strip-all makedevs -o $out/bin/activate
ln -s ${s6-init-bin}/bin/init $out/bin/init
'';

Loading…
Cancel
Save