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 is_nix_link source · line 154 · raw
@path:String -> IO(Bool)
---- security ----
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).