From ea2bc49600a45be530e92e9482883d4a3f12e806 Mon Sep 17 00:00:00 2001 From: Ethan Girouard Date: Tue, 4 Aug 2026 20:58:25 -0400 Subject: [PATCH] Use buildDioxusWebApp builder --- flake.lock | 16 ++++++++++++++++ flake.nix | 29 ++++++++++++----------------- 2 files changed, 28 insertions(+), 17 deletions(-) diff --git a/flake.lock b/flake.lock index 5e08dda..0f0d9db 100644 --- a/flake.lock +++ b/flake.lock @@ -15,6 +15,21 @@ "url": "https://git.mregirouard.com/nix/daisyui.git" } }, + "dx-build": { + "locked": { + "lastModified": 1785888038, + "narHash": "sha256-zhUWl+BXYBBIHuLsjlLh+8RL6ymrUCLCnBL7I6/BAGw=", + "ref": "refs/heads/main", + "rev": "c3fbf020a501226c0ef7c1f6a394d9799c3cf52f", + "revCount": 3, + "type": "git", + "url": "https://gitea.mregirouard.com/nix/dx-build.git" + }, + "original": { + "type": "git", + "url": "https://gitea.mregirouard.com/nix/dx-build.git" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -52,6 +67,7 @@ "root": { "inputs": { "daisyui": "daisyui", + "dx-build": "dx-build", "flake-utils": "flake-utils", "nixpkgs": "nixpkgs", "rust-overlay": "rust-overlay", diff --git a/flake.nix b/flake.nix index 6a1649d..3204b5a 100644 --- a/flake.nix +++ b/flake.nix @@ -12,6 +12,8 @@ daisyui.url = "git+https://git.mregirouard.com/nix/daisyui.git"; tailwindcss-with-pkgs.url = "git+https://git.mregirouard.com/nix/tailwindcss-with-pkgs.git"; + + dx-build.url = "git+https://gitea.mregirouard.com/nix/dx-build.git"; }; outputs = { self, nixpkgs, rust-overlay, flake-utils, ... }@inputs: @@ -41,6 +43,7 @@ wasm-bindgen-overlay inputs.daisyui.overlays.default inputs.tailwindcss-with-pkgs.overlays.default + inputs.dx-build.overlays.default ]; }; @@ -59,6 +62,8 @@ ]; rev = if builtins.hasAttr "rev" self then self.rev else self.dirtyRev; + + pkg-info = (pkgs.lib.trivial.importTOML ./Cargo.toml).package; in rec { devShells.default = pkgs.mkShell { @@ -69,8 +74,9 @@ packages.default = packages.web; - packages.web = pkgs.rustPlatform.buildRustPackage { - name = "libretunes"; + packages.web = pkgs.rustPlatform.buildDioxusWebApp { + pname = pkg-info.name; + version = pkg-info.version; src = ./.; GIT_REV = rev; @@ -78,24 +84,13 @@ cargoLock.lockFile = ./Cargo.lock; nativeBuildInputs = with pkgs; [ - makeWrapper - ] ++ build-pkgs; + (tailwindcss_4.withPackages [daisyui daisyui-theme]) + wasm-bindgen-cli_0_2_123 + ]; - buildPhase = '' + preBuild = '' # dx build will run tailwindcss anyways, but doing it first here is faster and clearer if it fails tailwindcss --input style/tailwind.css --output assets/tailwind.css - - dx build --release --frozen --web - ''; - - installPhase = '' - mkdir -p "$out/bin" - install -t "$out" target/dx/libretunes/release/web/server - - cp -r target/dx/libretunes/release/web/public "$out/public" - - makeWrapper "$out/server" "$out/bin/libretunes" \ - --set DIOXUS_PUBLIC_PATH "$out/public" ''; }; }