No articles match
A Complete End-to-End Walkthrough to Set Up a Project5 months ago
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
A Complete End-to-End Walkthrough to Set Up a Project5 months ago
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
Managing Cached Build Artifacts5 months ago
Introduction | Build Logs: The Key to Your Pipeline's History | Cleaning Up Artifacts with rxp_gc() | 1. Targeted Deletion: Cleaning Up Old Builds | 2. Full Garbage Collection | Conclusion
Organising Large Projects with Sub-Pipelines5 months ago
Large Pipelines Become Unwieldy | Basic Usage | Visualising Sub-Pipelines | Switching Between Colour Modes | How It Works Internally | Best Practices | Conclusion
Managing Cached Build Artifacts5 months ago
Introduction | Build Logs: The Key to Your Pipeline's History | Cleaning Up Artifacts with rxp_gc() | 1. Targeted Deletion: Cleaning Up Old Builds | 2. Full Garbage Collection | Conclusion
Organising Large Projects with Sub-Pipelines5 months ago
Large Pipelines Become Unwieldy | Basic Usage | Visualising Sub-Pipelines | Switching Between Colour Modes | How It Works Internally | Best Practices | Conclusion
Installing R and Python Packages in a Nix Environment5 months ago
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
Installing R and Python Packages in a Nix Environment5 months ago
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
Setting Up and Using Nix and Rix on macOS5 months ago
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
Setting Up and Using Nix and Rix on macOS5 months ago
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
Building an Environment for Literate Programming5 months ago
Introduction | Starting with the basics (simple but not entirely reproducible) | 100% reproducible literate programming | Conclusion
Contributing to Nixpkgs5 months ago
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
Converting renv Projects to Nix Projects5 months ago
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
Developing Packages with Rix5 months ago
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
Getting Started5 months ago
Non-technical intro to Nix | The Nix package manager | rix workflow | Converting from an renv.lock file | Using default.nix files
Handling Packages with Remote Dependencies5 months ago
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
Installing System Tools and TexLive Packages in a Nix Environment5 months ago
Introduction | Adding tools to an environment | Installing TexLive packages | Installing IDEs
Packaging Your Code in R and Python with Rix5 months ago
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
Rolling Out Your Own Binary Cache5 months ago
Introduction | Using GitHub Actions to build the environment | Using your cache
Setting Up and Using Nix and Rix on Linux and Windows5 months ago
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
Understanding the rPackages Set Release Cycle and Using Bleeding Edge Packages5 months ago
Introduction | R packages available through Nix | Using bleeding and frozen edge package for your environments | Making your own cache
Using an IDE with Nix Shells5 months ago
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
Using Nix Inside Docker5 months ago
Introduction | A generic Dockerfile | Dockerizing a Shiny application | NixOS
Using Rix to Build Project Specific Environments5 months ago
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
Building an Environment for Literate Programming5 months ago
Introduction | Starting with the basics (simple but not entirely reproducible) | 100% reproducible literate programming | Conclusion
Contributing to Nixpkgs5 months ago
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
Converting renv Projects to Nix Projects5 months ago
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
Developing Packages with Rix5 months ago
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
Getting Started5 months ago
Non-technical intro to Nix | The Nix package manager | rix workflow | Converting from an renv.lock file | Using default.nix files
Handling Packages with Remote Dependencies5 months ago
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
Installing System Tools and TexLive Packages in a Nix Environment5 months ago
Introduction | Adding tools to an environment | Installing TexLive packages | Installing IDEs
Packaging Your Code in R and Python with Rix5 months ago
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
Rolling Out Your Own Binary Cache5 months ago
Introduction | Using GitHub Actions to build the environment | Using your cache
Setting Up and Using Nix and Rix on Linux and Windows5 months ago
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
Understanding the rPackages Set Release Cycle and Using Bleeding Edge Packages5 months ago
Introduction | R packages available through Nix | Using bleeding and frozen edge package for your environments | Making your own cache
Using an IDE with Nix Shells5 months ago
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
Using Nix Inside Docker5 months ago
Introduction | A generic Dockerfile | Dockerizing a Shiny application | NixOS
Using Rix to Build Project Specific Environments5 months ago
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
Core Rixpress Functions and Usage5 months ago
Getting data into the pipeline | Declaring build steps | Generating the pipeline | Defining a Reproducible Shell for Execution | Optional steps before building the pipeline | Graphical representation of the pipeline's DAG | Tracing the lineage of derivations | Building and inspecting outputs | No-op builds for individual derivations | Caveats | Conclusion
Polyglot Pipelines and Literate Programming5 months ago
Analysing the mtcars dataset using R and Python | Building a Quarto or R Markdown document
Setting Up a Pipeline from Scratch5 months ago
Installing the required software | Bootstrapping a project
Core Rixpress Functions and Usage5 months ago
Getting data into the pipeline | Declaring build steps | Generating the pipeline | Defining a Reproducible Shell for Execution | Optional steps before building the pipeline | Graphical representation of the pipeline's DAG | Tracing the lineage of derivations | Building and inspecting outputs | No-op builds for individual derivations | Caveats | Conclusion
Polyglot Pipelines and Literate Programming5 months ago
Analysing the mtcars dataset using R and Python | Building a Quarto or R Markdown document
Setting Up a Pipeline from Scratch5 months ago
Installing the required software | Bootstrapping a project
Using Chronicler for Error-Tolerant Pipelines5 months ago
The Problem: Silent Failures | What is {chronicler}? | The Challenge with Nix Builds | The Solution: Automatic Chronicle Checking | Three-State Status System | Complete Example | Automatic Warnings | Best Practices | When to Use Chronicler | Further Reading
Using Chronicler for Error-Tolerant Pipelines5 months ago
The Problem: Silent Failures | What is {chronicler}? | The Challenge with Nix Builds | The Solution: Automatic Chronicle Checking | Three-State Status System | Complete Example | Automatic Warnings | Best Practices | When to Use Chronicler | Further Reading
Running Pipelines in CI5 months ago
Running pipelines on GitHub Actions
Running Pipelines in CI5 months ago
Running pipelines on GitHub Actions
Effective Debugging5 months ago
Introduction | The First Response to a Failed Build: rxp_inspect() | Investigating Structural Issues with rxp_trace() | A Proactive Strategy: Isolating Derivations with noop_build | Historical Debugging: Going Back in Time | Conclusion
Encoding, Decoding, and Cross-Language Data Transfer5 months ago
Introduction | Custom Encoding and Decoding in R | Cross-Language Data Transfer: R ↔ Python | Summary
Importing Data Files5 months ago
Importing a single local file | Importing a single file from the internet | Importing many files from a directory | Importing files with dependencies (e.g., Shapefiles) | Conclusion
Introductory Concepts5 months ago
Definitions | Derivations | Dependencies of derivations | The Nix store and hermetic builds | Summary and conclusion
Polyglot Pipelines with Julia and R5 months ago
Generating waveshaders data using Julia and plotting it using R | Setting up the environment | Creating the pipeline | Helper functions | Data transfer between R and Julia | Conclusion
Scope and Roadmap5 months ago
Overview | What rixpress is | What rixpress is not | Primary audience | In-scope features (current) | Out-of-scope features (not planned) | Roadmap | Near-term (next minor releases) | Maybe later | Not planned | How to propose new features | Related projects and inspiration | Links
Using {cmdstanr} with {rixpress}5 months ago
Setting up the Environment | Setting up the pipeline | Compiling and Sampling the Model | Custom Serialisation | Summary
Effective Debugging5 months ago
Introduction | The First Response to a Failed Build: rxp_inspect() | Investigating Structural Issues with rxp_trace() | A Proactive Strategy: Isolating Derivations with noop_build | Historical Debugging: Going Back in Time | Conclusion
Encoding, Decoding, and Cross-Language Data Transfer5 months ago
Introduction | Custom Encoding and Decoding in R | Cross-Language Data Transfer: R ↔ Python | Summary
Importing Data Files5 months ago
Importing a single local file | Importing a single file from the internet | Importing many files from a directory | Importing files with dependencies (e.g., Shapefiles) | Conclusion
Introductory Concepts5 months ago
Definitions | Derivations | Dependencies of derivations | The Nix store and hermetic builds | Summary and conclusion
Polyglot Pipelines with Julia and R5 months ago
Generating waveshaders data using Julia and plotting it using R | Setting up the environment | Creating the pipeline | Helper functions | Data transfer between R and Julia | Conclusion
Scope and Roadmap5 months ago
Overview | What rixpress is | What rixpress is not | Primary audience | In-scope features (current) | Out-of-scope features (not planned) | Roadmap | Near-term (next minor releases) | Maybe later | Not planned | How to propose new features | Related projects and inspiration | Links
Using {cmdstanr} with {rixpress}5 months ago
Setting up the Environment | Setting up the pipeline | Compiling and Sampling the Model | Custom Serialisation | Summary
Reproducible Analytical Pipelines with Nix6 months ago
Introduction | An example of a reproducible analytical pipeline using Nix
Running R or Shell Code in Nix from R6 months ago
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
Reproducible Analytical Pipelines with Nix6 months ago
Introduction | An example of a reproducible analytical pipeline using Nix
Running R or Shell Code in Nix from R6 months ago
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
A real world example11 months ago
A non-mathematician's introduction to monads11 months ago
Introduction | Monadic laws | First law | Second law | Third law | flatmap() for chronicle objects
Recording ggplot Objects with chronicler11 months ago
Introduction | Basic Recording and Inspection | Handling Failures Gracefully | Capturing Errors | Controlling Strictness | Conclusion
The Maybe monad11 months ago
Dealing with UTF-8 characters7 years ago