summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* inferior: 'cached-channel-instance' does not cache unauthenticated instances.Ludovic Courtès2021-12-01
| | | | | | | | | | The comment saying that caching is fine even when AUTHENTICATE? is false was true in commit 838ac881ec98cb71d4a4e4b20773573f99ecbf25, but it became incorrect in 7cfd789150f448cf5256b88915bae4163cc9db03, which no longer calls 'latest-channel-instances' on cache hits. * guix/inferior.scm (cached-channel-instance): Do not create CACHED when AUTHENTICATE? is false.
* guix graph: Show '-M' in '--help' output.Ludovic Courtès2021-11-23
| | | | * guix/scripts/graph.scm (show-help): Add -M shorthand.
* system: Add swap flags.Josselin Poiret2021-11-23
| | | | | | | | | | | * gnu/system/file-systems.scm (swap-space)[priority, discard?]: Add them. * guix/build/syscalls.scm (SWAP_FLAG_PREFER, SWAP_FLAG_PRIO_MASK, SWAP_FLAG_PRIO_SHIFT, SWAP_FLAG_DISCARD): Add them. * gnu/build/file-systems.scm (swap-space->flags-bit-mask): Add it. * gnu/services/base.scm (swap-service-type): Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* docker: Enable arm64 docker image building for 'guix pack'.Collin J. Doering2021-11-23
| | | | | | * guix/docker.scm (build-docker-image): Recognize "aarch64". Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* import: opam: Fix error on unknown field value.Julien Lepiller2021-11-22
| | | | | * guix/import/opam.scm (metadata-ref): Return #f if field is present, but its content is of unknown form.
* import: opam: Warn instead of leave when fetching fails.zimoun2021-11-19
| | | | | | | * guix/import/opam.scm (opam-featch): Warn instead of leave when fetching fails. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
* build-system/asdf: Don't fail in sbcl-package->cl-source-package on ↵Pierre Neidhardt2021-11-19
| | | | | | | | | | | non-package inputs. Inputs can be non-packages, for instance (origin ...). sbcl-package->cl-source-package used to fail if such inputs were present in the parent sbcl-* package. * guix/build-system/asdf.scm (package-with-build-system): Fix 'has-from-build-system?' function.
* gnupg: Honor GnuPG's configuration for the key server.Maxim Cournoyer2021-11-18
| | | | | | | | | | The previous default "pool.sks-keyservers.net" doesn't seem to work anymore; besides, users know best. * guix/gnupg.scm (%openpgp-key-server): Default to #f, meaning not provided. (gnupg-receive-keys): Make SERVER and KEYRING keyword arguments. Adjust doc. Provide the '--keyserver' argument only when %openpgp-key-server is not #f. (gnupg-verify*): Do not set a default value for SERVER. Adjust accordingly.
* import: texlive: Take different package database as optional argument.Ricardo Wurmus2021-11-18
| | | | | | * guix/import/texlive.scm (tlpdb->package): Expect PACKAGE-DATABASE as argument. (texlive->guix-package): Accept PACKAGE-DATABASE keyword.
* import: texlive: Print inputs with labels and guixified names.Ricardo Wurmus2021-11-18
| | | | * guix/import/texlive.scm (tlpdb->package): Improve handling of propagated-inputs.
* diagnostics: Add syntax to capture arguments' syntax-properties.Josselin Poiret2021-11-17
| | | | | | * guix/diagnostics.scm (define-with-syntax-properties): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* scripts: home: Make ‘guix home import’ write home-configuration.scm.Xinglu Chen2021-11-17
| | | | | | | | | | * guix/scripts/home.scm (process-command): Populate ‘home-configuration.scm’ in the destination directory instead of printing to stdout. * doc/guix.texi (Declaring the Home Environment): Adjust accordingly. (Invoking guix home): Likewise. Suggested-by: Ludovic Courtès <ludo@gnu.org> Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* import: texlive: Remove leftover 'pk'.Ludovic Courtès2021-11-17
| | | | | * guix/import/texlive.scm (files->directories): Remove leftover 'pk' call.
* import: texlive: Load (gnu packages tex) dynamically.Ludovic Courtès2021-11-17
| | | | | | | | | | | | | | | | | | Fixes a bug whereby 'guix pull' would fail with this guix-extra.drv build failure: ice-9/eval.scm:163:9: ERROR: 1. &formatted-message: format: "~a: patch not found\n" arguments: ("nettle-3.5-check-_pkcs1_sec_decrypt-msg-len.patch") Reported by ekaitz on #guix. Regression introduced in 3b1a12c5bff5a0c108284d19a6982bdf663bbceb. * guix/import/texlive.scm: Autoload (gnu packages tex). fixlet
* import: Replace texlive importer.Ricardo Wurmus2021-11-17
| | | | | | | | | | | | | * guix/import/texlive.scm (fetch-sxml, sxml->package): Remove procedures. (tlpdb-file, tlpdb, files->directories, tlpdb->package): New procedures. (string->license): Add case for lpplgpl license combination. (guix-name): Remove COMPONENT argument. (texlive->guix-package): Use new procedures. (texlive-recursive-import): New procedure. * guix/scripts/import/texlive.scm (show-help, %options): Remove --archive option. (guix-import-texlive): Adjust call of texlive->guix-package. * doc/guix.texi (Invoking guix import): Update documentation.
* guix: Add download-multi-svn-to-store.Ricardo Wurmus2021-11-17
| | | | * guix/svn-download.scm (download-multi-svn-to-store): New procedure.
* daemon: Do not deduplicate files smaller than 8 KiB.Ludovic Courtès2021-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Files smaller than 8 KiB typically represent ~70% of the entries in /gnu/store/.links but only contribute to ~4% of the space savings afforded by deduplication. Not considering these files for deduplication speeds up file insertion in the store and, more importantly, leaves 'removeUnusedLinks' with fewer entries to traverse, thereby speeding it up proportionally. Partly fixes <https://issues.guix.gnu.org/24937>. * config-daemon.ac: Remove symlink hard link check and CAN_LINK_SYMLINK definition. * guix/store/deduplication.scm (%deduplication-minimum-size): New variable. (deduplicate)[loop]: Do not recurse when FILE's size is below %DEDUPLICATION-MINIMUM-SIZE. (dump-port): New procedure. (dump-file/deduplicate)[hash]: Turn into... [dump-and-compute-hash]: ... this thunk. Call 'deduplicate' only when SIZE is greater than %DEDUPLICATION-MINIMUM-SIZE; otherwise call 'dump-port'. * nix/libstore/gc.cc (LocalStore::removeUnusedLinks): Drop files where st.st_size < deduplicationMinSize. * nix/libstore/local-store.hh (deduplicationMinSize): New declaration. * nix/libstore/optimise-store.cc (deduplicationMinSize): New variable. (LocalStore::optimisePath_): Return when PATH is a symlink or smaller than 'deduplicationMinSize'. * tests/derivations.scm ("identical files are deduplicated"): Produce files bigger than %DEDUPLICATION-MINIMUM-SIZE. * tests/nar.scm ("restore-file-set with directories (signed, valid)"): Likewise. * tests/store-deduplication.scm ("deduplicate, below %deduplication-minimum-size"): New test. ("deduplicate", "deduplicate, ENOSPC"): Produce files bigger than %DEDUPLICATION-MINIMUM-SIZE. * tests/store.scm ("substitute, deduplication"): Likewise.
* tests: Factorize 'file=?'.Ludovic Courtès2021-11-16
| | | | | | | * guix/tests.scm (file=?): Add optional 'stat' parameter. Add fast patch comparing inode numbers. * tests/gexp.scm ("imported-files with file-like objects"): Remove 'file=?' procedure and use the one from (guix tests).
* build-system/julia: Enable Julia Pkg to find installed packages.Jean-Baptiste Volatier2021-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Julia's built-in package manager (Pkg) looks for packages in JULIA_DEPOT_PATH/packages/PACKAGENAME/XXXX, where XXXX is a string encoding package UUID and SHA1 of files. The link-depot phase creates a link at the correct location to allow Pkg to find packages that were already installed by Guix. * guix/build/julia-build-system.scm (link-depot): New phase. (%package-path): Modified package path from packages/ to loadpath/. (project.toml->uuid): New procedure, retrive package uuid from TOML file. (precompile, check): Adjust to the change in paths. (%standard-phases): Add link-depot phase. (julia-build): Add julia-package-uuid keyword. * guix/build-system/julia.scm (julia-build): Also use the julia-package-uuid keyword. * gnu/packages/julia-jll.scm (julia-bzip2-jll, julia-cairo-jll, julia-compilersupportlibraries-jll, julia-expat-jll, julia-ffmpeg-jll, julia-fontconfig-jll, julia-freetype2-jll, julia-fribidi-jll, julia-gettext-jll, julia-glib-jll, julia-gr-jll, julia-gumbo-jll, julia-imagemagick-jll, julia-jllwrappers-jll, julia-jpegturbo-jll, julia-lame-jll, julia-libass-jll, julia-libfdk-aac-jll, julia-libffi-jll, julia-libgcrypt-jll, julia-libglvnd-jll, julia-libgpg-error-jll, juli-libiconv-jll, julia-libmount-jll, julia-libpng-jll, julia-libsass-jll, julia-libtiff-jll, julia-libuuid-jll, julia-libvorbis-jll, julia-lzo-jll, julia-mbedtls-jll, julia-ogg-jll, julia-openspecfun-jll, julia-openssl-jll, julia-opus-jll, julia-pcre-jll, julia-pixman-jll, julia-qt5base-jll, julia-wayland-jll, julia-wayland-protocols-jll, julia-x264-jll, julia-x265-jll, julia-xkbcommon-jll, julia-xml2-jll, julia-xorg-libpthread-stubs-jll, julia-xorg-libx11-jll, julia-xorg-libxau-jll, julia-xorg-libxcb-jll, julia-xorg-libxcursor-jll, julia-xorg-libxdmcp-jll, julia-xorg-libxext-jll, julia-xorg-libxfixes-jll, julia-xorg-libxi-jll, julia-xorg-libxinerama-jll, julia-xorg-libxkbfile-jll, julia-xorg-libxrandr-jll, julia-xorg-libxrender-jll, julia-xorg-xcb-util-jll, julia-xorg-xcb-util-keysyms-jll, julia-xorg-xcb-util-renderutil-jll, julia-xorg-xcb-util-wm-jll, julia-xorg-xkbcomp-jll, julia-xorg-xkeyboard-config-jll, julia-xorg-xtrans-jll, julia-xslt-jll, julia-zlib-jll, julia-zstd-jll) [argument]: Adjust the order of the phases to the change in the julia-build-system. * gnu/packages/julia-xyz.scm (julia-bufferedstreams, julia-calculus, julia-dataframes, julia-datavalues, julia-distances, julia-documenter, julia-dualnumbers, julia-ellipsisnotation, julia-expronicon, julia-fileio, julia-fixedpointnumbers, julia-functionwrappers, julia-fuzzycompletions, julia-genericlinearalgebra, julia-genericschur, julia-geometrybasics, julia-imagemagick, julia-infinity, julia-matrixfactorizations, julia-media, julia-missings, julia-nnlib, julia-optimtestproblems, julia-orderedcollections, julia-prettytables, julia-pycall, julia-quadmath, julia-safetests, julia-stackviews) [arguments]: Correct paths to reflect change of %package-path modify order of phases as link-depot needs to run on an unmodified src directory add package-name-uuid keyword argument to packages without Project.toml file. * gnu/packages/julia.scm (julia)[native-search-paths]: Correct paths to reflect change of %package-path modify order of phases as link-depot needs to run on an unmodified src directory. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* build: wrap-qt-program: Fix typo.Vagrant Cascadian2021-11-14
| | | | * gnu/build/qt-utils.scm (wrap-qt-program): Fix spelling of "program".
* environment: Fix ‘--check’ with exported PS1 variable.Thiago Jung Bauermann2021-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If your .bashrc (unnecessarily) exports PS1 and you’re in a non-login shell, Guix crashes: user@popigai:~$ guix shell --check coreutils guix shell: checking the environment variables visible from shell '/bin/bash'... Backtrace: 14 (primitive-load "/home/user/.config/guix/current/bin/g…") In guix/ui.scm: 2206:7 13 (run-guix . _) 2169:10 12 (run-guix-command _ . _) In ice-9/boot-9.scm: 1752:10 11 (with-exception-handler _ _ #:unwind? _ # _) 1752:10 10 (with-exception-handler _ _ #:unwind? _ # _) In guix/store.scm: 658:37 9 (thunk) 1320:8 8 (call-with-build-handler _ _) 1320:8 7 (call-with-build-handler #<procedure 7fe393b7c420 at g…> …) In guix/status.scm: 800:4 6 (call-with-status-report _ _) In guix/scripts/environment.scm: 951:12 5 (_) In guix/store.scm: 2119:24 4 (run-with-store #<store-connection 256.99 7fe39627e500> …) In guix/scripts/environment.scm: 521:35 3 (_ _) In unknown file: 2 (string=? ("PS1" . "${debian_chroot:+($debian_chroot)…") …) In ice-9/boot-9.scm: 1685:16 1 (raise-exception _ #:continuable? _) 1685:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure string=: Wrong type argument in position 1 (expecting string): ("PS1" . "${debian_chroot:+($debian_chroot)}\\[\\033[01;32m\\]\\u@\\h\\[\\033[00m\\]:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]${EXTRA}\\$ ") user@popigai:~$ This is because the match pattern doesn’t expect `(vhash-assoc "PS1" actual)` to return a pair. * guix/scripts/environment.scm (validate-child-shell-environment): Change match pattern to expect a pair. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix: packages: Clarify that list is a list of <license> records.jgart2021-11-13
| | | | | | | * guix/packages/packages.scm (<package>): Clarify that the license field takes a list of licenses rather than a generic list. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
* import: utils: Add more licenses and extend their detection.Attila Lendvai2021-11-12
| | | | | | | | | * guix/import/utils.scm (spdx-string->license): Identify more licenses (CC-BY-4.0, Freetype, HPND). * guix/licenses.scm: Add a comment that mentions "MIT" so that people who grep for MIT end up there. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* import: print: Replace packages and origins in 'arguments'.Ludovic Courtès2021-11-11
| | | | | | | | | | * guix/import/print.scm (package->code)[variable-reference] [object->code]: New procedures. [package-lists->code]: Rewrite in terms of 'object->code'. Pass the 'arguments' field through 'object->code'. * tests/print.scm (pkg-with-arguments, pkg-with-arguments-source): New variables. ("package with arguments"): New test.
* import: print: Handle patches that are origins.Ludovic Courtès2021-11-11
| | | | | | | | * guix/import/print.scm (package->code)[source->code]: Handle patches that are origins. * tests/print.scm (pkg-with-origin-input): Add 'patches' field. (pkg-with-origin-patch, pkg-with-origin-patch-source): New variables. ("package with origin patch"): New test.
* import: print: Correctly handle URI lists.Ludovic Courtès2021-11-11
| | | | | | | * guix/import/print.scm (package->code)[factorized-uri-code]: New procedure. [source->code]: Use it, and factorize URI when it's a list. * tests/print.scm (pkg-with-origin-input): Check origin URI to a list.
* import: print: Properly render packages with origins as inputs.Ludovic Courtès2021-11-11
| | | | | | | | | * guix/import/print.scm (package->code)[source->code]: Check whether VERSION is true before calling 'factorize-uri'. [package-lists->code]: Add clause for inputs that are origins. * tests/print.scm (pkg-with-origin-input, pkg-with-origin-input-source): New variables. ("package with origin input"): New test.
* import: cran: Allow imports of a specific version.Ludovic Courtès2021-11-11
| | | | | | | | | | | | | | * guix/import/cran.scm (download): Handle the case where URL is a list. (fetch-description-from-tarball): New procedure. (fetch-description): Add #:version parameter. Honor it when REPOSITORY is 'cran. Use 'fetch-description-from-tarball' when REPOSITORY is 'bioconductor. (description->package): SOURCE-URL may now be a list. (cran->guix-package): Pass VERSION to 'fetch-description'. (cran-recursive-import): Add #:version parameter. * guix/scripts/import/cran.scm (guix-import-cran): Expect a spec rather than a mere package name. * doc/guix.texi (Invoking guix import): Document it.
* import: pypi: Allow imports of a specific version.Ludovic Courtès2021-11-11
| | | | | | | | | | | | | | | * guix/import/pypi.scm (latest-version): New procedure. (latest-source-release): Rename to... (source-release): ... this. Add 'version' parameter. (latest-wheel-release): Rename to... (wheel-release): ... this. Add 'version' parameter. (pypi->guix-package): Honor 'version' parameter. (pypi-recursive-import): Add 'version' parameter and honor it. * guix/scripts/import/pypi.scm (guix-import-pypi): Expect a spec. Pass it to 'package-name->name+version'. Pass the 'version' parameter. * tests/pypi.scm ("pypi->guix-package, no wheel"): Exercise the #:version parameter. * doc/guix.texi (Invoking guix import): Document it.
* guix: Upgrade to Bioconductor 3.14.Ricardo Wurmus2021-11-07
| | | | | | * guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.14. * guix/import/cran.scm (%bioconductor-version): Same.
* shell: Actually clean up the profile cache.Ludovic Courtès2021-11-07
| | | | | | | | | Previously, most actions would leave the cache as-is because 'guix-environment*' would indirectly call 'exit', and thus its continuation was never reached. * guix/scripts/shell.scm (guix-shell): Move call to 'maybe-remove-expired-cache-entries' to EXIT-HOOK.
* import: egg: Allow imports of a specific version.Xinglu Chen2021-11-07
| | | | | | | | | | | | * guix/import/egg.scm (eggs-repository): Change URL. (egg-metadata): Accept optional #:version keyword argument. (egg->guix-package): Accept ‘version’ argument. (egg-recursive-import): Add ‘version’ argument and honor it. * guix/scripts/import/egg.scm (guix-import-egg): Parse a specification instead of just a package name. * doc/guix.texi (Invoking guix import): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* home: services: bash: Add ‘aliases’ field.Xinglu Chen2021-11-07
| | | | | | | | | | | * doc/guix.texi (Shells Home Services): Document it. * gnu/home/services/shells.scm (bash-serialize-aliases): New procedure. (home-bash-configuration, home-bash-extension): Add ‘aliases’ field. (home-bash-extensions): Adjust accordingly. * guix/scripts/home/import.scm (generate-bash-configuration+modules): Populate the ‘alias’ field. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* ui: 'load*' correctly reports 'read-error' in all cases.Ludovic Courtès2021-11-07
| | | | | | | | | | | | | Previously, 'read-error' exceptions other than "missing closing paren" would not be reported; instead, we'd directly call (exit 1) without printing anything. Fixes <https://issues.guix.gnu.org/51463>. Reported by Alice BRENON <alice.brenon@ens-lyon.fr>. * guix/ui.scm (report-load-error): Report the error without re-throwing upon 'read-error'. * tests/guix-build.sh: Add test.
* utils: Define a target-x86-32? and target-x86-64? predicate.Maxime Devos2021-11-07
| | | | | | | * guix/utils.scm (target-x86-32?, target-x86-64?): New predicates. * tests/utils.scm ("target-x86-32?", "target-x86-64?"): New tests. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* environment: Suggest command upon 'execlp' failure.Ludovic Courtès2021-11-06
| | | | | | | | | * guix/scripts/environment.scm (launch-environment): Call 'primitive-_exit' upon 'system-error. (suggest-command-name, validate-exit-status): New procedures. (launch-environment/fork): Call 'validate-exit-status'. (launch-environment/container)[exit/status*]: New procedure. Use it instead of 'exit/status'.
* profiles: Build the man database only if 'man-db' is in the profile.Ludovic Courtès2021-11-06
| | | | | | | | | | | This allows us to skip the expensive man-db profile hook in most cases. Suggested by Liliana Marie Prikler <liliana.prikler@gmail.com>. * guix/profiles.scm (manual-database/optional): New procedure. (%default-profile-hooks): Use it instead of 'manual-database'. * doc/guix.texi (Documentation): Add footnote about 'man -k' database creation.
* import: elpa: Work around Guile 3.0.[5-7] compiler bug.Ludovic Courtès2021-11-06
| | | | | | | | Fixes <https://issues.guix.gnu.org/49006>. Reported by Xinglu Chen <public@yoctocell.xyz>. * guix/import/elpa.scm (elpa-package->sexp)[melpa-recipe]: Add call to 'identity'.
* import: stackage: Update to release 18.14.Lars-Dominik Braun2021-11-02
| | | | * guix/import/stackage.scm (%default-lts-version): Update to 18.14.
* ui: Use DISPLAY in SHOW-GUIX-HELP.Tobias Geerinckx-Rice2021-10-31
| | | | * guix/ui.scm (show-guix-help): Use DISPLAY where FORMAT isn't needed.
* ui: Add top-level options to help text.Tobias Geerinckx-Rice2021-10-31
| | | | | | | This also makes automated ‘guix --h<Tab>’ completion possible. * guix/ui.scm (show-guix-help): Document that an OPTION's an option, and all valid options.
* home: import: Avoid duplication of 'manifest->code'.Ludovic Courtès2021-10-31
| | | | | | | | | | * guix/scripts/home/import.scm (manifest->code): Remove. (manifest+configuration-files->code): New procedure. (import-manifest): Use 'manifest+configuration-files->code' instead of 'manifest->code'. * tests/home-import.scm (eval-test-with-home-environment): Likewise. (match-home-environment-transformations): New procedure. ("manifest->code: No services, package transformations"): New test.
* home: import: Factorize triplicated 'version-spec' procedure.Ludovic Courtès2021-10-31
| | | | | | | | | | * guix/scripts/package.scm (manifest-entry-version-prefix): New procedure, moved from... (export-manifest)[version-spec]: ... here. Adjust caller. * tests/home-import.scm (version-spec): Remove. (eval-test-with-home-environment): Use 'manifest-entry-version-prefix' instead. * guix/scripts/home/import.scm (import-manifest): Likewise.
* home: import: Clarify "destination directory".Ludovic Courtès2021-10-31
| | | | | | | | Suggested by Liliana Marie Prikler <liliana.prikler@gmail.com>. * guix/scripts/home/import.scm (configurations+modules): Rename 'destination-directory' to 'configuration-directory'. Improve docstring.
* home: import: Compare procedures with 'eq?'.Ludovic Courtès2021-10-31
| | | | | | | | 'procedure-name' is a debugging aid and cannot be reliably used to check for procedure equality. * guix/scripts/home/import.scm (configurations+modules): Remove use of 'procedure-name'.
* guix home: import: Call ‘local-file’ with ‘name’Xinglu Chen2021-10-31
| | | | | | | | | | | | Set the name of the file to just the basename of the file passed to ‘local-file’. * guix/scripts/home/import.scm (basename+remove-dots): New procedure. (generate-bash-configuration+modules): Use it. * tests/home-import.scm (match-home-environment-bash-service): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* Add tests for ‘guix home import’.Xinglu Chen2021-10-31
| | | | | | | * tests/home-import.scm: New file. * Makefile.am (SCM_TESTS): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix home: import: Delete duplicate modules when importing.Xinglu Chen2021-10-31
| | | | | | | | | Two different services might require the same module(s), so delete duplicates when generating the ‘use-modules’ form. * import.scm (manifest->code): Delete duplicate modules. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix home: import: Don’t use 'slurp-file-gexp'.Xinglu Chen2021-10-31
| | | | | | | | | ‘slurp-file-gexp’ is not a bound procedure. * guix/scripts/home/import.scm (generate-bash-configuration+modules): Don’t use ‘slurp-file-gexp’. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix home: import: Fix module name for Bash service.Xinglu Chen2021-10-31
| | | | | | | * guix/scripts/home/import.scm (generate-bash-configuration+modules): Change (gnu home-services bash) to (gnu home-services shells); add (guix gexp). Signed-off-by: Ludovic Courtès <ludo@gnu.org>