I am very late but maybe it is still interesting for you:
I am using
system.autoUpgrade = {
enable = true;
flags = ["--update-input" "nixpkgs" "--commit-lock-file"];
# this tricks nixos-rebuild into using /etc/nixos/flake.nix
flake = "''";
};
and that generates the nixos-upgrade.{service,timer} for me. The resulting command in the systemd unit is nixos-rebuild switch --update-input nixpkgs --commit-lock-file --flake ''.
As far as I can tell this switches to the new configuration and also generates a boot entry for me.