Recent Releases of rix

rix - rix 0.4.1

rix 0.4.1 (2023-10-06)

Bug fixes

  • rix::rix(): fix missing pkgs.mkShell when shell_hook = NULL. Both shell_hook = "" and shell_hook = NULL are now producing valid nix expressions.

Rix: Reproducible Environments with Nix

{rix} is a toolkit in R that eases the creation of reprodublible and isolated R environments using Nix and the Nix Packages collection.

The goal is to enable a frictionless infrastructure-as-code approach for all three major operating systems: linux, macOS and Windows (via WSL2). {nix} equips you with handy helpers so that you can derive a project-based Nix setup without diving too deep into the language and packaging specifics of Nix.

rix() is one of the main functions, which you can use to bootstrap default.nix files by providing these arguments:

  • r_ver: R version or corresponding Nix R revision
  • r_pkgs: R packages and versions from CRAN
  • system_pkgs: any other systems tools available from Nix (e.g. Julia, Rust, quarto CLI, etc.)
  • git_pkgs: R packages and versions from GitHub
  • tex_pkgs: Set of LaTeX packages to install
  • ide: interactive development environment; currently we support RStudio, VSCode, and "other"
  • project_path
  • overwrite
  • - print
  • shell_hook: Commands added via shellHook that get executed when entering in Nix shell environemnt

A lot of new cool features are underway in upcoming versions. Please check out the changelog above or NEWS.md for features, bug fixes and eventual changes in new features. The issue tracker is the recommended way to report problems and to follow development plans and progress.

- R
Published by philipp-baumann over 2 years ago

rix - rix 0.4.0

rix 0.4.0 (2023-09-26)

Features

  • rix::rix() now defaults to "en_US.UTF-8" for the relevant locale variables (LANG, LC_ALL, LC_TIME, LC_MONETARY, LC_PAPER, LC_MEASUREMENT) and sets these environment variables in the Nix shell. These will be correctly propagated into the Nix R session. Users can modify the locale setting via options(rix.nix_locale_variables = list(LANG = "de_CH.UTF-8", <...>), e.g., but it needs to be an UTF-8 locale. This is because we only import the glibcLocalesUtf8 subset, to not keep the size reasonable.

Bug fixes

  • fix locale warnings when starting R in linux, which uses glibc (closes #50). Now, we use glibcLocalesUtf8 from Nix for "x86_64-linux".

Rix: Reproducible Environments with Nix

{rix} is a toolkit in R that eases the creation of reprodublible and isolated R environments using Nix and the Nix Packages collection.

The goal is to enable a frictionless infrastructure-as-code approach for all three major operating systems: linux, macOS and Windows (via WSL2). {nix} equips you with handy helpers so that you can derive a project-based Nix setup without diving too deep into the language and packaging specifics of Nix.

rix() is one of the main functions, which you can use to bootstrap default.nix files by providing these arguments:

  • r_ver: R version or corresponding Nix R revision
  • r_pkgs: R packages and versions from CRAN
  • system_pkgs: any other systems tools available from Nix (e.g. Julia, Rust, quarto CLI, etc.)
  • git_pkgs: R packages and versions from GitHub
  • tex_pkgs: Set of LaTeX packages to install
  • ide: interactive development environment; currently we support RStudio, VSCode, and "other"
  • shell_hook: Commands added via shellHook that get executed when entering in Nix shell environemnt

A lot of new cool features are underway in upcoming versions. Please check out the changelog above or NEWS.md for features, bug fixes and eventual changes in new features. The issue tracker is the recommended way to report problems and to follow development plans and progress.

- R
Published by philipp-baumann over 2 years ago

rix - {rix} v0.2.1.9002

rix 0.2.1.9002 (2023-09-02)

  • nix_build() now supports --max_jobs flag of nix-build via options(rix.nix_build_max_jobs = <integer>). Custom settings of this option can be useful for leveraging full I/O latency or efficient builds on shared memory multiprocessing systems.

rix 0.2.1.9001 (2023-08-29)

  • Include nix_build() in interactive use vignette (#68).

rix 0.2.1.9000 (2023-08-29)

Chore

  • Fix internal create_default_nix() so that project_path is directory name.
  • Updated inst/extdata/default.nix to latest commit of {rix} prior bumping.

rix 0.2.1 (2023-08-26)

Bug fixes

  • Patch rix() to allow empty r_pkgs (##67).
  • Patch rix() to do bug-free calling of rix_build() within default nix shell.

Chore

  • New internal helper create_default_nix() to bootstrap ./inst/extdata/default.nix

rix 0.2.0 (2023-08-25)

New features

  • Updated Nix historical revision data to include R version 4.3.1.
  • Provision a new shell_hook arg for rix::rix(), which will create a shellHook entry in default.nix.

Bug fixes

  • inst/extdata/default.nix: use R --vanilla in shellHook to not propagate user-specific .Renviron and .Rprofile. Fixes #56

- R
Published by philipp-baumann almost 3 years ago

rix - rix 0.1.2

Bug fixes

  • Patch inst/exdata/default.nix by removing LOCALE_ARCHIVE shellHook, that was set to glibc locale. This makes sure nix-build does not fail on MacOS anymore (#40; fixed with 37f7ab8). Please note that this is a temporary fix that works, but it gives a startup warning in R for linux that the locale categories were set to "C".
  • nix_build(): fix defensive check so the error message is referring to project_path instead of nix_file. The patch does not change correct behavior of nix_build(), hence it is only of cosmetic nature.

Rix: Reproducible Environments with Nix

{rix} is a toolkit in R that eases the creation of reprodublible and isolated R environments (and beyond) using Nix and the Nix Packages collection.

The goal is to enable a frictionless infrastructure-as-code approach for all three major operating systems: linux, macOS and Windows (via WSL2). {nix} equips you with handy helpers so that you can derive a project-based Nix setup without diving too deep into the language and packaging specifics of Nix.

rix() is one of the main functions, which you can use to bootstrap default.nix files by providing these arguments:

  • r_ver: R version or corresponding Nix R revision
  • r_pkgs: R packages and versions from CRAN
  • other_pkgs: any other systems tools available from Nix (e.g. Julia, Rust, quarto CLI, etc.)
  • git_pkgs: R packages and versions from GitHub
  • ide: interactive development environment; currently we support RStudio, VSCode, and "other"

A lot of new cool features are underway in upcoming versions. Please check out the changelog above or NEWS.md for features, bug fixes and eventual changes in new features. The issue tracker is the recommended way to report problems and to follow development plans and progress.

- R
Published by philipp-baumann almost 3 years ago