On Tue, Sep 28 2021, Andrew Tropin wrote: > On 2021-09-24 15:38, Xinglu Chen wrote: > >> On Thu, Sep 23 2021, Andrew Tropin wrote: >> >>> The core part of Guix Home project has been moved from rde >>> repository[fn:1] to wip-guix-home branch of guix repository. >>> >>> I'm about a week on wip-guix-home branch completely and Guix Home works >>> fine. There are no any major issues on rde-devel and guix-devel mailing >>> lists and it seems that branch is ready to be merged. >>> >>> My guix describe looks like: >>> --8<---------------cut here---------------start------------->8--- >>> Generation 114 Sep 17 2021 13:33:55 (current) >>> rde 31f8003 >>> repository URL: https://git.sr.ht/~abcdw/rde >>> branch: without-guix-home >>> commit: 31f800353a781cef25fc80c05ad824a068a049c8 >>> guix a2324d8 >>> repository URL: https://git.savannah.gnu.org/git/guix.git >>> branch: wip-guix-home >>> commit: a2324d8b56eabf8117bca220a507cc791edffd2e >>> --8<---------------cut here---------------end--------------->8--- >>> >>> >>> There is a discussion[fn:2] on moving home services to (gnu services >>> ...) modules, which is likely to happen, but it's possible to do the >>> migration relatively painless by re-exporting necessary symbols in >>> (gnu home-services ...) at first and removing them completely later. >>> >>> Another important part of the work related to Guix Home project is >>> covering related modules and cli with tests, but it can be done in >>> parallel and is not a blocker for merging. >> >> I noticed that the ‘guix home import’ subcommand is included, but I >> think it needs more thought and feedback from people before it makes its >> way into ‘master’; it also seems to lack documentation. >> >> I just realized that it generates the following service declaration >> >> --8<---------------cut here---------------start------------->8--- >> (service >> home-bash-service-type >> (home-bash-configuration >> (bashrc >> (list (slurp-file-gexp >> (local-file "/home/yoctocell/.bashrc")))))) >> --8<---------------cut here---------------end--------------->8--- >> >> but when running ‘guix home reconfigure’, the ~/.bashrc file will be >> moved, so when running ‘guix home reconfigure’ for the second time, it >> would read the ~/.bashrc which is itself a symlink to a file the store. >> ‘guix home import’ clearly isn’t in a usable state as of right now… > > Yep, I remember that it is not documented. I think it's ok for > generating a simple sample configuration, I disagree, I think it’s OK for things like (guix git), which are mainly used by developers, to not be documented in the manual. Ideally, the all the modules would be documented. :-) However, ‘guix home import’ will be used by developers and regular users, and documenting the command should be a requirement. > but I agree that it's not yet complete, if you wish I'll disable it in > cli. I have sent a few patches to fix it and document it[1], so it should probably left as-is for now. > Just an idea for the future: it's probably better to copy .bashrc to the > current directory and do (local-file "./bashrc"). This wouldn’t work if the user doesn’t have write-access to the current directory, nor if the current directory is $HOME. I think it’s better for the user to specify the directory themselves. [1]: