GNU bug report logs -
#60521
[PATCH] home: Add home-stow-migration-service.
Previous Next
Reported by: goodoldpaul <at> autistici.org
Date: Tue, 3 Jan 2023 16:53:02 UTC
Severity: normal
Tags: moreinfo, patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
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
.dotfiles/
├── git
│ └── .gitconfig
├── gpg
│ └── .gnupg
│ ├── gpg-agent.conf
│ └── gpg.conf
├── guile
│ └── .guile
├── guix
│ └── .config
│ └── guix
│ └── channels.scm
├── nix
│ ├── .config
│ │ └── nixpkgs
│ │ └── config.nix
│ └── .nix-channels
├── tmux
│ └── .tmux.conf
└── vim
└── .vimrc
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
[2]: https://duckduckgo.com/?q=stowdotfiles
[Message part 2 (text/html, inline)]
This bug report was last modified 1 year and 104 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.