On 2021-09-29 13:39, Xinglu Chen wrote: > 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, It was two independent sentences. > > 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]: