{ description = "Infinsweeper"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; }; outputs = { nixpkgs, ... }: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; ruby = pkgs.ruby.withPackages ( p: with p; [ sqlite3 sequel rackup puma sinatra ] ); app = pkgs.stdenv.mkDerivation { pname = "infinsweeper"; version = "0.1.0"; src = ./.; buildInputs = [ ruby ]; installPhase = '' mkdir -p $out cp -r . $out/ ''; postFixup = '' substituteInPlace $out/bin/infinsweeper \ --replace-fail '#!/usr/bin/env ruby' '#!${ruby}/bin/ruby' ''; }; in { packages.${system}.default = app; devShells.${system}.default = pkgs.mkShell { packages = [ ruby pkgs.sqlite ]; }; }; }