summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorseth <[email protected]>2023-05-18 08:54:37 -0400
committerseth <[email protected]>2023-05-18 08:58:52 -0400
commit5f5b83b62ceb88a44681dba6b3618fe464c162b8 (patch)
tree861cc9d2fc9f2eb4a7a9ca240f62ceeecda2ea8e
parentca90f4810a173d476facb0064cd5b10c6570cb35 (diff)
flake: add support for `git rev-parse` during build
🤡
-rw-r--r--flake.nix2
-rw-r--r--nix/default.nix39
2 files changed, 26 insertions, 15 deletions
diff --git a/flake.nix b/flake.nix
index 5c1f76f..3c9ff90 100644
--- a/flake.nix
+++ b/flake.nix
@@ -27,7 +27,7 @@
nixpkgsFor = forAllSystems (system: import nixpkgs {inherit system;});
packageFn = pkgs: {
- getchoo-website = pkgs.callPackage ./nix {};
+ getchoo-website = pkgs.callPackage ./nix {inherit self;};
};
in {
checks = forAllSystems (system: {
diff --git a/nix/default.nix b/nix/default.nix
index 8776839..20afc8b 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -1,17 +1,28 @@
-{mkYarnPackage, ...}:
-mkYarnPackage rec {
- pname = "getchoo-website";
+{
+ self,
+ mkYarnPackage,
+ writeShellScriptBin,
+ ...
+}: let
+ gitRev = writeShellScriptBin "git" ''
+ echo ${self.rev or "dirty"};
+ '';
+in
+ mkYarnPackage rec {
+ pname = "getchoo-website";
- src = builtins.path {
- path = ../.;
- name = "getchoo-website-source";
- };
+ src = builtins.path {
+ path = ../.;
+ name = "getchoo-website-source";
+ };
- packageJSON = src + "/package.json";
- yarnLock = src + "/yarn.lock";
+ packageJSON = src + "/package.json";
+ yarnLock = src + "/yarn.lock";
- buildPhase = ''
- export HOME="$(mktemp -d)"
- yarn --offline build
- '';
-}
+ nativeBuildInputs = [gitRev];
+
+ buildPhase = ''
+ export HOME="$(mktemp -d)"
+ yarn --offline build
+ '';
+ }