Last active
May 23, 2019 23:00
-
-
Save alexkehayias/f5538193a40d04c48f872bdad505b740 to your computer and use it in GitHub Desktop.
Rails environment using Nix
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| with (import <nixpkgs> {}); | |
| let | |
| rubyenv = bundlerEnv { | |
| name = "rb"; | |
| # Setup for ruby gems using bundix generated gemset.nix | |
| inherit ruby; | |
| gemfile = ./Gemfile; | |
| lockfile = ./Gemfile.lock; | |
| gemset = ./gemset.nix; | |
| }; | |
| in stdenv.mkDerivation { | |
| name = "MyProject"; | |
| version = "0.0.1"; | |
| buildInputs = [ | |
| stdenv | |
| git | |
| # Ruby deps | |
| ruby | |
| bundler | |
| bundix | |
| # Rails deps | |
| clang | |
| libxml2 | |
| libxslt | |
| readline | |
| sqlite | |
| openssl | |
| rubyenv | |
| ]; | |
| shellHook = '' | |
| export LIBXML2_DIR=${pkgs.libxml2} | |
| export LIBXSLT_DIR=${pkgs.libxslt} | |
| ''; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| source 'https://rubygems.org' | |
| # OAuth | |
| gem 'oauth2', '~> 1.0.0' | |
| gem 'rails' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| actionmailer = { | |
| dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "0lw1pss1mrjm7x7qcg9pvxv55rz3d994yf3mwmlfg1y12fxq00n3"; | |
| type = "gem"; | |
| }; | |
| version = "4.2.7.1"; | |
| }; | |
| actionpack = { | |
| dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1ray5bvlmkimjax011zsw0mz9llfkqrfm7q1avjlp4i0kpcz8zlh"; | |
| type = "gem"; | |
| }; | |
| version = "4.2.7.1"; | |
| }; | |
| actionview = { | |
| dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "11m2x5nlbqrw79fh6h7m444lrka7wwy32b0dvgqg7ilbzih43k0c"; | |
| type = "gem"; | |
| }; | |
| version = "4.2.7.1"; | |
| }; | |
| activejob = { | |
| dependencies = ["activesupport" "globalid"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "0ish5wd8nvmj7f6x1i22aw5ycizy5n1z1c7f3kyxmqwhw7lb0gaz"; | |
| type = "gem"; | |
| }; | |
| version = "4.2.7.1"; | |
| }; | |
| activemodel = { | |
| dependencies = ["activesupport" "builder"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "0acz0mbmahsc9mn41275fpfnrqwig5k09m3xhz3455kv90fn79v5"; | |
| type = "gem"; | |
| }; | |
| version = "4.2.7.1"; | |
| }; | |
| activerecord = { | |
| dependencies = ["activemodel" "activesupport" "arel"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1lk8l6i9p7qfl0pg261v5yph0w0sc0vysrdzc6bm5i5rxgi68flj"; | |
| type = "gem"; | |
| }; | |
| version = "4.2.7.1"; | |
| }; | |
| activesupport = { | |
| dependencies = ["i18n" "json" "minitest" "thread_safe" "tzinfo"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1gds12k7nxrcc09b727a458ndidy1nfcllj9x22jcaj7pppvq6r4"; | |
| type = "gem"; | |
| }; | |
| version = "4.2.7.1"; | |
| }; | |
| arel = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk"; | |
| type = "gem"; | |
| }; | |
| version = "6.0.3"; | |
| }; | |
| builder = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2"; | |
| type = "gem"; | |
| }; | |
| version = "3.2.2"; | |
| }; | |
| concurrent-ruby = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1kb4sav7yli12pjr8lscv8z49g52a5xzpfg3z9h8clzw6z74qjsw"; | |
| type = "gem"; | |
| }; | |
| version = "1.0.2"; | |
| }; | |
| erubis = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; | |
| type = "gem"; | |
| }; | |
| version = "2.7.0"; | |
| }; | |
| faraday = { | |
| dependencies = ["multipart-post"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1kplqkpn2s2yl3lxdf6h7sfldqvkbkpxwwxhyk7mdhjplb5faqh6"; | |
| type = "gem"; | |
| }; | |
| version = "0.9.2"; | |
| }; | |
| globalid = { | |
| dependencies = ["activesupport"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "11plkgyl3w9k4y2scc1igvpgwyz4fnmsr63h2q4j8wkb48nlnhak"; | |
| type = "gem"; | |
| }; | |
| version = "0.3.7"; | |
| }; | |
| i18n = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758"; | |
| type = "gem"; | |
| }; | |
| version = "0.7.0"; | |
| }; | |
| json = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1nsby6ry8l9xg3yw4adlhk2pnc7i0h0rznvcss4vk3v74qg0k8lc"; | |
| type = "gem"; | |
| }; | |
| version = "1.8.3"; | |
| }; | |
| jwt = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "0s5llb4mhpy0phzbrc4jd2jd2b91h1axy4bhci7g1bdz1w2m3a2i"; | |
| type = "gem"; | |
| }; | |
| version = "1.5.4"; | |
| }; | |
| loofah = { | |
| dependencies = ["nokogiri"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "109ps521p0sr3kgc460d58b4pr1z4mqggan2jbsf0aajy9s6xis8"; | |
| type = "gem"; | |
| }; | |
| version = "2.0.3"; | |
| }; | |
| mail = { | |
| dependencies = ["mime-types"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "0c9vqfy0na9b5096i5i4qvrvhwamjnmajhgqi3kdsdfl8l6agmkp"; | |
| type = "gem"; | |
| }; | |
| version = "2.6.4"; | |
| }; | |
| mime-types = { | |
| dependencies = ["mime-types-data"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "0087z9kbnlqhci7fxh9f6il63hj1k02icq2rs0c6cppmqchr753m"; | |
| type = "gem"; | |
| }; | |
| version = "3.1"; | |
| }; | |
| mime-types-data = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "04my3746hwa4yvbx1ranhfaqkgf6vavi1kyijjnw8w3dy37vqhkm"; | |
| type = "gem"; | |
| }; | |
| version = "3.2016.0521"; | |
| }; | |
| mini_portile2 = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1y25adxb1hgg1wb2rn20g3vl07qziq6fz364jc5694611zz863hb"; | |
| type = "gem"; | |
| }; | |
| version = "2.1.0"; | |
| }; | |
| minitest = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1gfzf7112vffcwamfny06pz4wr16xdihz666m1s47v077560nrll"; | |
| type = "gem"; | |
| }; | |
| version = "5.9.0"; | |
| }; | |
| multi_json = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1wpc23ls6v2xbk3l1qncsbz16npvmw8p0b38l8czdzri18mp51xk"; | |
| type = "gem"; | |
| }; | |
| version = "1.12.1"; | |
| }; | |
| multi_xml = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "0i8r7dsz4z79z3j023l8swan7qpbgxbwwz11g38y2vjqjk16v4q8"; | |
| type = "gem"; | |
| }; | |
| version = "0.5.5"; | |
| }; | |
| multipart-post = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; | |
| type = "gem"; | |
| }; | |
| version = "2.0.0"; | |
| }; | |
| nokogiri = { | |
| dependencies = ["mini_portile2" "pkg-config"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "17pjhvm4yigriizxbbpx266nnh6nckdm33m3j4ws9dcg99daz91p"; | |
| type = "gem"; | |
| }; | |
| version = "1.6.8"; | |
| }; | |
| oauth2 = { | |
| dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "0zaa7qnvizv363apmxx9vxa8f6c6xy70z0jm0ydx38xvhxr8898r"; | |
| type = "gem"; | |
| }; | |
| version = "1.0.0"; | |
| }; | |
| pkg-config = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "0lljiqnm0b4z6iy87lzapwrdfa6ps63x2z5zbs038iig8dqx2g0z"; | |
| type = "gem"; | |
| }; | |
| version = "1.1.7"; | |
| }; | |
| rack = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "09bs295yq6csjnkzj7ncj50i6chfxrhmzg1pk6p0vd2lb9ac8pj5"; | |
| type = "gem"; | |
| }; | |
| version = "1.6.4"; | |
| }; | |
| rack-test = { | |
| dependencies = ["rack"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z"; | |
| type = "gem"; | |
| }; | |
| version = "0.6.3"; | |
| }; | |
| rails = { | |
| dependencies = ["actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1avd16ir7qx23dcnz1b3cafq1lja6rq0w222bs658p9n33rbw54l"; | |
| type = "gem"; | |
| }; | |
| version = "4.2.7.1"; | |
| }; | |
| rails-deprecated_sanitizer = { | |
| dependencies = ["activesupport"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj"; | |
| type = "gem"; | |
| }; | |
| version = "1.0.3"; | |
| }; | |
| rails-dom-testing = { | |
| dependencies = ["activesupport" "nokogiri" "rails-deprecated_sanitizer"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1v8jl6803mbqpxh4hn0szj081q1a3ap0nb8ni0qswi7z4la844v8"; | |
| type = "gem"; | |
| }; | |
| version = "1.0.7"; | |
| }; | |
| rails-html-sanitizer = { | |
| dependencies = ["loofah"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "138fd86kv073zqfx0xifm646w6bgw2lr8snk16lknrrfrss8xnm7"; | |
| type = "gem"; | |
| }; | |
| version = "1.0.3"; | |
| }; | |
| railties = { | |
| dependencies = ["actionpack" "activesupport" "rake" "thor"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "04rz7cn64zzvq7lnhc9zqmaqmqkq84q25v0ym9lcw75j1cj1mrq4"; | |
| type = "gem"; | |
| }; | |
| version = "4.2.7.1"; | |
| }; | |
| rake = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "0m7fk7n0q459b1866cpq0gyz6904srhajrag0ybpdyl5sw4c2xff"; | |
| type = "gem"; | |
| }; | |
| version = "11.2.2"; | |
| }; | |
| sprockets = { | |
| dependencies = ["concurrent-ruby" "rack"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "0jzsfiladswnzbrwqfiaj1xip68y58rwx0lpmj907vvq47k87gj1"; | |
| type = "gem"; | |
| }; | |
| version = "3.7.0"; | |
| }; | |
| sprockets-rails = { | |
| dependencies = ["actionpack" "activesupport" "sprockets"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1sak0as7ka964f6zjb1w8hkvfkkbf55kpcyvh7k6nyrb6pqnwmnf"; | |
| type = "gem"; | |
| }; | |
| version = "3.1.1"; | |
| }; | |
| thor = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z"; | |
| type = "gem"; | |
| }; | |
| version = "0.19.1"; | |
| }; | |
| thread_safe = { | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr"; | |
| type = "gem"; | |
| }; | |
| version = "0.3.5"; | |
| }; | |
| tzinfo = { | |
| dependencies = ["thread_safe"]; | |
| source = { | |
| remotes = ["https://rubygems.org"]; | |
| sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx"; | |
| type = "gem"; | |
| }; | |
| version = "1.2.2"; | |
| }; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment