aboutsummaryrefslogtreecommitdiff
path: root/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'default.nix')
-rw-r--r--default.nix58
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
+ '';
}