Subject: [bug#60521] [60521] Add home-dotfiles-service-type - Rebased on master

From: paul <[email-masked]>
Date: Mon, 22 Jan 2024 17:45:51 +0100

Hello,

the following works for me with the attached configuration.

$ tree -a .

.

└── guix-home-project

     ├── .dotfiles

     │   └── rime

     │       ├── .config

     │       │   └── ibus

     │       └── .emacs.d

     └── test-config.scm

7 directories, 1 file

$ echo hello > guix-home-project/.dotfiles/rime/.config/ibus/rime

$ cd guix-home-project/.dotfiles/rime/.emacs.d/ && ln -s ../.config/ibus/rime ./

$ ls -al
total 4
drwxr-xr-x 1 paul users  8 Jan 22 17:37 ./
drwxr-xr-x 1 paul users 30 Jan 22 17:31 ../
lrwxrwxrwx 1 paul users 20 Jan 22 17:37 rime -> ../.config/ibus/rime

  $ cd ../.. && guix home container --share=`pwd`/..=$HOME test-config.scm
WARNING: (guile-user): imported module (guix build utils) overrides core binding `delete'
WARNING: (guile-user): imported module (guix build utils) overrides core binding `delete'
Cleaning up symlinks from previous home at /gnu/store/hpnywydkrfygcl2qplxwgypqqwny16x5-home.

Removing /home/paul/.profile... done
Removing /home/paul/.emacs.d/rime... done
Removed /home/paul/.emacs.d.
Removing /home/paul/.config/fontconfig/fonts.conf... done
Removed /home/paul/.config/fontconfig.
Removing /home/paul/.config/ibus/rime... done
Removed /home/paul/.config/ibus.
Removed /home/paul/.config.
Cleanup finished.

Symlinking /home/paul/.profile -> /gnu/store/l27r8vj94ggr3na9pb1snizsmvh0zrxl-shell-profile... done
Symlinking /home/paul/.emacs.d/rime -> /gnu/store/05v76y32j495v8dw6aaknp91k0371q34-home-dotfiles-.emacs.d-rime... done
Symlinking /home/paul/.config/fontconfig/fonts.conf -> /gnu/store/sfj8h6zbacaz3y3gqzxqsbz3621nq4jv-fonts.conf... done
Symlinking /home/paul/.config/ibus/rime -> /gnu/store/lfw0i01pmwzaia6f7lb9c4p84y357pbd-home-dotfiles-.config-ibus-rime... done
  done
Finished updating symlinks.

Comparing /gnu/store/hpnywydkrfygcl2qplxwgypqqwny16x5-home/profile/share/fonts and
           /gnu/store/hpnywydkrfygcl2qplxwgypqqwny16x5-home/profile/share/fonts... done (same)
Evaluating on-change gexps.

On-change gexps evaluation finished.

warning: XDG_RUNTIME_DIR doesn't exists, on-first-login script
won't execute anything.  You can check if xdg runtime directory exists,
XDG_RUNTIME_DIR variable is set to appropriate value and manually execute the
-bash-5.1$  cat .emacs.d/rimex-home/on-first-login'-bash-5.1$  cat .emacs.d/rime
hello
-bash-5.1$ ls -al .emacs.d/
total 4
drwxr-xr-x 1 paul users   8 Jan 22 16:42 .
drwxr-xr-x 1 paul users 234 Jan 22 16:42 ..
lrwxrwxrwx 1 paul users  71 Jan 22 16:42 rime -> /gnu/store/05v76y32j495v8dw6aaknp91k0371q34-home-dotfiles-.emacs.d-rime
-bash-5.1$

Hope this helps,

giacomo