~/bend-docscommunity

cli/vmac.bend relies on unsafe/foreign

raw source on the hub · import 0x0bae9aeb11ebfcadb010bbe6e89fbbff/cli/vmac.bend as Vmac

4 imports
import Base
import ../lib/effs/io.bend as X
import ../lib/vstr.bend as S
import bend-net-url@0.4.0.0/url.bend as Url

Definitions

def nix_line source · line 9 · raw

@name:String -> @v:String -> String

def bool_line source · line 12 · raw

@name:String -> @b:Bool -> String

def str_line source · line 15 · raw

@name:String -> @v:String -> String

def int_line source · line 18 · raw

@name:String -> @v:String -> String

def nonempty_line source · line 21 · raw

@+v:String -> @l:String -> List<&2, String>

def lines_of source · line 24 · raw

@+s:String -> List<&2, String>

def digit_nat source · line 28 · raw

@c:Char -> Nat

---- numbers ----

def nat_go source · line 31 · raw

@cs:List<&2, Char> -> @acc:Nat -> Nat

def nat_of source · line 38 · raw

@s:String -> Nat

def decoded_or source · line 43 · raw

@m:Maybe<&2, String> -> @raw:String -> String

---- URLs as paths: "file:///Applications/Google%20Chrome.app/" -> "/Applications/Google Chrome.app" ---- Percent-decoding is bend-net-url's (UTF-8 aware); a malformed URL is kept as it is.

def pct_decode source · line 50 · raw

@+s:String -> String

def drop_prefix source · line 53 · raw

@+s:String -> @+p:String -> String

def drop_slash source · line 56 · raw

@+s:String -> String

def url_path source · line 59 · raw

@+u:String -> String

def dock source · line 63 · raw

String

---- Dock tiles: system.defaults.dock.persistent-apps / persistent-others ----

def tile_cmd source · line 66 · raw

@+key:String -> @+i:Nat -> String

def arrangement source · line 72 · raw

@+n:String -> String

def displayas source · line 75 · raw

@+n:String -> String

def showas source · line 78 · raw

@+n:String -> String

def app_tile source · line 81 · raw

@+t:String -> @+p:String -> String

def other_tile source · line 87 · raw

@+t:String -> @+p:String -> @+f:List<&2, String> -> String

def tile_nix source · line 92 · raw

@+key:String -> @+f:List<&2, String> -> String

def tiles source · line 95 · raw

@n:Nat -> @+key:String -> @+i:Nat -> IO(List<&2, String>)

def dock_list source · line 105 · raw

@+key:String -> IO(List<&2, String>)

def bend_bool source · line 113 · raw

@b:Bool -> String

---- firewall, network, power ---- ---- the firewall, as a T.Firewall expression (its options exist only while it is on) ----

def firewall_expr source · line 116 · raw

@on:Bool -> @+f:String -> String

def firewall source · line 126 · raw

IO(String)

def same_for_all source · line 132 · raw

@+what:String -> @+outs:List<&2, String> -> String

nix-darwin gives every known service the same DNS servers and search domains; a Mac where they differ cannot be declared.

def per_service source · line 135 · raw

@+get:String -> String

def network source · line 138 · raw

IO(List<&2, String>)

def power source · line 147 · raw

IO(List<&2, String>)

def sudo_extra source · line 157 · raw

@ls:List<&2, String> -> List<&2, String>

def security source · line 164 · raw

IO(List<&2, String>)

def after_word source · line 179 · raw

@+w:String -> @ws:List<&2, String> -> List<&2, String>

---- keyboard: hidutil's UserKeyMapping ----

def pairs source · line 186 · raw

@src:List<&2, String> -> @dst:List<&2, String> -> String

def keyboard source · line 197 · raw

IO(List<&2, String>)

def system source · line 212 · raw

IO(List<&2, String>)

---- startup chime, time zone, primary user, Nix, shells, fonts, SSH ----

def dscl_get source · line 236 · raw

@+kind:String -> @+name:String -> @+attr:String -> IO(String)

---- users and groups (uid/gid >= 500, not system accounts) ----

def user_lines source · line 241 · raw

@names:List<&2, String> -> IO(List<&2, String>)

def group_lines source · line 258 · raw

@names:List<&2, String> -> IO(List<&2, String>)

def users source · line 271 · raw

IO(List<&2, String>)

def launch_file source · line 281 · raw

@+opt:String -> @+dir:String -> @+f:String -> IO(List<&2, String>)

---- launchd files other than nix-darwin's own (org.nixos.*), the project's services and Determinate Nix's (nix.enable = false) ---- Each is kept in nix/launch/ under its content hash, so a changed file on the Mac shows up as a change.

def launch_files source · line 287 · raw

@+opt:String -> @+dir:String -> @fs:List<&2, String> -> IO(List<&2, String>)

def plists source · line 297 · raw

@xs:List<&2, String> -> String

def launch_dir source · line 304 · raw

@+opt:String -> @+dir:String -> @+labels:List<&2, String> -> IO(List<&2, String>)

def launch source · line 309 · raw

@+labels:List<&2, String> -> IO(List<&2, String>)

def read_all source · line 318 · raw

@+labels:List<&2, String> -> IO(List<&2, String>)

---- all of it ---- labels: the project's own launchd jobs (nix-darwin writes them; they are not imported).