This makes sure that values added to
programs.git.aliases
or
programs.git.extraConfig
are merged as expected.
Also add a few option examples.
(cherry picked from commit 445c0b1482)
In particular support source files whose name start with `.` or
contain characters not allowed in the nix store, such as spaces.
Also add some test cases for `home.file`.
(cherry picked from commit 7c04351a57)