Created
June 8, 2020 21:25
-
-
Save burke/72ca46c80e57a25907a75611ee5eb66d to your computer and use it in GitHub Desktop.
This file contains 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
{ 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} | |
''; | |
}; | |
}; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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?