# Set Up
After you [installed](./install.md) lacy, you have to add it's shell configuration to your shell.
## Shell Setup
For more shell options, see `lacy init --help`.
### Zsh
```bash
# ~/.zshrc
eval "$(lacy init zsh)"
```
### Bash
```bash
# ~/.bashrc
eval "$(lacy init bash)"
```
### Fish
```bash
# ~/.config/fish/config.fish
lacy init fish | source
```
### Nushell
You can't set the lacy alias (`--cmd`) to `cd`. More infos at [`--cmd`](#--cmd).
```bash
# $nu.config-path
mkdir ($nu.data-dir | path join "vendor/autoload")
lacy init nu | save -f ($nu.data-dir | path join "vendor/autoload/lacy.nu")
```
### PowerShell
```powershell
# $PROFILE
### Other shells
Feel free to contribute the init script for your preferred shell.
## Shell Options
You can customize the shell script that gets generated by using these options:
### `--cd-cmd`
Define the command to be used instead of `cd`. (e.g. `--cd-cmd=z`)
Default:
- Bash, ZSH, Fish: `builtin cd`
- Nushell: `cd`
- PowerShell: `Set-Location`
### `--cmd`
The name of the main lacy command you use for navigating. (e.g. `--cmd=cd`)
Default: `y`
> [!WARNING]
> Nushell doesn't have a `builtin cd` option,
> so setting it `--cmd=cd` will cause a loop.
> It should be possible to bypass this with some tinkering ([issue in nushell repo](https://github.com/nushell/nushell/issues/3792)). Feel free to open a PR if you have a good solution!
### `--custom-fuzzy`
Configure this to disable lacy's built in UI selector and replace it with your own command. (e.g. `--custom-fuzzy=fzf`)
Default: *none*