diff --git a/nixosModules/clanCore/vars/generator.nix b/nixosModules/clanCore/vars/generator.nix index 677295f30..aae8dc22f 100644 --- a/nixosModules/clanCore/vars/generator.nix +++ b/nixosModules/clanCore/vars/generator.nix @@ -16,7 +16,7 @@ let ; promptToFile = name: '' - cat "$prompts"/${name} > "$out"/${name} + cat "$prompts/${name}" > "$out/${name}" ''; promptsToFilesScript = concatMapStrings promptToFile; @@ -25,42 +25,35 @@ let in { finalScript = mkOptionDefault ( - lib.getExe ( - pkgs.writeShellApplication { - name = "generator-${config.name}"; - text = '' - in="''${in:?}" - out="''${out:?}" - ${if config.prompts == { } then "" else ''prompts="''${prompts:?}"''} + pkgs.writeScript "generator-${config.name}" '' + set -eu -o pipefail - export PATH="${makeBinPath config.runtimeInputs}:${pkgs.coreutils}/bin" + export PATH="${makeBinPath config.runtimeInputs}:${pkgs.coreutils}/bin" - ${optionalString (pkgs.stdenv.hostPlatform.isLinux) '' - # prepare sandbox user on platforms where this is supported - mkdir -p /etc + ${optionalString (pkgs.stdenv.hostPlatform.isLinux) '' + # prepare sandbox user on platforms where this is supported + mkdir -p /etc - cat > /etc/group < /etc/group < /etc/passwd < /etc/passwd < /etc/hosts < /etc/hosts <