Skip to content

Latest commit

 

History

History
210 lines (141 loc) · 4.06 KB

File metadata and controls

210 lines (141 loc) · 4.06 KB

Installing nomnom

This guide covers building nomnom from source on Linux, macOS, and Windows.


Prerequisites

1. Rust toolchain

Install Rust via rustup:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"

Verify:

rustc --version   # rustc 1.78+ required
cargo --version

2. yt-dlp

nomnom is a GUI wrapper — yt-dlp must be on your PATH.

Platform Command
Linux / macOS pip install -U yt-dlp
macOS (Homebrew) brew install yt-dlp
Windows (winget) winget install yt-dlp
Windows (scoop) scoop install yt-dlp

3. Platform-specific dependencies

Linux

Install the WebView and GUI system libraries:

# Debian / Ubuntu
sudo apt-get update
sudo apt-get install -y \
  libwebkit2gtk-4.1-dev \
  libgtk-3-dev \
  libayatana-appindicator3-dev \
  librsvg2-dev \
  patchelf \
  libxdo-dev

# Fedora / RHEL
sudo dnf install -y \
  webkit2gtk4.1-devel \
  gtk3-devel \
  libappindicator-gtk3-devel \
  librsvg2-devel

# Arch Linux
sudo pacman -S --needed \
  webkit2gtk-4.1 \
  gtk3 \
  libappindicator-gtk3 \
  librsvg \
  patchelf

macOS

Xcode Command Line Tools (provides clang, libc, etc.):

xcode-select --install

No additional packages needed — macOS includes WebKit natively.

Windows

Install the Microsoft Visual C++ Build Tools and select the "Desktop development with C++" workload.

WebView2 is bundled with Windows 10/11 — no extra install needed.


Building

Clone the repo

git clone https://github.com/YOUR_USERNAME/nomnom.git
cd nomnom

Development build (fast compile, debug symbols)

cargo run

Release build (optimised, smaller binary)

cargo build --release
# binary at: target/release/nomnom  (or nomnom.exe on Windows)

Packaging for distribution

nomnom uses Tauri's cargo-tauri / Dioxus CLI for packaging.

Install the Dioxus CLI

cargo install dioxus-cli

Bundle for your current platform

dx bundle --release

Output:

  • Linux: target/dx/nomnom/release/bundle/deb/*.deb and *.AppImage
  • macOS: target/dx/nomnom/release/bundle/dmg/*.dmg
  • Windows: target/dx/nomnom/release/bundle/msi/*.msi

Cross-compile notes

Cross-compilation is not officially supported by Dioxus desktop bundling. Use the provided GitHub Actions workflow to build on native runners for each platform (recommended for releases).


Running the AppImage (Linux)

chmod +x nomnom-*.AppImage
./nomnom-*.AppImage

Installing the .deb (Linux)

sudo dpkg -i nomnom_*_amd64.deb
# then launch:
nomnom

Installing the .dmg (macOS)

  1. Open nomnom_*.dmg
  2. Drag nomnom.app to your Applications folder
  3. First launch: right-click → Open (to bypass Gatekeeper on first run)

Installing the .msi (Windows)

  1. Double-click nomnom_*_x64_en-US.msi
  2. Follow the installer wizard
  3. Launch nomnom from the Start Menu

Troubleshooting

yt-dlp: command not found

nomnom spawns yt-dlp via your login shell ($SHELL on Unix, cmd on Windows). Make sure yt-dlp is on the PATH for your login shell, not just your interactive shell.

Quick test:

# Unix
bash -i -c "yt-dlp --version"

# Windows (PowerShell)
yt-dlp --version

Linux: error: failed to run custom build command for webkitgtk

You're missing the WebKit development libraries. Re-run the apt/dnf/pacman command in the Prerequisites section.

macOS: app is damaged / can't be opened

Run this once to strip the quarantine attribute:

xattr -cr /Applications/nomnom.app

Windows: VCRUNTIME missing

Install the Visual C++ Redistributable.