Skip to content

rux-lang/Rux

Rux Logo

Rux Programming Language

GitHub stars GitHub followers GitHub forks Discussion Discord Reddit YouTube X Bluesky Mastodon Telegram License

DragonFly BSD FreeBSD Illumos Linux macOS NetBSD OpenBSD Windows

Rux is a fast, compiled, strongly typed, multi-paradigm programming language.

Project Status

Currently, under development.

Documentation

Community

Here’s how you can get involved:

  • Join the conversation on GitHub Discussions, Discord, or Reddit
  • Subscribe on YouTube, X, Bluesky, Mastodon, Telegram to get early updates, dev logs, and sneak peeks
  • Contribute ideas — from grammar tweaks to mascot variants, we’re open to playful and technical input alike
  • Discuss architecture — compiler design, type systems, and extensibility are all on the table

Building

Prerequisites

  • CMake 4.2 or later
  • A C++26-capable compiler (e.g. Clang 19+, GCC 14+, MSVC 2022+)
  • A build tool supported by CMake, such as Ninja, Make, or MSBuild

Clone

git clone https://github.com/rux-lang/Rux.git
cd Rux

Build with Clang

Use this configuration when clang++ is available on your PATH.

cmake -S . -B build/clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release
cmake --build build/clang --config Release

If you use Ninja explicitly:

cmake -S . -B build/clang -G Ninja -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release
cmake --build build/clang

On Windows, Clang can also be used through clang-cl from a Visual Studio Developer PowerShell:

cmake -S . -B build/clang-cl -G "Visual Studio 17 2022" -T ClangCL
cmake --build build/clang-cl --config Release

Build with MSVC

Run these commands from a Visual Studio Developer PowerShell or Developer Command Prompt:

cmake -S . -B build/msvc -G "Visual Studio 17 2022" -A x64
cmake --build build/msvc --config Release

Alternatively, with Ninja and the MSVC compiler environment already loaded:

cmake -S . -B build/msvc-ninja -G Ninja -DCMAKE_CXX_COMPILER=cl -DCMAKE_BUILD_TYPE=Release
cmake --build build/msvc-ninja

Generic CMake Build

If your preferred compiler is already the default for your environment:

cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release

The rux binary will be placed under the selected build directory. Single-configuration generators usually emit it directly in that directory, while Visual Studio/MSVC multi-configuration builds emit it under Release/.

To install it onto your system:

cmake --install build --prefix /usr/local

NixOS

Once the Rux flake is available in your repository (or any public Git host), you can easily add it as a dependency in your own Nix configuration or project.

In a NixOS Flake

Add the Rux input to your flake.nix:

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    rux.url = "github:rux-lang/Rux";
    # Optionally pin a specific branch or tag:
    # rux.url = "github:rux-lang/Rux/main";
  };

  outputs = { self, nixpkgs, rux }: {
    nixosConfigurations.my-machine = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        ({ pkgs, ... }: {
          environment.systemPackages = [
            rux.packages.${pkgs.system}.default
          ];
        })
      ];
    };
  };
}

macOS notes

On macOS, rux produces statically linked, ad-hoc code-signed Mach-O executables. Generated programs are currently x86-64 only — on Apple Silicon they run through Rosetta 2 (the rux compiler itself builds and runs natively on arm64). A Homebrew formula for distributing rux lives under packaging/homebrew/.

Contributing

The Rux repository is hosted at rux-lang/Rux on GitHub.

Read the Contributing guide to get started.

License

MIT