import { Callout } from 'nextra/components'

# Installation

The preferred way of installing Lune is using [Aftman](https://github.com/lpghatguy/aftman).

Install Aftman, and run this command in your terminal to add `lune` to an `aftman.toml` file in the
current directory, or create one if it does not exist:

```sh copy filename="Bash"
aftman add filiptibell/lune
```

## Other Installation Options

<details>
<summary>Using GitHub Releases</summary>

You can download pre-built binaries for most systems directly from the
[GitHub Releases](https://github.com/filiptibell/lune/releases) page. <br /> There are many tools
that can install binaries directly from releases, and it is up to you to choose what tool to use
when installing here.

</details>

<details>
<summary>Community-maintained</summary>

### Scoop

Windows users can use [Scoop](https://scoop.sh) to install Lune.

```ps copy filename="PowerShell"
# Add the bucket
scoop bucket add lune https://github.com/CompeyDev/lune-packaging.git

# Install the package
scoop install lune
```

### Homebrew

macOS and Linux users can use [Homebrew](https://brew.sh) to install Lune.

```sh copy filename="Bash"
# Installs latest stable precompiled binary
brew install lune
```

***or***

```sh copy filename="Bash"
# Builds from latest stable source
brew install lune --build-from-source
```

### APT

APT is a package manager for Debian-based Linux distributions that uses `dpkg` to install packages. <br/>
Follow the instructions at the unofficial [lune-packaging](https://github.com/CompeyDev/lune-packaging#apt) repository to install Lune using APT.

<Callout type="warning" emoji="⚠️">
  The APT repository is hosted by the community and is not endorsed by or affiliated with Lune.
</Callout>

### AppImage

AppImages are platform independent sandboxed binaries that work out of the box. <br/>
Go to the [GitHub Actions Page](https://github.com/CompeyDev/lune-packaging/actions/workflows/appimage.yaml), and download the artifact suitable for your architecture from the build artifacts.

### AUR (Arch User Repository)

There are a number of packages available on the AUR:

- `lune` - Builds from the latest stable release source.
- `lune-git` - Builds from the latest commit in the repo; unstable.
- `lune-bin` - Installs a precompiled binary from GitHub Release artifacts.

These can be installed with your preferred AUR package manager as such:

```sh copy filename="Bash"
paru -S [PACKAGE_NAME]
```

***or***

```sh copy filename="Bash"
yay -S [PACKAGE_NAME]
```

<Callout type="warning" emoji="⚠️">
  Only one of these AUR packages must be installed at a time in order to prevent conflicts.
</Callout>

</details>

<details>
<summary>Building from source</summary>

Building and installing from source requires the latest version of
[Rust & Cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html) to be installed on
your system. <br /> Once installed, run the following command in your terminal:

```sh copy filename="Bash"
cargo install lune --locked
```
</details>

## Next Steps

Congratulations! You've installed Lune and are now ready to write your first script.

-   If you want to write standalone scripts, head over to the
    [Introduction](./2-introduction/1-hello-lune.md) section.
-   If you want to write Lune scripts specifically for Roblox, check out the
    [Roblox](../roblox/1-introduction.md) section.
