Simple example of how to make use of nixpkgs-ruby
1{
2 inputs = {
3 nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
4 nixpkgs-ruby.url = "github:bobvanderlinden/nixpkgs-ruby";
5 nixpkgs-ruby.inputs.nixpkgs.follows = "nixpkgs";
6 flake-utils.url = "github:numtide/flake-utils";
7 };
8
9 outputs = { self, nixpkgs, nixpkgs-ruby, flake-utils }:
10 flake-utils.lib.eachDefaultSystem (system:
11 let
12 pkgs = nixpkgs.legacyPackages.${system};
13 ruby = nixpkgs-ruby.lib.packageFromRubyVersionFile {
14 file = ./.ruby-version;
15 inherit system;
16 };
17
18 gems = pkgs.bundlerEnv {
19 name = "gemset";
20 inherit ruby;
21 gemfile = ./Gemfile;
22 lockfile = ./Gemfile.lock;
23 gemset = ./gemset.nix;
24 groups = [ "default" "production" "development" "test" ];
25 };
26 in
27 {
28 devShell = with pkgs;
29 mkShell {
30 buildInputs = [
31 gems
32 ruby
33 bundix
34 ];
35 };
36 });
37}