# Libtmux_workspace.Config.make

**Workspace Manager concept example** A working example of the core library. It can change without notice.

- **Module:** Libtmux_workspace
- **Package:** libtmux-workspace
- **Language:** OCaml
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-ocaml/blob/205dfda49742592b479247049d186956e4a4cfe9/workspace/libtmux_workspace.mli#L60
- **Public owner:** Libtmux_workspace
- **Page:** https://libtmux.org/en/ocaml/latest/workspace/reference/libtmux_workspace-config-make/

```
val make :
  ?cwd:string ->
  ?environment:(string * string) list ->
  ?options:setting list ->
  ?variables:(string * string) list ->
  ?width:int ->
  ?height:int ->
  directory:string -> session:string -> window list -> (t, error) result
```

Resolve relative working directories against the absolute document directory. Explicit variables expand `${NAME}` in directories only; they never read the process environment. Cycles and unknown names fail. Command arguments, shell code, startup text and environment values remain literal.

At most 64 windows, 256 total panes and 1 MiB of text are accepted. Names and settings must be unique in their scope. No filesystem is consulted.

## Parameters

- `cwd?` (`string`)
- `environment?` (`(string * string) list`)
- `options?` (`setting list`)
- `variables?` (`(string * string) list`)
- `width?` (`int`)
- `height?` (`int`)
- `directory` (`string`)
- `session` (`string`)
- `arg1` (`window list`)

## Guides

Pages that discuss `make`.

- [Start a private tmux server from OCaml](/en/ocaml/latest/guides/bootstrap/)
