13da32182d
GitOrigin-RevId: a7855f2235a1876f97473a76151fec2afa02b287
40 lines
924 B
Nix
40 lines
924 B
Nix
/* This makes a keter bundle as described on the github page:
|
|
https://github.com/snoyberg/keter#bundling-your-app-for-keter
|
|
*/
|
|
{ keterDomain
|
|
, keterExecutable
|
|
, gnutar
|
|
, writeTextFile
|
|
, lib
|
|
, stdenv
|
|
, ...
|
|
}:
|
|
|
|
let
|
|
str.stanzas = [{
|
|
# we just use nix as an absolute path so we're not bundling any binaries
|
|
type = "webapp";
|
|
/* Note that we're not actually putting the executable in the bundle,
|
|
we already can use the nix store for copying, so we just
|
|
symlink to the app. */
|
|
exec = keterExecutable;
|
|
host = keterDomain;
|
|
}];
|
|
configFile = writeTextFile {
|
|
name = "keter.yml";
|
|
text = (lib.generators.toYAML { } str);
|
|
};
|
|
|
|
in
|
|
stdenv.mkDerivation {
|
|
name = "keter-bundle";
|
|
buildCommand = ''
|
|
mkdir -p config
|
|
cp ${configFile} config/keter.yaml
|
|
|
|
echo 'create a gzipped tarball'
|
|
mkdir -p $out
|
|
tar -zcvf $out/bundle.tar.gz.keter ./.
|
|
'';
|
|
buildInputs = [ gnutar ];
|
|
}
|