Skip to content

Miou-zora/Raylib-Zig-Nix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nix Flake for Zig + Raylib

This repository is a Nix flake for building Zig projects with Raylib. It is currently based on the master branch of Zig with the Zig-overlay. It use the raylib package from the Nixpkgs repository.

This repository is meant to be used as a template for Zig projects that use Raylib. It provides a flake.nix file that create a development environment with Zig and Raylib. It also provides a build.zig file that can be used to build the project.

Note

It's a direct raylib binding from C to Zig. It's not a wrapper around the C library.

📑 Requirements

Important

You will need to enable nix-command and flakesexperimental features If you get an error about it, consider this command: mkdir -p ~/.config/nix && echo "experimental-features = nix-command flakes" | tee ~/.config/nix/nix.conf

Usage

🔧 Setup

Clone this repository and run nix develop to enter the development environment

git clone https://github.com/Miou-zora/Raylib-Zig-Nix.git
cd Raylib-Zig-Nix
nix develop

Warning

Don't forget to remove the .git folder if you want to use this repository for a project.

Rename every name_of_your_project in the project by the name of your project.

👷 Building

zig build

🚀 Running

# It will build the project and run it. (do nothing if the project is already built)
zig build run
# or you can run the executable directly
./zig-out/bin/[name_of_your_project]

Note

nix build is not supported yet. If you try to use it, it will create a result symlink that contain the executable BUT musl isn't linked correctly to binary. It would be appreciated if someone could help me to fix this issue.

Using direnv

You may load the devShell automatically using direnv shell integration.

echo "use flake" | tee .envrc
direnv allow