From bfe154f2a6e5d13be5d37ac45ebf09272c71652f Mon Sep 17 00:00:00 2001 From: harryprayiv Date: Sun, 6 Aug 2023 12:22:59 -0400 Subject: [PATCH] reproducible dev environment via flakes --- flake.lock | 27 +++++++++++++++++++++++++++ flake.nix | 23 +++++++++++++++++++++++ hue-cli.gemspec | 2 +- 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 flake.lock create mode 100644 flake.nix diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..3037c94 --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1691313029, + "narHash": "sha256-JCdafAmmuOkcRGFEUkXckRZ3Q/PBBtcm1Mq0GBA3XEY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0bab81e6319eb418e1509fe4b88401a022f3bf99", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..018cab4 --- /dev/null +++ b/flake.nix @@ -0,0 +1,23 @@ +{ + description = "A Nix-flake-based Ruby development environment"; + + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + + outputs = { + self, + nixpkgs, + }: let + supportedSystems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"]; + forEachSupportedSystem = f: + nixpkgs.lib.genAttrs supportedSystems (system: + f { + pkgs = import nixpkgs {inherit system;}; + }); + in { + devShells = forEachSupportedSystem ({pkgs}: { + default = pkgs.mkShell { + packages = with pkgs; [ruby_3_2]; + }; + }); + }; +} diff --git a/hue-cli.gemspec b/hue-cli.gemspec index 24b5d11..eba5ba1 100644 --- a/hue-cli.gemspec +++ b/hue-cli.gemspec @@ -18,7 +18,7 @@ Gem::Specification.new do |s| s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) } s.require_paths = ["lib"] - s.add_runtime_dependency("json") + s.add_runtime_dependency("json", '>= 2.6.1') s.add_runtime_dependency("hue-lib", '>= 0.7.4') s.add_development_dependency("rspec", '>= 2.6.0') s.add_development_dependency("mocha", '>= 0.9.0')