summaryrefslogtreecommitdiff
path: root/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'default.nix')
-rw-r--r--default.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/default.nix b/default.nix
new file mode 100644
index 0000000..ad898a9
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,37 @@
+let
+ lock = builtins.fromJSON (builtins.readFile ./flake.lock);
+ nixpkgs' = fetchTarball {
+ url = lock.nodes.nixpkgs.locked.url or "https://github.com/NixOS/nixpkgs/archive/${lock.nodes.nixpkgs.locked.rev}.tar.gz";
+ sha256 = lock.nodes.nixpkgs.locked.narHash;
+ };
+in
+ {
+ nixpkgs ?
+ import nixpkgs' {
+ config = {};
+ overlays = [];
+ inherit system;
+ },
+ system ? builtins.currentSystem,
+ }: let
+ pkgs = nixpkgs;
+ inherit (nixpkgs) lib;
+
+ toProcfile = procGroup:
+ lib.concatLines (
+ lib.mapAttrsToList (name: cmd: "${name}: ${cmd}") procGroup
+ );
+ in {
+ mkProcfileRunner = {
+ name,
+ procGroup,
+ }:
+ pkgs.writeShellApplication {
+ inherit name;
+ runtimeInputs = [pkgs.overmind];
+ text = ''
+ set -x
+ overmind start -f ${pkgs.writeText name (toProcfile procGroup)} --root "$PWD" "$@"
+ '';
+ };
+ }