Idea: Debian + Nix == stable and funky fresh

I first came across Declarative Package Management in the manual. So I started making these packages based on it.

The install works (nix-env -iA nixpkgs.my-emacs), but nix-env -u doesn’t update changes (adding and removing packages from the paths). Do I need to reinstall my- packages to get updates as well? Does nix-env -u update package definitions (apt update)?

After that I came across zero-to-nix. This approach wasn’t mentioned at all in the quick start, and I came across comments that people shouldn’t use nix-env anymore. Should I create flakes instead of packages, and export their paths to have them available globally?

How do you use Nix to manage your packages? Do you have any examples?