Skip to content

Feat: Add a Nix flake for reproducible development environments#345

Open
MadeInShineA wants to merge 1 commit into
AlexanderHarrison:masterfrom
MadeInShineA:feat/nix-integration
Open

Feat: Add a Nix flake for reproducible development environments#345
MadeInShineA wants to merge 1 commit into
AlexanderHarrison:masterfrom
MadeInShineA:feat/nix-integration

Conversation

@MadeInShineA

Copy link
Copy Markdown

Feat: Add a Nix flake for reproducible development environments

Why this PR?

Setting up the local development environment currently requires manually installing several dependencies (DevKitPro and Xdelta3).

This PR adds a Nix flake that provides a fully reproducible dev shell with all required dependencies pre-configured for users using the Nix package manager.

What this PR does

This PR introduces 3 new files:

  • flake.nix / flake.lock which defines the dev shell with typst, tinymist, just, pngquant, zopfli, and fonts
  • .envrc allows to auto-entering the shell via nix-direnv on cd

And modifies the already existing build.sh file to first check if the required tools are present in the PATH, and if not, fallback to the bin directory.

The gitignore was also updated to ignore the direnv generated .direnv/ folder

How to use

# With Nix installed and flakes enabled:
nix develop

# Or with direnv + nix-direnv to enter the dev shell on directory entry:
direnv allow  # only needed once

@MadeInShineA MadeInShineA changed the title feat: Add nix integration Feat: Add a Nix flake for reproducible development environments Jun 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant