Skip to content

Commit d506ef5

Browse files
committed
Write a wrapper to provide the data directory for the flake
This is mostly useful when running `nix run` outside the repository.
1 parent 5ea9459 commit d506ef5

2 files changed

Lines changed: 18 additions & 5 deletions

File tree

default.nix

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@
1919
inherit system;
2020
buildGitHubPages = false;
2121
};
22-
in
23-
pkgs.maven.buildMavenPackage rec {
22+
demo = pkgs.maven.buildMavenPackage rec {
2423
pname = "DiffDetective-Demo";
2524
# The single source of truth for the version number is stored in `pom.xml`.
2625
# Hence, this XML file needs to be parsed to extract the current version.
@@ -61,6 +60,17 @@ in
6160
'';
6261
};
6362

63+
passthru = {
64+
data-wrapper = pkgs.writeShellScriptBin "DiffDetective-Demo" ''
65+
if ! [ -d data ]
66+
then
67+
cp -r ${src}/data .
68+
chmod u+w -R data
69+
fi
70+
${demo}/bin/DiffDetective-Demo
71+
'';
72+
};
73+
6474
nativeBuildInputs = [pkgs.makeWrapper];
6575

6676
postInstall = ''
@@ -72,4 +82,6 @@ in
7282
'';
7383

7484
meta.mainProgram = "DiffDetective-Demo";
75-
}
85+
};
86+
in
87+
demo

flake.nix

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
2-
outputs = inputs: {
3-
packages.x86_64-linux.default = import inputs.self {system = "x86_64-linux";};
2+
outputs = inputs: rec {
3+
packages.x86_64-linux.default = packages.x86_64-linux.DiffDetective.data-wrapper;
4+
packages.x86_64-linux.DiffDetective = import inputs.self {system = "x86_64-linux";};
45
};
56
}

0 commit comments

Comments
 (0)