summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..e418992
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,41 @@
+{
+ outputs = {
+ self,
+ nixpkgs,
+ }: let
+ pkgs = nixpkgs.legacyPackages.x86_64-linux;
+ buildRustPackage =
+ pkgs.rustPlatform.buildRustPackage.override
+ {rustc = pkgs.rustc-wasm32;};
+ rust-lld = pkgs.symlinkJoin {
+ name = "rust-lld";
+ paths = [pkgs.rustc-wasm32.llvmPackages.lld];
+ postBuild = ''
+ ln -s $out/bin/lld $out/bin/rust-lld
+ '';
+ };
+ in {
+ packages.x86_64-linux.default = buildRustPackage rec {
+ name = "gems";
+ src = ./.;
+ cargoLock = {
+ lockFile = ./Cargo.lock;
+ };
+ doCheck = false;
+ buildPhase = ''
+ cargo build --target wasm32-unknown-unknown --release
+ wasm-bindgen --out-name gems \
+ --out-dir $out \
+ --target web target/wasm32-unknown-unknown/release/gems.wasm
+ '';
+ installPhase = ''
+ cp -r assets $out
+ cp index.html $out
+ '';
+ nativeBuildInputs = [
+ rust-lld
+ pkgs.wasm-bindgen-cli
+ ];
+ };
+ };
+}