diff options
Diffstat (limited to 'default.nix')
| -rw-r--r-- | default.nix | 58 |
1 files changed, 43 insertions, 15 deletions
diff --git a/default.nix b/default.nix index 4f4ca20..b963f0b 100644 --- a/default.nix +++ b/default.nix @@ -1,19 +1,47 @@ -{ system ? builtins.currentSystem }: +{ sources ? import ./nix/sources.nix, pkgs ? import sources.nixpkgs { } }: +with pkgs; let - sources = import ./nix/sources.nix; - pkgs = import sources.nixpkgs { }; - senpy-api = import ./senpy-api.nix { inherit sources pkgs; }; - - name = "senpy-club/api"; - tag = "latest"; -in pkgs.dockerTools.buildLayeredImage { - inherit name tag; - contents = [ senpy-api ]; - - config = { - Cmd = [ "/bin/senpy-api" ]; - Env = [ ]; - WorkingDir = "/"; + rust = pkgs.callPackage ./nix/rust.nix { }; + + srcNoTarget = dir: + builtins.filterSource + (path: type: type != "directory" || builtins.baseNameOf path != "target") + dir; + + naersk = pkgs.callPackage sources.naersk { + rustc = rust; + cargo = rust; + }; + dhallpkgs = import sources.easy-dhall-nix { inherit pkgs; }; + src = srcNoTarget ./.; + + senpy-api = naersk.buildPackage { + inherit src; + doCheck = true; + buildInputs = [ ]; + remapPathPrefix = true; + }; + + config = stdenv.mkDerivation { + pname = "senpy-api-config"; + version = "HEAD"; + buildInputs = [ dhallpkgs.dhall-simple ]; + +# phases = "installPhase"; +# +# installPhase = '' +# ''; }; + +in pkgs.stdenv.mkDerivation { + inherit (senpy-api) name; + inherit src; + phases = "installPhase"; + + installPhase = '' + mkdir -p $out $out/bin + + cp -rf ${senpy-api}/bin/senpy-api $out/bin/senpy-api + ''; } |