Simplified codebase

This commit is contained in:
Daniel Winkler 2026-05-21 18:45:36 +10:00
commit 74600519a5
15 changed files with 83 additions and 280 deletions

View file

@ -4,9 +4,8 @@ let
rOverlay = import ./r.nix {inherit inputs;};
rNvimNixOverlay = inputs.r-nvim-nix.overlays.default;
franOverlay = inputs.fran.overlays.default;
pythonOverlay = import ./python.nix inputs;
pluginsOverlay = import ./plugins.nix inputs;
pythonOverlay = import ./python.nix {inherit inputs;};
pluginsOverlay = import ./plugins.nix {inherit inputs;};
dependencyOverlays = [
rOverlay
@ -15,6 +14,11 @@ let
pluginsOverlay
];
dependencyOverlay = lib.composeManyExtensions dependencyOverlays;
# franOverlay provides R-specific tooling (radianWrapper, air-formatter).
# It is scoped to rixpkgs (via overlays/r.nix) rather than the global
# package set, since it only applies to R package derivations.
franOverlay = inputs.fran.overlays.default;
in
{
inherit
@ -26,20 +30,6 @@ in
dependencyOverlays
dependencyOverlay;
# Named exports for downstream composition.
default = dependencyOverlay;
dependencies = dependencyOverlays;
overlays = {
inherit
rOverlay
rNvimNixOverlay
franOverlay
pythonOverlay
pluginsOverlay
dependencyOverlays
dependencyOverlay;
default = dependencyOverlay;
dependencies = dependencyOverlays;
};
}

View file

@ -1,55 +1,15 @@
# R packages overlay (rix)
#
# This overlay provides access to R packages from rstats-on-nix.
#
# rstats-on-nix maintains snapshots of CRAN packages built with Nix:
# - Provides reproducible R package versions
# - Ensures binary cache availability for faster builds
# - Maintained by the rstats-on-nix community
#
# Available attributes after applying this overlay:
# - pkgs.rpkgs: R packages from rstats-on-nix
# - pkgs.rpkgs.rPackages: All CRAN packages
# - pkgs.rpkgs.quarto: Quarto publishing system
# - pkgs.rpkgs.rWrapper: R with package management
# - pkgs.rWrapper: R wrapper with standard packages pre-configured
# - pkgs.quarto: Quarto with R integration and standard packages
#
# Custom R packages and tools (radianWrapper, air-formatter) come from
# the fran overlay which should be applied separately.
#
# To use specific R packages, reference them via:
# with pkgs.rpkgs.rPackages; [ package1 package2 ]
#
# Update the R snapshot date in flake.nix inputs section:
# rixpkgs.url = "github:rstats-on-nix/nixpkgs/YYYY-MM-DD"
{
inputs,
...
}: final: prev: let
# R packages from rstats-on-nix for the current system
rpkgs = import inputs.rixpkgs {
system = prev.stdenv.hostPlatform.system;
overlays = [inputs.fran.overlays.default];
}; # rixpkgs.legacyPackages.${prev.stdenv.hostPlatform.system};
# nvimcom and rnvimserver are provided by the r-nvim-nix flake overlay
# (inputs.r-nvim-nix.overlays.default)
# Standard R packages used by default in rWrapper and quarto
reqPkgs = with rpkgs.rPackages; [
# languageserver
];
};
in {
inherit rpkgs;
baseRPackages = reqPkgs;
# R wrapper with standard packages
rWrapper = rpkgs.rWrapper.override {packages = reqPkgs;};
# Quarto with R integration
quarto = rpkgs.quarto.override {extraRPackages = reqPkgs;};
# Update helper for rix
baseRPackages = [ ];
rWrapper = rpkgs.rWrapper.override {packages = [ ];};
quarto = rpkgs.quarto.override {extraRPackages = [ ];};
updateR = import ../scripts/updater.nix {pkgs = final;};
}