def import_node

near-v-framework@0.4.0.0 · domain/architecture/system/effects.bend:430

import near-v-framework@0.4.0.0/domain/architecture/system/effects.bend as Effects
import Base
import near-v-framework@0.4.0.0/domain/architecture/system/deployment/type.bend as D
import near-v-framework@0.4.0.0/domain/architecture/system/deployment/nix_darwin/type.bend as ND
import near-v-framework@0.4.0.0/domain/architecture/system/deployment/nix_darwin/setting/type.bend as St
import near-v-framework@0.4.0.0/domain/architecture/system/deployment/nix_darwin/setting/ops.bend as StO
import near-v-framework@0.4.0.0/domain/architecture/system/deployment/nix_darwin/brew/type.bend as Br
import near-v-framework@0.4.0.0/domain/architecture/system/deployment/nix_darwin/setting/effects.bend as StE
import near-v-framework@0.4.0.0/domain/architecture/system/deployment/nix_darwin/brew/effects.bend as BrE
import near-v-framework@0.4.0.0/domain/architecture/system/deployment/nix_darwin/service/ops.bend as SvO

430# ---- import: each nix-darwin node's Mac as it is now, as Bend to declare it with ----
431def import_node(p: D.Platform, +root: String) -> IO(Unit):
432  match p:
433    case D.Darwin{nd}:
434      match nd:
435        case ND.NixDarwin{h, _, _, _, _, _, _, _, svs, _, _, _, _, _}:
436          do IO<Unit>:
437            st : List<&2, St.Setting> <- StE.observed(root ++ "/nix/options.tsv", SvO.labels(svs))
438            fw : St.Firewall <- StE.firewall_now()
439            br : List<&2, Br.Brew> <- BrE.observed()
440            IO.print("# " ++ h ++ "\n" ++ StO.import_text(st, fw, br))
441    case _:
442      IO.pure(Unit, Unit{})

Uses (18)

Used by (1)