You can especially since flakes are still experimental technically, but I really like being able to track the lockfile in git, have a bunch of systems/homes/packages/overlays all stored together, and mixing&matching various inputs (e.g. very easily handle multiple versions of nixpkgs in the same config)
The modularity, if built properly, is pretty nice. I can just tell my friend to run a console command aimed at my flake repo and boom they have my exact mpv package and configuration with customized settings; and if they like it they can just copy one or two files and make it their own.
You can especially since flakes are still experimental technically, but I really like being able to track the lockfile in git, have a bunch of systems/homes/packages/overlays all stored together, and mixing&matching various inputs (e.g. very easily handle multiple versions of nixpkgs in the same config)
The modularity, if built properly, is pretty nice. I can just tell my friend to run a console command aimed at my flake repo and boom they have my exact mpv package and configuration with customized settings; and if they like it they can just copy one or two files and make it their own.