The hectic logger opens fd 3 as a dup of stderr. Child processes inherit this fd, and daemonized PostgreSQL/PostgREST keeping it open prevents the terminal from returning to the prompt after the spawning script exits. - Add with_closed_fds helper that runs commands in a subshell with fds 3-9 redirected to /dev/null - Inline the helper into both database and postgres-init builds - Wrap pg_ctl start and postgrest with the helper
28 lines
726 B
Nix
28 lines
726 B
Nix
{ dash, hectic }: let
|
|
shell = "${dash}/bin/dash";
|
|
bashOptions = [
|
|
"errexit"
|
|
"nounset"
|
|
];
|
|
in {
|
|
log = hectic.writeDash "log.sh" ''
|
|
${builtins.readFile ./colors.sh}
|
|
${builtins.readFile ./log.sh}
|
|
'';
|
|
colors = hectic.writeDash "colors.sh" ''
|
|
${builtins.readFile ./colors.sh}
|
|
'';
|
|
change_namespace = hectic.writeDash "change_namespace.sh" ''
|
|
${builtins.readFile ./change_namespace.sh}
|
|
'';
|
|
quote = hectic.writeDash "quote.sh" ''
|
|
${builtins.readFile ./quote.sh}
|
|
'';
|
|
pager_or_cat = hectic.writeDash "pager_or_cat.sh" ''
|
|
${builtins.readFile ./pager_or_cat.sh}
|
|
'';
|
|
with_closed_fds = hectic.writeDash "with_closed_fds.sh" ''
|
|
${builtins.readFile ./with_closed_fds.sh}
|
|
'';
|
|
}
|