Dear Ludo,
I apologize for the long delay. I did not receive a notification
of your post somehow, I may need to change email provider.
> Maybe a node other than “Top” would be advisable? I can’t see where that formal spec might be at https://www.gnu.org/software/stow/manual/html_node/.
There may have been a misunderstanding here, I didn't want to imply that there was a formal specification. I just assumed that being a GNU project it would have been documented. Anyway I tried to get to the bottom of this and the only mention/apparent endorsement from the Stow manual to this layout is in the Introduction [0], which references [1] as the original source.
[1] explains pretty clearly the layout in a natural language informal fashion, but searching for "stow" and "dotfiles" on the internet it appears to be an established de-facto standard. I changed the manual to "which must follow the layout suggested by". What do you think?
> Am I right that this is the same as:
> [ ... ]
> (In that case, we wouldn’t even need ‘dotfiles-for-app’.)
It's not the same I believe. The whole (string-append "home-dotfiles" ... is there because at guix/nix/libstore/store-api.cc line 64 and 71 for . and / respectively an exception is thrown if those characters are in first position or inside the store name. (append-map ... (dir-contents ... is needed due to the Stow layout: suppose you have a directory like this one
The most common Stow workflow would be to have this directory at ~/.dotfiles and then
$ cd ~/.dotfiles
$ stow git
$ stow nix
This additional git,nix,gpg,guile etc... layer is not covered by your code, but I tried my best to simplify import-dotfiles. Please let me know what are your feeling about the current state of the service.
> Also, should we pass ‘find-files’ a predicate to exclude editor backup files, VCS files, etc.?
Yes, that's an awesome idea. I implemented a simple filter (currently '("\\.gitignore" ".*\\.swp" ".*~") ) since I wasn't sure how much we can assume about this use case.
I should have addressed all of your suggestions, thank you for your time and help Ludo’ ! I'm sending an update patch.
giacomo
[0]: https://www.gnu.org/software/stow/manual/html_node/Introduction.html#Introduction
[1]: https://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html