aboutsummaryrefslogtreecommitdiff
path: root/default.nix
diff options
context:
space:
mode:
authorFuwn <[email protected]>2021-05-06 00:22:02 +0000
committerFuwn <[email protected]>2021-05-06 00:22:02 +0000
commitcfb54fcd29fb25f12c483897873fb98f85269d3b (patch)
tree564b20278d8125bde58cec07cfe79b4537f37d2b /default.nix
parentchore(global): create version file (diff)
downloadwhirl-cfb54fcd29fb25f12c483897873fb98f85269d3b.tar.xz
whirl-cfb54fcd29fb25f12c483897873fb98f85269d3b.zip
feat(nix): spice it all up
Diffstat (limited to 'default.nix')
-rw-r--r--default.nix53
1 files changed, 40 insertions, 13 deletions
diff --git a/default.nix b/default.nix
index 1b279f4..ff86419 100644
--- a/default.nix
+++ b/default.nix
@@ -1,20 +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 { };
- whirl = import ./whirl.nix { inherit sources pkgs; };
+ rust = pkgs.callPackage ./nix/rust.nix { };
- name = "Whirlsplash/whirl";
- tag = "latest";
+ srcNoTarget = dir:
+ builtins.filterSource
+ (path: type: type != "directory" || builtins.baseNameOf path != "target")
+ dir;
-in pkgs.dockerTools.buildLayeredImage {
- inherit name tag;
- contents = [ whirl ];
+ naersk = pkgs.callPackage sources.naersk {
+ rustc = rust;
+ cargo = rust;
+ };
+ dhallpkgs = import sources.easy-dhall-nix { inherit pkgs; };
+ src = srcNoTarget ./.;
+
+ whirl = naersk.buildPackage {
+ inherit src;
+ doCheck = true;
+ buildInputs = [ ];
+ remapPathPrefix = true;
+ };
+
+ config = stdenv.mkDerivation {
+ pname = "whirl-config";
+ version = "HEAD";
+ buildInputs = [ dhallpkgs.dhall-simple ];
- config = {
- Cmd = [ "/bin/whirl" ];
- Env = [ ];
- WorkingDir = "/";
+# phases = "installPhase";
+#
+# installPhase = ''
+# '';
};
+
+in pkgs.stdenv.mkDerivation {
+ inherit (whirl) name;
+ inherit src;
+ phases = "installPhase";
+
+ installPhase = ''
+ mkdir -p $out $out/bin
+
+ cp -rf ${whirl}/bin/whirl $out/bin/whirl
+ '';
}