
This guide will help you set up these dotfiles on your own machine.

## Prerequisites

You'll need the following installed:

- Git
- A terminal emulator (kitty, wezterm, or alacritty recommended)
- zsh shell
- curl or wget

## Quick Setup

### 1. Clone the Repository

```bash
git clone https://github.com/waylonwalker/devtainer.git ~/devtainer
cd ~/devtainer
```

### 2. Install Tools

The recommended way to install development tools is using <a href="/mise/" class="wikilink" data-title="mise Tool Management" data-description="mise - the universal version manager for development tools" data-date="2026-02-07">mise Tool Management</a>:

```bash
# Install mise
curl https://mise.run | sh

# Activate mise in your shell
echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc

# Install all tools from the config
mise install
```

### 3. Symlink Configurations

Use [stow](https://www.gnu.org/software/stow/) or manual symlinks to install
configs:

```bash
# Using stow (if available)
stow zsh starship tmux

# Or manually
ln -sf ~/devtainer/zsh/.zshrc ~/.zshrc
ln -sf ~/devtainer/tmux/.tmux.conf ~/.tmux.conf
```

## Recommended Order

1. **Shell** - Start with zsh for a better shell experience
2. **Terminal** - Install kitty or wezterm
3. **Editor** - Set up neovim with your preferred config
4. **Multiplexer** - Add tmux for session management
5. **Window Manager** - Hyprland (Wayland) or Awesome (X11)

## Tool-Specific Setup

Each tool has its own setup page:

- [[zsh#setup|zsh Setup]]
- [[tmux#setup|tmux Setup]]
- [[neovim#setup|neovim Setup]]
- [[hyprland#setup|hyprland Setup]]

## Troubleshooting

### Config not loading

Ensure symlinks are correct:

```bash
ls -la ~ | grep zshrc
```

### Tool not found

Check that mise is activated and tools are installed:

```bash
mise list
which zsh
```

### Permission issues

Some scripts may need executable permissions:

```bash
chmod +x ~/devtainer/scripts/*
```

## Next Steps

Once you have the basics set up, explore the individual tool documentation to
learn about features and customization options.
