Skip to content

Instantly share code, notes, and snippets.

@burke
Created June 8, 2020 21:25
Show Gist options
  • Save burke/72ca46c80e57a25907a75611ee5eb66d to your computer and use it in GitHub Desktop.
Save burke/72ca46c80e57a25907a75611ee5eb66d to your computer and use it in GitHub Desktop.
{ config, pkgs, lib, ... }:
{
rune.project.name = "shopify-pay";
rune.framework.rails.enable = true;
aspect.packages.include = with pkgs; [
geolite2 ngrok mysqlClient57 overmind watchman toxiproxy v8
];
rune.project.repoName = "pay";
aspect.developmentServer.hostname = "pay.myshopify.io";
aspect.developmentServer.port = 40018;
aspect.gitHooks.pre-commit = [ ./bin/git/pre-commit.sh ];
aspect.customEnv = {
KARAFKA_BOOT_FILE = "./shopify_pay_karafka/config/application.rb";
};
aspect.integrations = {
shop-accounts = {};
cardsink-copy = {};
cardserver-copy = {};
hosted-fields-copy = {};
};
aspect.commands = {
server.default = {
description = "Start overmind (rails server, karafka, sidekiq)";
run = "overmind start -f Procfile.dev";
};
karafka.default = { run = "karafka"; };
sidekiq.default = {
run = "sidekiq -q payment_create -q payment_poll -q mailers -q default -q maintenance -q kafka";
};
ngrok.default = {
description = "Starts the ngrok tunnel";
run = "ngrok start -config config/ngrok.yml shopify-pay";
};
staging.default = {
description = "Test your branch on staging";
run = ''
git push origin +@:staging --no-verify
open ${config.aspect.shipit.stagingUrl}
'';
};
};
}
@roberth
Copy link

roberth commented Jun 10, 2020

Hi Burke!
I think I had the same idea with project.nix. It's in an experimental stage as of now with support for pre-commit-hooks.nix and IOHK's haskell.nix.
Is runix published somewhere?
Do you think we could standardize a core of certain module options so the community can contribute their own tooling and language integrations?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment