wayland_nix_py313: keeping up with modern DEs and nix(os) #53
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "wayland_nix_py313"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
Bumping us to python3.13, adding support for Qt6 on wayland (particularly the
swaytwm) and redoing ourflake.nixto usepyproject.nix’s impure template (after already trying but realizing we don’t yet need it’s downstream libuv2nix).A major note is that the rewritten
flake.nixshould only be used on wayland DEs for the moment, we already have thedefault.nix(now also updated forpy313) for those still using X11 on nix.Usage instructions
To use the wayland overlay via
flake.nixuse,nix developor
nix develop uv run xonshif using a custom shell like @goodboy B)
If still on X, continue with the old instructions from our readme.
Some thanks goes out to @ntorres for the original
default.nixwhich helped me resolve a few problems with lib linking for Qt and various other extension-lang python libs.Summary of required adjustments
For
uvon nixos using a re-writtenflake.nix,poetry2nix; we’re usinguvnow.pyproject.nix.rufffor in-devsh/overlay linting (@goodboy uses it vianvimplugin).<nixpkgs>.python313, set using a newcypthonvar.<nixpkgs>.qt6.qtwaylandfor wayland extension/plugins./pluginspath linking to make things just work on wayland.set QT_QPA_PLATFORM="wayland".uv sync --dev --all-extras --no-group lintcmd, thelintgroup is not included on nix since we want thenixpkgs.ruffNOT the wheeluvwill pull in.pyproject.tomlbelow.Update and modularize the
pyproject.tomlwith more dep-groups,[dependency-groups]to include,uisfor all graphical libs.replfor optional extended console tooling used for bothtractor’s debugger andxonsh.testingwhich should be obvious.defor desktop-env specific client libs required for some special use cases (only in theibbackend rn).lintwhich now includes justruffso that it can be optionally un-included per nix-overlay comment above.dbsfor (hopefully soon to be dropped) external clients still optionally used in legacy parts of the code base.devnow use nested includes of these other ^ groups as needed.tool.pytest.ini_options]config with a special note to not load thexonshbuiltinpytestplugin it ships.[tool.uv]tweaks,default-groups = ['uis', 'dev']such that a normal install includes charting GUIs.pyvnclib from GH; replaces an olderasyncvncwhich is un-maintained and had impeding bugs.tractorto use thepiker_pinbranch from GH.Update the
default.nixto python 3.13,pypkgsvar to avoid hardcodingpythonXXXPackageseverywhere.uv sync --dev --all-extrasoveruv lockinshellHook.Oh right and mask the
dummy-variable-rgxin ourruff.tomlwhich was causing myALEplugin to fail..wayland_nix_py313: keeping up with the DE trendzto wayland_nix_py313: keeping up with modern DEs and nix(os)