Skip to content

Commit

Permalink
nixos/nncp: refactor configuration merging
Browse files Browse the repository at this point in the history
The NNCP utilities have poor support for configuration merging so
use jq and hjson-cli instead.
  • Loading branch information
ehmry committed Oct 9, 2024
1 parent d71e292 commit 7f63bcb
Showing 1 changed file with 6 additions and 12 deletions.
18 changes: 6 additions & 12 deletions nixos/modules/programs/nncp.nix
Original file line number Diff line number Diff line change
Expand Up @@ -74,19 +74,13 @@ in {
wantedBy = [ "basic.target" ];
serviceConfig.Type = "oneshot";
script = ''
umask u=rw
nncpCfgDir=$(mktemp --directory nncp.XXX)
for f in ${jsonCfgFile} ${builtins.toString config.programs.nncp.secrets}; do
tmpdir=$(mktemp --directory nncp.XXX)
nncp-cfgdir -cfg $f -dump $tmpdir
find $tmpdir -size 1c -delete
cp -a $tmpdir/* $nncpCfgDir/
rm -rf $tmpdir
done
nncp-cfgdir -load $nncpCfgDir > ${nncpCfgFile}
rm -rf $nncpCfgDir
umask 127
rm -f ${nncpCfgFile}
for f in ${jsonCfgFile} ${builtins.toString config.programs.nncp.secrets}
do
${lib.getExe pkgs.hjson-go} -c <"$f"
done |${lib.getExe pkgs.jq} --slurp add >${nncpCfgFile}
chgrp ${programCfg.group} ${nncpCfgFile}
chmod g+r ${nncpCfgFile}
'';
};
};
Expand Down

0 comments on commit 7f63bcb

Please sign in to comment.