Skip to content

Add Python packaging (pyproject.toml) and Nix flake - #441

Open
bittner wants to merge 2 commits into
jamiemcg:masterfrom
bittner:feature/python-packaging-nixos
Open

Add Python packaging (pyproject.toml) and Nix flake#441
bittner wants to merge 2 commits into
jamiemcg:masterfrom
bittner:feature/python-packaging-nixos

Conversation

@bittner

@bittner bittner commented Jun 28, 2026

Copy link
Copy Markdown

Adds standard Python packaging via pyproject.toml so Remarkable installs and runs with pip/uv instead of copying files by hand (closes #425).

  • A remarkable console entry point, declared pure-Python dependencies, and the bundled data tree exposed as the remarkable.data package and resolved through importlib.resources so the UI and media files ship in the wheel.
  • Intra-package imports were fixed so the modules load when properly installed.
  • The README now lists the system GTK packages each distribution provides.

Also adds a Nix flake providing the GTK runtime (PyGObject, GTK 3, GtkSourceView, WebKit2) and wkhtmltopdf that cannot come from PyPI, with nix run to launch the editor directly and a dev shell wiring up uv run remarkable against the system bindings on NixOS.

bittner added 2 commits June 28, 2026 14:59
Adds a pyproject.toml so the application can be installed and run with
standard Python tooling (pip, uv) instead of copying files by hand. Exposes
a "remarkable" console entry point, declares the pure-Python dependencies,
and bundles the data tree as the remarkable.data package so the UI and media
files ship in the wheel. Resolves the data directory via importlib.resources
with fallbacks for source checkouts and system prefixes, and fixes the
intra-package imports so the modules load when properly installed. The
README now lists the system GTK packages each distribution provides.

Closes jamiemcg#425
Adds a flake.nix that provides the GTK runtime (PyGObject, GTK 3,
GtkSourceView, WebKit2) and wkhtmltopdf, which cannot come from PyPI. The
default package and app make "nix run" launch the editor directly, while the
dev shell wires up "uv run remarkable" against the system bindings.
@bittner
bittner force-pushed the feature/python-packaging-nixos branch from cdef350 to 1c6e354 Compare June 28, 2026 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

How to Install From Source (preferably with regular Python Tools)?

1 participant