# DSL The _`doit`-specific language_ provides some declarative shortcuts to techniques that usually require more complex Python or shell. ## `${}` Get Environment Variables > Get the value of an environment variable. Usually executed before any other parsers. > All config sources share the _same_ namespace.
${"])
rightbrace(["}"])
var-name([a variable name])
any-after([any text])
```
:get])
subgraph defaults [0 or 1 default]
default(["| value"])
end
subgraph parsers [1 parser]
direction LR
json([::json])
toml([::toml])
yaml([::yaml])
end
subgraph paths [1 path]
path([::path])
end
subgraph selectors [1+ selectors]
selector([::string or int])
end
```
::])
token_or_path([::token or path])
subgraph prefixes [0 or 1 prefix]
prefix([::prefix])
prefix-wildcard(["::[fragment, ?, or *] ..."])
end
subgraph doitoml ["doitoml configuration"]
source-prefix("prefix = ...")
subgraph paths [".paths"]
path("some_path = [...]")
end
subgraph tokens [".tokens"]
token("some_token = [...]")
end
end
```
:glob])
rglob([:rglob])
subgraph roots [1 root]
root([::path/to/root])
end
subgraph matches [1+ matches]
match([::path/with/*])
end
subgraph excludes [0+ excludes]
exclude([::!a regex])
end
subgraph subs [0+ substitutions]
sub([::/s/])
sub-find([::a regex])
sub-replace([::replacement])
sub --> sub-find --> sub-replace
end
```