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)])

Uses (26)

Used by (1)