Nix packages arent containerized by default. But since every depenedency is clearly defined. there are tools wrap packkages using bublewrap, or tools build layered docker imahes
Even when using home manager or any other dotfile manager your $HOME folder is still filled with junk. It maybe in your controlled repo but it still ends up as symlink to that repo.