nix build now succeeds. The hashes were placeholders before, so it
could not have.
Reading Cargo.toml for the git sources missed two of them: cryoglyph
and dpi come in through iced, which pins its own forks, and they only
appear in Cargo.lock. Six entries, not four. The comment says to
regenerate the list from the lock for that reason.
flake.lock is committed alongside, so a checkout resolves nixpkgs and
rust-overlay the same way next month as today.
Also asserts the snap default instead of leaving it to be eyeballed.
It is only visible in a fresh profile — the app persists settings on
change, so an existing settings.json keeps its own osmode and never
shows what a new install would do.