def system
near-v-framework@0.4.0.0 · domain/architecture/system/deployment/nix_darwin/setting/effects.bend:146
import near-v-framework@0.4.0.0/domain/architecture/system/deployment/nix_darwin/setting/effects.bend as Effects
import Base
import bend-kit-files@0.1.0.0/files.bend as Fs
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
146def system() -> IO(List<&2, St.Setting>):
147 do IO<List<&2, St.Setting>>:
148 +mute : String <- X.run("nvram", ["StartupMute"])
149 tz : String <- X.run("readlink", ["/etc/localtime"])
150 user : String <- X.run("stat", ["-f", "%Su", "/dev/console"])
151 nix : Bool <- nix_link("/etc/nix/nix.conf")
152 shells : String <- X.read("/etc/shells")
153 fonts : Result<&1, &1, U32 & String, List<&2, String>> <- Fs.list_dir("/Library/Fonts/Nix Fonts")
154 zsh : Bool <- nix_link("/etc/zshrc")
155 bash : Bool <- nix_link("/etc/bashrc")
156 fish : Bool <- nix_link("/etc/fish/config.fish")
157 ssh : Bool <- X.succeeds("launchctl", ["print", "system/com.openssh.sshd"])
158 return List.append(&2, St.Setting, StO.chime_setting(mute),
159 [StO.str_setting("time.timeZone", StO.time_zone(tz)),
160 StO.str_setting("system.primaryUser", String.trim(user)),
161 StO.bool_setting("nix.enable", nix),
162 StO.nix_setting("environment.shells", StO.nix_list(StO.extra_shells(shells))),
163 StO.fonts_setting(names_of(fonts)),
164 StO.bool_setting("programs.zsh.enable", zsh),
165 StO.bool_setting("programs.bash.enable", bash),
166 StO.bool_setting("programs.fish.enable", fish),
167 StO.bool_setting("services.openssh.enable", ssh)])