Package: rix 0.18.3

Bruno Rodrigues

rix: Reproducible Data Science Environments with 'Nix'

Simplifies the creation of reproducible data science environments using the 'Nix' package manager, as described in Dolstra (2006) <ISBN 90-393-4130-3>. The included `rix()` function generates a complete description of the environment as a `default.nix` file, which can then be built using 'Nix'. This results in project specific software environments with pinned versions of R, packages, linked system dependencies, and other tools or programming languages such as Python or Julia. Additional helpers make it easy to run R code in 'Nix' software environments for testing and production.

Authors:Bruno Rodrigues [aut, cre], Philipp Baumann [aut], David Watkins [rev], Jacob Wujiciak-Jens [rev], Richard J. Acton [ctb], Jordi Rosell [ctb], Elio Campitelli [ctb], László Kupcsik [ctb], Michael Heming [ctb]

rix_0.18.3.tar.gz
rix_0.18.3.zip(r-4.7)rix_0.18.3.zip(r-4.6)rix_0.18.3.zip(r-4.5)
rix_0.18.3.tgz(r-4.6-any)rix_0.18.3.tgz(r-4.5-any)
rix_0.18.3.tar.gz(r-4.7-any)rix_0.18.3.tar.gz(r-4.6-any)
rix_0.18.3.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
rix/json (API)

# Install 'rix' in R:
install.packages('rix', repos = c('https://ropensci.r-universe.dev', 'https://cloud.r-project.org'))

Reviews:rOpenSci Software Review #625

Bug tracker:https://github.com/ropensci/rix/issues

Pkgdown/docs site:https://docs.ropensci.org

On CRAN:

Conda:

nixpeer-reviewedreproducibilityreproducible-research

11.63 score 371 stars 301 scripts 339 downloads 12 exports 4 dependencies

Last updated from:aff820f585 (on main). Checks:7 NOTE, 3 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64NOTE130
pkgdown docsOK223
source / vignettesOK197
linux-release-x86_64NOTE126
macos-release-arm64NOTE86
macos-oldrel-arm64NOTE96
windows-develNOTE77
windows-releaseNOTE85
windows-oldrelNOTE110
wasm-releaseOK101

Exports:available_datesavailable_dfavailable_rga_cachixmake_launchernix_buildrenv2nixrixrix_initsetup_cachixtar_nix_gawith_nix

Dependencies:codetoolscurljsonlitesys

A Complete End-to-End Walkthrough to Set Up a Project
Introduction | Setting up Git | Setting up your environment | Using your environment | Using GitHub Actions | For a project using | For a project that doesn't use | How to update or reproduce your project

Last update: 2026-02-19
Started: 2026-01-15

Installing R and Python Packages in a Nix Environment
Introduction | A word of caution | Installing old packages archived on CRAN | Installing packages from GitHub | Installing local archives | Installing packages from private repositories | Installing Python packages | Installing Python packages not available via nixpkgs (impure) | Installing Julia packages | Converting from an renv.lock file | A complete example | Package installation issues

Last update: 2026-02-18
Started: 2026-01-15

Setting Up and Using Nix and Rix on macOS
Introduction | Why rix and Nix? | Installing Nix | Recommended: Using setup_cachix() | Alternative: Using the cachix client | What if you don't have R already installed? | Generating expressions | More macOS specificities | R Support for Apple Silicon in Nixpkgs | Shared libraries issue | RStudio and other development interfaces on macOS | Why do we need all these special tweaks? | Path of Nix installation not in PATH | Configuring an IDE | Other "Nix"es

Last update: 2026-02-18
Started: 2026-01-15

Building an Environment for Literate Programming
Introduction | Starting with the basics (simple but not entirely reproducible) | 100% reproducible literate programming | Conclusion

Last update: 2026-02-03
Started: 2026-01-15

Contributing to Nixpkgs
Introduction | Setting up | Where to find packages to fix | Case 1: packages that need dependencies to build | Case 2: packages that need a home, X, or simple patching | Case 3: packages that require their attributes to be overridden | Case 4: packages that need a dependency that must be overridden | Case 5: darwin-specific fixes | Case 6: an R packages requires software not in nixpkgs (or outdated in nixpkgs) | Study! Study! Study! Study! | Broken packages | Reviewing PRs

Last update: 2026-02-03
Started: 2026-01-15

