blob: 52c72ed5cfaa09f0a69246369b3c4d17ef981dd3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
{ pkgs, execlineb-with-builtins }:
let
escape = import ./escape.nix { inherit (pkgs) lib; };
# Write a list of execline argv parameters to an execline script.
# Everything is escaped correctly.
# TODO upstream into nixpkgs
writeExeclineCommon = writer: name: { readNArgs ? 0 }: argList: writer name ''
#!${execlineb-with-builtins}/bin/execlineb -s${toString readNArgs}
export EXECLINE_STRICT 2
${escape.escapeExecline argList}
'';
writeExecline = writeExeclineCommon pkgs.writeScript;
writeExeclineBin = writeExeclineCommon pkgs.writeScriptBin;
in {
inherit writeExecline writeExeclineBin;
}
|