Packages
gleam_erlang
0.8.0
1.3.0
1.2.0
1.1.0
1.0.0
1.0.0-rc1
0.34.0
0.33.0
0.32.0
0.31.0
0.30.0
0.29.0
0.28.0
0.27.0
0.26.0
0.25.0
0.24.0
0.23.1
0.23.0
0.22.0
0.21.0
0.20.0
0.19.0
0.18.1
0.18.0
0.18.0-rc1
retired
0.17.1
0.17.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
Types and functions for programs running on Erlang!
Current section
Files
Jump to
Current section
Files
src/gleam/erlang/os.gleam
//// Access to the shell's environment variables
import gleam/map.{Map}
/// Returns the list of all available environment variables as a list of key,
/// tuples.
///
/// ## Examples
///
/// > get_all_env()
/// map.from_list([
/// #("SHELL", "/bin/bash"),
/// #("PWD", "/home/j3rn"),
/// ...
/// ])
///
pub external fn get_all_env() -> Map(String, String) =
"gleam_erlang_ffi" "get_all_env"
/// Returns the value associated with the given environment variable name.
///
/// ## Examples
///
/// > get_env("SHELL")
/// "/bin/bash"
///
/// > get_env(name: "PWD")
/// "/home/j3rn"
///
pub external fn get_env(name: String) -> Result(String, Nil) =
"gleam_erlang_ffi" "get_env"
/// Associates the given value with the given environment variable name.
///
/// ## Examples
///
/// > set_env("MYVAR", "MYVALUE")
/// Nil
/// > get_env("MYVAR")
/// "MYVALUE"
///
/// > set_env(value: "MYVALUE", name: "MYVAR")
/// Nil
///
pub external fn set_env(name: String, value: String) -> Nil =
"gleam_erlang_ffi" "set_env"
/// Removes the environment variable with the given name.
///
/// Returns Nil regardless of whether the variable ever existed.
///
/// ## Examples
///
/// > get_env("MYVAR")
/// Ok("MYVALUE")
/// > unset_env("MYVAR")
/// Nil
/// > get_env("MYVAR")
/// Error(Nil)
///
/// > unset_env(name: "MYVAR")
/// Nil
///
pub external fn unset_env(name: String) -> Nil =
"gleam_erlang_ffi" "unset_env"