chore(lib): add "auto generated" comment to nix generator outputs

fix copy not being able to overwrite generated files due to them being
read only (r--r--r--) by removing them first
This commit is contained in:
technofab 2025-09-02 09:20:58 +02:00
parent 1246175082
commit 3baef660cf
No known key found for this signature in database
2 changed files with 21 additions and 1 deletions

View file

@ -14,8 +14,26 @@
format = opts.format or "json";
formatOpts = builtins.removeAttrs opts ["format"];
formatter = formats.${format} formatOpts;
autogeneratedMessage =
{
yaml = "# Generated by soonix, DO NOT EDIT";
toml = "# Generated by soonix, DO NOT EDIT";
lua = "--- Generated by soonix, DO NOT EDIT";
xml = "<!-- Generated by soonix, DO NOT EDIT -->";
}.${
format
} or "";
in
formatter.generate name data;
(formatter.generate name data).overrideAttrs (pre: {
buildCommand =
# sh
''
${pre.buildCommand}
cp $out tmp
cat <(echo "${autogeneratedMessage}") tmp > $out
'';
});
string = {
name,

View file

@ -133,6 +133,8 @@ in {
if [[ ! -f "${hook.output}" ]] || ! cmp -s "${hook.generatedDerivation}" "${hook.output}"; then
_soonix_log "info" "${hookName}" "Copying file: ${hook.generatedDerivation} -> ${hook.output}"
mkdir -p "$(dirname "${hook.output}")"
# required since they're read only
rm -f "${hook.output}"
cp "${hook.generatedDerivation}" "${hook.output}"
_changed=true
else