tori-rs/ocaml/lib/system/package.ml

15 lines
527 B
OCaml

let merge (schema: Schema.schema) (packages: string list) =
match packages with
| [] -> { schema with output = { message = "No packages provided" } }
| _ ->
let in_targets = List.flatten [["doas"; "apk"; "-i"; "add"]; packages] and
out_targets = List.flatten [["doas"; "apk"; "-i"; "del"]; packages] in
Process.Fork.run "doas" in_targets;
Process.Fork.run "doas" out_targets;
{ schema with output = {
message = "Done: " ^ (String.concat "\n" packages)
}}