Converting renv Projects to Nix Projects
Introduction | Converting an historical renv project | Starting a new project | Caveats | Package versions are not exactly the same between the renv.lock and default.nix files | Don’t use the same folder for your Nix and {renv} projects | Mind the R version

Last update: 2026-02-03
Started: 2026-01-15

Developing Packages with Rix
Why bring {rix} into your package workflow? | Declaring your package environment | Committing the environment to your repository | Keeping the snapshot fresh | Using {rix} in GitHub Actions | Summary

Last update: 2026-02-03
Started: 2026-01-15

Getting Started
Non-technical intro to Nix | The Nix package manager | rix workflow | Converting from an renv.lock file | Using default.nix files

Last update: 2026-02-03
Started: 2026-01-15

Handling Packages with Remote Dependencies
Introduction | The {lookup} package | Caveats | Fixed commits | Duplicated packages | Authenticating to GitHub | Consider using dependencies that made it to CRAN | Custom Git hosting platforms | Conclusion

Last update: 2026-02-03
Started: 2026-01-15

Installing System Tools and TexLive Packages in a Nix Environment
Introduction | Adding tools to an environment | Installing TexLive packages | Installing IDEs

Last update: 2026-02-03
Started: 2026-01-15

Packaging Your Code in R and Python with Rix
Part 1: R Packages with | Setting up the Development Environment | Initializing the Package | Workflow Basics | Using Your Package in a Nix Environment | Part 2: Python Packages with uv | Configuring pyproject.toml | Development Workflow | Local Development Loop

Last update: 2026-02-03
Started: 2026-01-15

Rolling Out Your Own Binary Cache
Introduction | Using GitHub Actions to build the environment | Using your cache

Last update: 2026-02-03
Started: 2026-01-15

Setting Up and Using Nix and Rix on Linux and Windows
Introduction | Why rix and Nix? | Installing Nix | Windows pre-requisites | Using the Determinate Systems installer | Recommended: Using setup_cachix() | Alternative: Using the cachix client | NixOS users | Case 1: you don’t have R installed and wish to install it using Nix as well | Case 2: you have R installed through your OS's package manager | Configuring an IDE | Other "Nix"es

Last update: 2026-02-03
Started: 2026-01-15

Understanding the rPackages Set Release Cycle and Using Bleeding Edge Packages
Introduction | R packages available through Nix | Using bleeding and frozen edge package for your environments | Making your own cache

Last update: 2026-02-03
Started: 2026-01-15

Using an IDE with Nix Shells
Introduction | Our recommendation | Recommended setup on macOS | Recommended setup on Windows | Recommended setup on Linux | RStudio | RStudio on macOS | RStudio on Linux or Windows | Positron | Configuring native Positron to interact with Nix shells | Letting Nix manage Positron on any operating system | VS Code/Codium | Configuring native VS Code/Codium to interact with Nix shells | Letting Nix manage VS Code/Codium | Emacs | Configuring native Emacs to interact with Nix shells | Letting Nix manage Emacs | Making a launcher to start your editor

Last update: 2026-02-03
Started: 2026-01-15

Using Nix Inside Docker
Introduction | A generic Dockerfile | Dockerizing a Shiny application | NixOS

Last update: 2026-02-03
Started: 2026-01-15

Using Rix to Build Project Specific Environments
Project-specific Nix environments | Which r_ver should you choose? | Running old projects with | Running programs from an environment | Running single functions in a subshell | Nix environments are not completely isolated from your system

Last update: 2026-02-03
Started: 2026-01-15

Reproducible Analytical Pipelines with Nix
Introduction | An example of a reproducible analytical pipeline using Nix

Last update: 2026-01-15
Started: 2026-01-15

Running R or Shell Code in Nix from R
Testing code in evolving software dependency environments with confidence | Two operational modes of computations in environments: 'System-to-Nix' and 'Nix-to-Nix' | Case study 1: Evolution of base R | Setting up the (R) software environment with Nix | Defining and interactively testing custom R code with function(s) | Run functioned up code and investigate results produced in pure Nix Rsoftware environments | Syntax option for specifying function in expr argument of with_nix() | Comparing as.vector.data.frame() for both R versions 4.1.3 and 4.2.0 from Nixpkgs | Case study 2: Breaking changes in {stringr} 1.5.0 | Case study 3: Using a subshell to get hard to install dependencies

Last update: 2026-01-15
Started: 2026-01-15