aboutsummaryrefslogtreecommitdiff
path: root/modules/lib/merge-files.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/lib/merge-files.nix')
-rw-r--r--modules/lib/merge-files.nix10
1 files changed, 10 insertions, 0 deletions
diff --git a/modules/lib/merge-files.nix b/modules/lib/merge-files.nix
new file mode 100644
index 0000000..c024e0c
--- /dev/null
+++ b/modules/lib/merge-files.nix
@@ -0,0 +1,10 @@
+{ runCommandLocal, rsync, lib, ... }:
+files:
+let
+ cpFile = s: ''
+ ${lib.getExe rsync} -aL "${s.source}/" "$out${s.target}"
+ '';
+in runCommandLocal "merged-files" {} ''
+ mkdir $out
+ ${lib.concatMapStringsSep "\n" cpFile files}
+''