command-not-found is easily fixed.
Add the channel as input
inputs.nixos-channel.url = "https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz";
get the DB out in an overlay
programs_sqlite = runCommandLocal "programs_sqlite" { } ''
cp ${inputs.nixos-channel}/programs.sqlite $out
'';
change dbPath
programs.command-not-found.dbPath = pkgs.programs_sqlite;