GNU bug report logs - #60521
[PATCH] home: Add home-stow-migration-service.

Previous Next

Package: guix-patches;

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


Message #43 received at 60521 <at> debbugs.gnu.org (full text, mbox):

From: paul <goodoldpaul <at> autistici.org>
To: 60521 <at> debbugs.gnu.org, ludo <at> gnu.org
Subject: Re: bug#60521: [PATCH] home: Add home-stow-migration-service.
Date: Sat, 24 Jun 2023 17:47:52 +0200
[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.