···8899There are two main approaches for using Ruby with gems. One is to use a specifically locked `Gemfile` for an application that has very strict dependencies. The other is to depend on the common gems, which we'll explain further down, and rely on them being updated regularly.10101111-The interpreters have common attributes, namely `gems`, and `withPackages`. So you can refer to `ruby.gems.nokogiri`, or `ruby_3_2.gems.nokogiri` to get the Nokogiri gem already compiled and ready to use.1111+The interpreters have common attributes, namely `gems`, and `withPackages`. So you can refer to `ruby.gems.nokogiri`, or `ruby_3_4.gems.nokogiri` to get the Nokogiri gem already compiled and ready to use.12121313Since not all gems have executables like `nokogiri`, it's usually more convenient to use the `withPackages` function like this: `ruby.withPackages (p: with p; [ nokogiri ])`. This will also make sure that the Ruby in your environment will be able to find the gem and it can be used in your Ruby code (for example via `ruby` or `irb` executables) via `require "nokogiri"` as usual.1414
+1-1
nixos/modules/services/misc/redmine.nix
···8080 enable = lib.mkEnableOption "Redmine, a project management web application";81818282 package = lib.mkPackageOption pkgs "redmine" {8383- example = "redmine.override { ruby = pkgs.ruby_3_2; }";8383+ example = "redmine.override { ruby = pkgs.ruby_3_4; }";8484 };85858686 user = lib.mkOption {
+33-5
pkgs/applications/editors/vim/macvim.nix
···77 gettext,88 pkg-config,99 cscope,1010- ruby_3_2,1010+ ruby,1111 tcl,1212- perl540,1212+ perl,1313 luajit,1414 darwin,1515 libiconv,···18181919# Try to match MacVim's documented script interface compatibility2020let2121- perl = perl540;2222- # Ruby 3.22323- ruby = ruby_3_2;2121+ #perl = perl540;2222+ # Ruby 3.32323+ #ruby = ruby_3_3;24242525 # Building requires a few system tools to be in PATH.2626 # Some of these we could patch into the relevant source files (such as xcodebuild and···215215 maintainers = [ ];216216 platforms = platforms.darwin;217217 hydraPlatforms = [ ]; # hydra can't build this as long as we rely on Xcode and sandboxProfile218218+ # Needs updating to a newer MacVim for Python and Ruby version support219219+ broken = true;220220+ knownVulnerabilities = [221221+ "CVE-2023-46246"222222+ "CVE-2023-48231"223223+ "CVE-2023-48232"224224+ "CVE-2023-48233"225225+ "CVE-2023-48234"226226+ "CVE-2023-48235"227227+ "CVE-2023-48236"228228+ "CVE-2023-48237"229229+ "CVE-2023-48706"230230+ "CVE-2023-5344"231231+ "CVE-2023-5441"232232+ "CVE-2023-5535"233233+ "CVE-2024-22667"234234+ "CVE-2024-41957"235235+ "CVE-2024-41965"236236+ "CVE-2024-43374"237237+ "CVE-2024-47814"238238+ "CVE-2025-1215"239239+ "CVE-2025-22134"240240+ "CVE-2025-24014"241241+ "CVE-2025-26603"242242+ "CVE-2025-29768"243243+ "CVE-2025-53905"244244+ "CVE-2025-53906"245245+ ];218246 };219247})
···11-Do not regenerate revision.h22-33-Ruby's makefile compares the shipped version with the git revision to regenerate44-revision.h [1], but since we don't include git in buildInputs, this comparison55-fails and it can't find $(REVISION_H).66-77-[1] https://github.com/ruby/ruby/commit/97a5af62a318fcd93a4e5e4428d576c0280ddbae88-99-diff -Naur ruby.old/defs/gmake.mk ruby.new/defs/gmake.mk1010---- ruby.old/defs/gmake.mk1111-+++ ruby.new/defs/gmake.mk1212-@@ -325,11 +325,9 @@1313-1414- REVISION_IN_HEADER := $(shell sed -n 's/^\#define RUBY_FULL_REVISION "\(.*\)"/\1/p' $(srcdir)/revision.h 2>/dev/null)1515- REVISION_LATEST := $(shell $(CHDIR) $(srcdir) && git log -1 --format=%H 2>/dev/null)1616--ifneq ($(REVISION_IN_HEADER),$(REVISION_LATEST))1717- # GNU make treat the target as unmodified when its dependents get1818- # updated but it is not updated, while others may not.1919- $(srcdir)/revision.h: $(REVISION_H)2020--endif2121-2222- # Query on the generated rdoc2323- #
···55 lib = pkgs.lib;66 stdenv = pkgs.stdenv;7788- rubyVersions = with pkgs; [99- ruby_3_288+ rubyVersions = [99+ # TODO FIXME: All versions listed here were dropped from Nixpkgs.1010+ # Add current versions here or remove this file if it’s no longer1111+ # being used.1012 ];11131214 gemTests = (lib.mapAttrs (name: gem: [ name ]) pkgs.ruby.gems) // (import ./require_exceptions.nix);
+4
pkgs/top-level/aliases.nix
···23542354 rquickshare-legacy = throw "The legacy version depends on insecure package libsoup2, please use the main version"; # Added 2025-10-0923552355 rr-unstable = rr; # Added 2022-09-1723562356 rtx = mise; # Added 2024-01-0523572357+ ruby_3_1 = throw "ruby_3_1 has been removed, as it is has reached end‐of‐life upstream"; # Added 2025-10-1223582358+ ruby_3_2 = throw "ruby_3_2 has been removed, as it will reach end‐of‐life upstream during Nixpkgs 25.11’s support cycle"; # Added 2025-10-1223592359+ rubyPackages_3_1 = throw "rubyPackages_3_1 has been removed, as it is has reached end‐of‐life upstream"; # Added 2025-10-1223602360+ rubyPackages_3_2 = throw "rubyPackages_3_2 has been removed, as it will reach end‐of‐life upstream during Nixpkgs 25.11’s support cycle"; # Added 2025-10-1223572361 ruby-zoom = throw "'ruby-zoom' has been removed due to lack of maintaince and had not been updated since 2020"; # Added 2025-08-2423582362 runCommandNoCC = runCommand; # Added 2021-08-1523592363 runCommandNoCCLocal = runCommandLocal; # Added 2021-08-15