---
id: configuration
title: Configuration
sidebar_label: 📝 Configuration
---

By default, aliae expects a `YAML` file called `.aliae.yaml` in the user `HOME` folder.
You can however also specify a custom location using the `--config` flag on initialization, or
by setting the `ALIAE_CONFIG` environment variable prior to initialization.

```zsh
eval "$(aliae init zsh --config '/Users/aliae/configs/aliae.yaml')"

# alternatively

export ALIAE_CONFIG='/Users/aliae/configs/aliae.yaml'
eval "$(aliae init zsh)"
```

The custom location can be a local file, or a URL pointing to a remote config.

## Example

```yaml
# yaml-language-server: $schema=https://aliae.dev/schema.json
alias:
  - name: a
    value: aliae
  - name: hello-world
    value: echo "hello world"
    type: function
env:
  - name: POSH_THEME
    value: '{{ if match .OS "darwin"}}{{ .Home }}{{ else }}Y:{{ end }}/.posh.omp.jsonc'
  - name: EDITOR
    value: code-insiders --wait
path:
  - value: |
      {{ .Home }}/homebrew/bin
      /usr/local/bin/
      /opt/local/bin/
    if: match .OS "darwin"
  - value: |
      {{ .Home }}/go/bin/
script:
  - value: |
      oh-my-posh init nu
      source ~/.oh-my-posh.nu
    if: match .Shell "nu"
  - value: |
      load(io.popen('oh-my-posh init cmd'):read("*a"))()
    if: match .Shell "cmd"
  - value: |
      oh-my-posh init pwsh | Invoke-Expression
    if: match .Shell "pwsh"
  - value: |
      xontrib load autovox
      xontrib load vox
      xontrib load voxapi
      xontrib load bashisms
      execx($(oh-my-posh init xonsh))
    if: match .Shell "xonsh"
  - value: |
      eval `oh-my-posh init tcsh`
    if: match .Shell "tcsh"
  - value: |
      eval "$(oh-my-posh init {{ .Shell }})"
    if: match .Shell "bash" "zsh"
link:
  - name: ~/.aliae.yaml
    target: ~/dotfiles/aliae.yaml
  - name: ~/.zshrc
    target: $DOTFILES/config/zsh/zshrc
```

You can find out more about the configuration options below.

- [Alias][alias]
- [Function][alias]
- [Environment variable][env]
- [PATH entry][path]
- [Script][script]
- [Symbolic link][link]

[alias]: setup/alias.mdx
[env]: setup/env.mdx
[path]: setup/path.mdx
[script]: setup/script.mdx
[link]: setup/link.mdx
