Pretty much what @jordanbeiber described.
I recently had to change my work's notebook. Since my NixOS configuration was commited in my dotfiles, I simply restored my NixOS configuration and $HOME and everything was working like the old notebook.
Also, bugfix for strange behaviors are written in my NixOS files, so it is like NixOS is my own personal distro.