diff options
Diffstat (limited to 'default.nix')
| -rw-r--r-- | default.nix | 37 |
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" "$@" + ''; + }; + } |
