Jean Louis (2016-03-10 22:34 +0300) wrote: > Hello Andreas, > > I have now 2 files in gnu/guix/packages/*.scm, for mutt and postgresql: > and now I get each time on running guix, following: > > guix package: warning: failed to load '(databases)': > ERROR: no code for module (databases) > guix package: warning: failed to load '(mutt)': > ERROR: no code for module (mutt) > > because 2 files are: databases.scm and mutt.scm > > I have already installed mutt, with changes, and it works. On the end of > file there is word "mutt". Similar for PostgreSQL, only it did not yet > compile. > > Now I get a feeling, if I have 20 files to change or adapt to my system, > I will get 20 warnings by each run of guix package manager. > > Somehow it does not feel right. > > It would be more logical to have GUIX_PACKAGE_PATH plus one separate > file where some modified or user related packages are listed, instead of > having the package name on the end of *.scm file. I agree, using GUIX_PACKAGE_PATH is such a nice way to keep your own packages. I don't understand why Andreas recommended to use "guix package -f". I think it is suitable to build some development "guix.scm" file (not related, but see ยน). But for user packages, I think keeping them in GUIX_PACKAGE_PATH directories is a much better solution. I also don't recommend to use the same /gnu/packages/*.scm structure, as there may be problems with this. For example, you copied /gnu/packages/databases.scm to your GUIX_PACKAGE_PATH dir and modified some package in it. Then you have to follow the changes in this file made in Guix, and update your local databases.scm accordingly all the time. So if you want to keep all your packages in a single file, you can make "/my-guix-packages.scm", add to GUIX_PACKAGE_PATH, and that's it! This "my-guix-packages.scm" file will look like this: