Development using Nix (Linux)

Setup a local development environment using Nix on Linux

Currently, Pterodactyl Wings has compatibility issues with the NixOS development environment. This limitation is temporary and will be addressed in future updates.

This approach offers several advantages:

  • Faster boot times without VM overhead
  • Lower resource consumption
  • Flexible configuration through nix/buildsteps.sh
  • Improved reliability across Linux distributions

Prerequisites for Nix Setup

  • Nix Package Manager
  • NodeJS (latest LTS version)
  • pnpm
  • Docker Engine
  • Git

Getting Started with Nix

  1. Install Nix and enable flakes support (configuration varies by distribution)

  2. Clone the Pyrodactyl panel repository

  3. Install dependencies:

    pnpm i
  4. Build the application:

    pnpm run ship

    This step:

    • Caches build results
    • Uploads sourcemaps to Sentry
    • Subsequent builds are much faster if code hasn't changed
  5. Create environment file:

    cp .env.nix .env
  6. Initialize development environment:

    nix run

Nix Setup Process

The initialization process is completely automated:

  • Sets up Wings and required services
  • Configures databases and application
  • Takes approximately 15 minutes

Once you see "Pyrodactyl is now up and running at localhost:8000", access the application and login using the credentials shown in your console.

Always use localhost:8000, not 127.0.0.1, to avoid CORS issues!

Visit http://localhost:8000/admin to create your first server.

On this page