newtype Sudo a = Sudo { sudo :: ShIO a } run_sudo :: Text -> [Text] -> Sudo Text run_sudo cmd args = Sudo $ run "/usr/bin/sudo" (cmd:args) mk_user :: NewUser -> Sudo Text mk_user user = run_sudo "addUser" [login user, "--gecos", firstName user <> " " <> lastName user]