def network

near-v-framework@0.4.0.0 · domain/architecture/system/deployment/nix_darwin/setting/effects.bend:102

import near-v-framework@0.4.0.0/domain/architecture/system/deployment/nix_darwin/setting/effects.bend as Effects
import Base
import near-v-framework@0.4.0.0/domain/architecture/system/effs/io.bend as X
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

102def network() -> IO(List<&2, St.Setting>):
103  do IO<List<&2, St.Setting>>:
104    out : String <- X.run("networksetup", ["-listallnetworkservices"])
105    +ss : List<&2, String> = StO.services(out)
106    dns : List<&2, String> <- per_service(ss, "-getdnsservers")
107    search : List<&2, String> <- per_service(ss, "-getsearchdomains")
108    return [StO.nix_setting("networking.knownNetworkServices", StO.nix_list(ss)),
109            StO.nix_setting("networking.dns", StO.same_for_all("DNS servers", dns)),
110            StO.nix_setting("networking.search", StO.same_for_all("search domains", search))]

Uses (12)

Used by (1)