These are the steps I arrived at to get a Tailwind CSS v4 project up and running with Dioxus 0.63 Desktop.
Just straight from the getting started instructions:
cargo install cargo-binstall
cargo binstall dioxus-cli
Example from documentation for macOS arm64:
curl -sLO https://github.com/tailwindlabs/tailwindcss/releases/latest/download/tailwindcss-macos-arm64
chmod +x tailwindcss-macos-arm64
mv tailwindcss-macos-arm64 tailwindcss
What I actually did on my x86 Ubuntu machine:
curl -sLO https://github.com/tailwindlabs/tailwindcss/releases/download/v4.0.9/tailwindcss-linux-arm64
mv tailwindcss-linux-arm64 ~/bin/tailwindcss
chmod +x ~/bin/tailwindcss
dx new tailwind-dioxus-desktop
- Jumpstart
- Fullstack false
- Router true
- Tailwindcss true
- Platform desktop
cd tailwind-dioxus-desktop
- Replace input.css (click to view file)
- In tailwind.config.js, replace
module.exports =
withexport default
(optional) - In a new console or IDE:
tailwindcss -i input.css -o assets/tailwind.css -w
, let that stay running - Observe that assets/tailwind.css now has some CSS content in it, which it didn't before
- In another console:
dx serve
- Profit (optional)
- Update src/main.rs to add a new line 36 with
document::Link { href: "https://cdn.jsdelivr.net/npm/daisyui@5", rel: "stylesheet", type: "text/css" }
^-shift-P
, selectzed: open project tasks
- Add the tasks:
{
"label": "Dioxus Serve",
"command": "dx serve --platform desktop",
"use_new_terminal": true,
"allow_concurrent_runs": false,
"reveal": "no_focus",
"hide": "on_success"
},
{
"label": "Tailwind Watch",
"command": "tailwindcss -i input.css -o assets/tailwind.css -w",
"use_new_terminal": true,
"allow_concurrent_runs": false,
"reveal": "no_focus",
"hide": "on_success"
},
- Save and close the tasks file
- Alt-shift-T,
Tailwind Watch
- Alt-shift-T,
Dioxus Serve