bug#33993: Missing Texinfo documentation for Guix itself
Adonay Felipe Nogueira writes: > This copy of Guix (in Trisquel 8.0 Flidas amd64) was installed using the > shell script installer (for which I became root for that, that is, used > `sudo -i'). The binary version downloaded was 0.16.0. > > At least after pulling and upgrading the recipes based on commit > "5a7899fd88c1c463d3b75ac9077ccd183ddec914" (I didn't test this before > pulling, sorry), the Texinfo documentation for Guix itself seems to be > mising, even from root's profile. The installer script creates links from /var/guix/profiles/per-user/root/current-guix/share/info to /usr/local/share/info. Is the former directory populated as you would expect? > Interestingly, despite "$GUIX_PROFILE/share/info" not having the Texinfo > documentation as described, "/usr/local/share/info" has at least some > "dir."* files that seem to come from Guix. While "guix"{,"."*}".info.gz" > are present in the form of broken symbolic links, each of which pointing > to their counterparts in > "/var/guix/profiles/per-user/root/current-guix/share/info". This is odd. Do the files exist in /var/guix/profiles/per-user/root/current-guix/share/info? Can you please show us the output of “ls -la /usr/local/share/info” and “ls -la /var/guix/profiles/per-user/root/current-guix/share/info”? -- Ricardo
bug#33996: Icecat is missing fonts
Hi After installing Icecat on guixsd v0.16 and starting it it shows only squares instead of text and pango warns "missing font nimbus ..." I think we should add font-gnu-freefont-ttf to the input of icecat to fix this to make it work out of the box. If on a foreign distribution guix should of course also notice if the correct XDG-env variables are missing when installing icecat and hint. -- Cheers Swedebugia
bug#33841: Building x86-64 on i686 not possible it seems - activation-service-error
On 2019-01-05 19:46, Ricardo Wurmus wrote: > Hi swedebugia, > >>>An i686 machine cannot run and build software for x86_64. You would >>>need to set up offloading to do that, or use >>>‘qemu-binfmt-service-type’. > […] >> OK. Would it be OK to state this somewhere in the manual or am I the >> only on trying to upgrade from 32->64 bit? > > I'd prefer not to add this to the manual as it is not particular to > Guix. x86_64 is the outlier here, as it has a i686 persona. Generally, > you cannot build software for a different architecture without a cross > toolchain (not applicable for Guix) or emulation (e.g. via > qemu-binfmt-service-type). Ok, thanks, closing this. -- Cheers Swedebugia
bug#33911: SWH fallback is never reached due to an uncaught exception
Hi Björn, Good catch! I believe the bug was introduced by 329dabe13bf98b899b907b45565434c5140804f5. I suppose I didn’t see it when hacking on SWH support because I commented out the ‘git-fetch’ call to test the other path. Björn Höfling skribis: > The code is in git-download.scm, line 133: > > (or (git-fetch (getenv "git url") (getenv "git commit") >#$output >#:recursive? recursive? >#:git-command (string-append #+git "/bin/git")) > (download-nar #$output) > > ;; As a last resort, attempt to download from Software > Heritage. > ;; XXX: Currently recursive checkouts are not supported. > (and (not recursive?) > (swh-download (getenv "git url") (getenv "git commit") >#$output))) Fixed in commit 18524466bb25a1926277bd15fb378ff7941e. Now I get: --8<---cut here---start->8--- $ ./pre-inst-env guix build -S guile-bash --check building /gnu/store/7w2xsqy12lyfshgpz61z8cg3s5zjsscs-guile-bash-0.1.6-0.1eabc56-checkout.drv... environment variable `PATH' set to `/gnu/store/q09sy224qnxrp982z4xfaxi19721mjx8-gzip-1.9/bin:/gnu/store/ipx79bfj2mrc8npj7s3qi3zri11jfhaw-tar-1.30/bin' Initialized empty Git repository in /gnu/store/7p7mkiqv9ah6x0x20qzpas44sdf7jqkl-guile-bash-0.1.6-0.1eabc56-checkout/.git/ fatal: repository 'https://anonscm.debian.org/cgit/users/kaction-guest/retired/dev.guile-bash.git/' not found Failed to do a shallow fetch; retrying a full fetch... fatal: repository 'https://anonscm.debian.org/cgit/users/kaction-guest/retired/dev.guile-bash.git/' not found git-fetch: '/gnu/store/26s82xpawy0z13lfhkd7iprr2ahcbl5f-git-minimal-2.20.1/bin/git fetch origin' failed with exit code 128 Trying content-addressed mirror at mirror.hydra.gnu.org... Downloading from http://mirror.hydra.gnu.org/guix/nar/gzip/7p7mkiqv9ah6x0x20qzpas44sdf7jqkl-guile-bash-0.1.6-0.1eabc56-checkout (0.04 MiB)... 7p7mki...-guile-bash-0.1.6-0.1eabc56-checkout 37KiB 730KiB/s 00:00 [##] 100.0% /gnu/store/7p7mkiqv9ah6x0x20qzpas44sdf7jqkl-guile-bash-0.1.6-0.1eabc56-checkout --8<---cut here---end--->8--- Thanks for the heads-up! Ludo’.
bug#33608: bug#33882: Blender is not loading menu scripts
On 06/01/2019 01.27, Leo Famulari wrote: But since our Blender package is currently broken, I guess it's the right thing to do. I will test one more possible fix to our current Blender package, and if that fails,I will push the patch to update to "2.80-beta". Sounds reasonable. However, Blender is a case where it might be worthwhile to keep a 2.79 around even after the final release of 2.8, because the graphics card requirements have been increased to OpenGL core 3.3 * * https://www.blender.org/2-8/ -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/
bug#33993: Missing Texinfo documentation for Guix itself
Note: Replying only to the list as it makes it easy for others and their email clients to filter/split this message according to List-id header field. Em 06/01/2019 07:10, Ricardo Wurmus escreveu: > The installer script creates links from > /var/guix/profiles/per-user/root/current-guix/share/info to > /usr/local/share/info. Is the former directory populated as you would > expect? As I said, "/usr/local/share/info" has the symbolic links. Additionally, now that you mention it, searching for "/var/guix/profiles/per-user/root/current-guix/share/info/guix"{,".*"}".info"* returns the Texinfo files, but not in .GZ format. That said, they do exist and are readable there. I'll get a foreign distribution image to test using QEMU and observe the behavior from there when my other tasks allow me to. > This is odd. Do the files exist in > /var/guix/profiles/per-user/root/current-guix/share/info? Can you > please show us the output of “ls -la /usr/local/share/info” and “ls -la > /var/guix/profiles/per-user/root/current-guix/share/info”? total 84 dr-xr-xr-x 2 root root 4096 Dez 31 1969 . dr-xr-xr-x 3 root root 4096 Dez 31 1969 .. lrwxrwxrwx 2 root root 67 Dez 31 1969 dir -> /gnu/store/4b19fn53k8jdqqbqy39rx27z76hydm6k-info-dir/share/info/dir lrwxrwxrwx 2 root root 70 Dez 31 1969 dir.de -> /gnu/store/4b19fn53k8jdqqbqy39rx27z76hydm6k-info-dir/share/info/dir.de lrwxrwxrwx 2 root root 70 Dez 31 1969 dir.fr -> /gnu/store/4b19fn53k8jdqqbqy39rx27z76hydm6k-info-dir/share/info/dir.fr lrwxrwxrwx 3 root root 82 Dez 31 1969 guix.de.info -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.de.info lrwxrwxrwx 3 root root 84 Dez 31 1969 guix.de.info-1 -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.de.info-1 lrwxrwxrwx 3 root root 84 Dez 31 1969 guix.de.info-2 -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.de.info-2 lrwxrwxrwx 3 root root 84 Dez 31 1969 guix.de.info-3 -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.de.info-3 lrwxrwxrwx 3 root root 84 Dez 31 1969 guix.de.info-4 -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.de.info-4 lrwxrwxrwx 3 root root 82 Dez 31 1969 guix.fr.info -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.fr.info lrwxrwxrwx 3 root root 84 Dez 31 1969 guix.fr.info-1 -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.fr.info-1 lrwxrwxrwx 3 root root 84 Dez 31 1969 guix.fr.info-2 -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.fr.info-2 lrwxrwxrwx 3 root root 84 Dez 31 1969 guix.fr.info-3 -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.fr.info-3 lrwxrwxrwx 3 root root 84 Dez 31 1969 guix.fr.info-4 -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.fr.info-4 lrwxrwxrwx 3 root root 79 Dez 31 1969 guix.info -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.info lrwxrwxrwx 3 root root 81 Dez 31 1969 guix.info-1 -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.info-1 lrwxrwxrwx 3 root root 81 Dez 31 1969 guix.info-2 -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.info-2 lrwxrwxrwx 3 root root 81 Dez 31 1969 guix.info-3 -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.info-3 lrwxrwxrwx 3 root root 81 Dez 31 1969 guix.info-4 -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/guix.info-4 lrwxrwxrwx 3 root root 76 Dez 31 1969 images -> /gnu/store/hsxhql4w2611q884mbjcghmrzh7q5693-guix-5a7899fd8/share/info/images signature.asc Description: OpenPGP digital signature
bug#33996: Icecat is missing fonts
Em 06/01/2019 08:31, swedebu...@riseup.net escreveu: > After installing Icecat on guixsd v0.16 and starting it it shows only > squares instead of text and pango warns "missing font nimbus ..." This behavior seems similar to what I experience while using Guix in Trisquel 8.0 Flidas. The problem doesn't cause squares to appear, it actually causes the last text font that fontconfig advertises to IceCat, to be selected. I don't know how fontconfig selects these fonts, but I noticed that you can test this by placing some font in "~/.local/share/fonts" and running `fc-cache -vf'. IceCat should pick that font. You might need to try with different fonts, as IceCat seems to expect from fontconfig that it selects fonts with specific properties. signature.asc Description: OpenPGP digital signature
bug#33608: bug#33882: Blender is not loading menu scripts
On Sun, Jan 06, 2019 at 12:03:03PM +0100, Thorsten Wilms wrote: > Sounds reasonable. However, Blender is a case where it might be worthwhile > to keep a 2.79 around even after the final release of 2.8, because the > graphics card requirements have been increased to OpenGL core 3.3 * > > * https://www.blender.org/2-8/ But, is Guix's Blender 2.79 package working for anyone? For me and znavko, the graphical user interface is completely blank. Does Blender have a "headless" use case? signature.asc Description: PGP signature
bug#33999: CP437: Invalid Argument on init
Hello, I've installed guix to my desktop. `guix system install` ran successfully and the system is able to boot. However, a large number of services fail to start with the error "CP437: Invalid argument". There are 3 groups of information listed below: a partial list of services which fail (partial because I can only see the final screen of output; I'm not sure how to see the beginning of the log when I have no tty's and the startup log doesn't support scrolling as far as I can tell), a partial list of services that succeeded in starting, and my operating-system declaration used to create it. I verified that the inputs (mount points, fs types, etc) to the operating-system is accurate. I don't think it's doing anything particularly interesting. The only abnormal thing is that my root partition is btrfs, but I get the same behavior on ext. Broken Services: avahi-daemon console-font-tty{1-6} dbus-system elogind guix-daemon networking nscd ntpd syslogd term-tty{1-6,auto} user-homes upower-daemon urandom-seed user-processes wpa-supplicant xorg-server Working Services: console-keymap file-system-/sys/fs/cgroup/{blkio,devices,freezer,memory,perf_event} host-name virtual-terminal OS Declaration: (use-modules (gnu)) (use-service-modules desktop ssh) (use-package-modules shells vim wm) (operating-system (packages (cons* fish neovim xmonad %base-packages)) (services (cons* (console-keymap-service "dvorak-programmer") (service openssh-service-type (openssh-configuration (port-number 8778) ) ) %desktop-services ) ) (users (let ((default-groups '("wheel" "audio" "video" "netdev")) ;(default-shell #$fish) not sure if this is the right syntax... fix once system boots ) (cons* (user-account (name "primary") (group "users") (supplementary-groups default-groups) (home-directory "/home/primary") ) (user-account (name "configuration") (group "users") (supplementary-groups default-groups) (home-directory "/home/configuration") ) (user-account (name "packaging") (group "users") (supplementary-groups default-groups) (home-directory "/home/packaging") ) %base-user-accounts ) ) ) (host-name "cp") (timezone "America/Los_Angeles") (locale "en_US.utf8") (file-systems (cons* (file-system (device (file-system-label "ESP")) (mount-point "/boot/efi") (type "fat") ) (file-system (device (file-system-label "guix")) (mount-point "/") (type "btrfs") ) %base-file-systems ) ) (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (target "/boot/efi") (timeout 15) ) ) ) Thanks, Bryan
bug#33932: [PATCH] gnu: artanis: Move to web.scm and update to 0.3.1.
On 2019-01-04 22:38, Ricardo Wurmus wrote: > Hi, > >> From: swedebugia >> Date: Fri, 4 Jan 2019 21:20:46 +0100 >> Subject: [PATCH] gnu: artanis: Update to 0.3.1. >> >> * gnu/packages/guile.scm (artanis): Update it. Added note about >> guile-csv. > > This should be > > --8<---cut here---start->8--- > gnu: artanis: Update to 0.3.1. > > * gnu/packages/guile.scm (artanis): Update to 0.3.1. > [inputs]: Add guile-json and guile-redis. > [source]: Unbundle guile-redis and guile-json in snippet. > [arguments]: Delete strip phase. > --8<---cut here---end--->8--- > >> + (delete 'strip > > Why is this needed? > >> + ;; native-search-paths are needed but left out because we propagate it >> + ;; from the installation of guile. >> + ;; On foreign distributions you have to set this manually no matter if >> + ;; you installed guile with guix or not. On GuixSD it should be set >> + ;; correctly automatically (Guile is always installed there) > > I don’t know what this is trying to say, and it is pretty verbose. > Should the guile-* inputs be propagated instead? Please remove this > comment. Fixed. Is this OK? -- Cheers SwedebugiaFrom 4ddf3a25bdd98100a1e063c129d70d3182ea46c6 Mon Sep 17 00:00:00 2001 From: swedebugia Date: Sun, 6 Jan 2019 16:47:41 +0100 Subject: [PATCH] gnu: artanis: Update to 0.3.1. * gnu/packages/guile.scm (artanis): Update to 0.3.1. [snippet] Remove bundled guile-redis and add substitute for guile-redis. [inputs] Add guile-redis. --- gnu/packages/guile.scm | 20 +--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 07b568ee7..928bb065d 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2018 Eric Bavier +;;; Copyright © 2018 swedebugia ;;; ;;; This file is part of GNU Guix. ;;; @@ -528,7 +529,7 @@ program can be installed in one go.") ;;; (define-public artanis - (let ((release "0.2.1") + (let ((release "0.3.1") (revision 3)) (package (name "artanis") @@ -543,17 +544,26 @@ program can be installed in one go.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "041ajcg2pz918kd9iqcj4inpzddc3impvz3r2nhlpbv8zrz011hn")) + "0hqr5m3mb558bdhkc2sadmd9cbrhp3y525wx7cwirgy6i0zmay68")) (modules '((guix build utils))) (snippet '(begin +;; Unbundle guile-redis and guile-json (delete-file-recursively "artanis/third-party/json.scm") (delete-file-recursively "artanis/third-party/json") +(delete-file-recursively "artanis/third-party/redis.scm") +(delete-file-recursively "artanis/third-party/redis") (substitute* '("artanis/artanis.scm" + "artanis/lpc.scm" "artanis/oht.scm") (("(#:use-module \\()artanis third-party (json\\))" _ use-module json) (string-append use-module json))) +(substitute* '("artanis/lpc.scm" + "artanis/session.scm") + (("(#:use-module \\()artanis third-party (redis\\))" _ +use-module redis) + (string-append use-module redis))) (substitute* "artanis/oht.scm" (("([[:punct:][:space:]]+)(->json-string)([[:punct:][:space:]]+)" _ pre json-string post) @@ -565,9 +575,13 @@ program can be installed in one go.") "")) #t (build-system gnu-build-system) + ;; FIXME the bundled csv contains one more exported procedure + ;; (sxml->csv-string) than guile-csv. The author is maintainer of both + ;; projects. ;; TODO: Add guile-dbi and guile-dbd optional dependencies. (inputs `(("guile" ,guile-2.2) -("guile-json" ,guile-json))) +("guile-json" ,guile-json) +("guile-redis" ,guile-redis))) (native-inputs `(("bash" ,bash) ;for the `source' builtin ("pkgconfig" ,pkg-config) ("util-linux" ,util-linux))) ;for the `script' command -- 2.19.2
bug#34003: [PATCH] gnu: fish: Update to 3.0.0.
Hi, This patch updates fish shell to 3.0.0. I tested this patch on my computer. It seems bug#30265 (https://lists.gnu.org/archive/html/bug-guix/2018-01/msg00296.html) has gone. * gnu/packages/shells.scm (fish): Update to 3.0.0. [source]: Remove dead URL. [inputs]: Remove bc. Replace python-wrapper with python. [arguments]: Remove configure-flags. Add multiple phases to patch fish. Enable fish to source /etc/fish/config.sh. Add user's and system's guix profiles to __extra_* variables. >From 204527a56b31174777c6eee6512a7cbcffe6 Mon Sep 17 00:00:00 2001 From: Meiyo Peng Date: Sun, 6 Jan 2019 22:11:36 +0800 Subject: [PATCH] gnu: fish: Update to 3.0.0. * gnu/packages/shells.scm (fish): Update to 3.0.0. [source]: Remove dead URL. [inputs]: Remove bc. Replace python-wrapper with python. [arguments]: Remove configure-flags. Add multiple phases to patch fish. Enable fish to source /etc/fish/config.sh. Add user's and system's guix profiles to __extra_* variables. --- gnu/packages/shells.scm | 104 ++-- 1 file changed, 68 insertions(+), 36 deletions(-) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 38eeaa783..c9511fba6 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017, 2018 Nils Gillmann ;;; Copyright © 2017, 2018 Leo Famulari ;;; Copyright © 2017 Arun Isaac +;;; Copyright © 2019 Meiyo Peng ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,7 +28,6 @@ (define-module (gnu packages shells) #:use-module (gnu packages) - #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bison) @@ -88,51 +88,83 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).") (define-public fish (package (name "fish") -(version "2.7.1") -(source (origin - (method url-fetch) - (uri - (list -(string-append "https://fishshell.com/files/"; - version "/fish-" version ".tar.gz") -(string-append "https://github.com/fish-shell/fish-shell/"; - "releases/download/" version "/" - name "-" version ".tar.gz"))) - (sha256 - (base32 -"0nhc3yc5lnnan7zmxqqxm07rdpwjww5ijy45ll2njdc6fnfb2az4")) - (modules '((guix build utils))) - ;; Don't try to install /etc/fish/config.fish. - (snippet '(begin - (substitute* "Makefile.in" -((".*INSTALL.*sysconfdir.*fish.*") "")) - #t +(version "3.0.0") +(source + (origin + (method url-fetch) + (uri (string-append "https://github.com/fish-shell/fish-shell/"; + "releases/download/" version "/" + name "-" version ".tar.gz")) + (sha256 +(base32 + "1kzjd0n0sfslkd36lzrvvvgy3qwkd9y466bkrqlnhd5h9dhx77ga" (build-system gnu-build-system) +(inputs + `(("ncurses" ,ncurses) + ("groff" ,groff) ; for 'fish --help' + ("pcre2" ,pcre2) ; don't use the bundled PCRE2 + ("python" ,python))) ; for fish_config and manpage completions (native-inputs `(("doxygen" ,doxygen))) -(inputs - `(("bc" ,bc) - ("ncurses" ,ncurses) - ("groff" ,groff) ;for 'fish --help' - ("pcre2" ,pcre2) ;don't use the bundled PCRE2 - ("python" ,python-wrapper))) ;for fish_config and manpage completions (arguments - '(#:tests? #f ; no check target - #:configure-flags '("--sysconfdir=/etc") + '(#:tests? #f ; no check target #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda _ + (substitute* '("build_tools/build_commands_hdr.sh" +"build_tools/build_user_doc.sh") + (("/usr/bin/env") "env")) + #t)) ;; Embed absolute paths to store items. (add-after 'unpack 'embed-store-paths - (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* '("share/functions/math.fish" -"share/functions/seq.fish") - (("\\| bc") -(string-append "| " (assoc-ref %build-inputs "bc") - "/bin/bc"))) - (substitute* "share/functions/fish_update_completions.fish" - (("python") (which "python"))) + (lambda _ + (substitute* '("share/functions/__fish_config_interactive.fish" +"share/functions/fish_config.fish" +"share/functions/fish_update_completions.fish") + ((
bug#27206: Fish: figure out a solution for the vendor path extension to fish
Hi, > Fish doesn't pick up stuff like 'fish-guix' from store > without modifications to the path where fish searches > for vendor or sysadmin installed systemwide 'things' > for fish. I found this old thread after submitting patch #34003. I think that patch has probably solved your problem. I submitted patch #34003 to update fish to 3.0.0. In that patch, I enabled fish to add user's and system's profiles to __extra_* variables. So now fish can load completions and functions from user's and system's profiles. $fish_complete_path and $fish_function_path become this on my computer: #+begin_example ~ echo $fish_complete_path | tr ' ' '\n' /home/meiyo/.config/fish/completions /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/etc/fish/completions /home/meiyo/.guix-profile/etc/fish/completions /run/current-system/profile/etc/fish/completions /home/meiyo/.guix-profile/share/fish/vendor_completions.d /run/current-system/profile/share/fish/vendor_completions.d /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/vendor_completions.d /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/completions /home/meiyo/.local/share/fish/generated_completions ~ echo $fish_function_path | tr ' ' '\n' /home/meiyo/.config/fish/functions /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/etc/fish/functions /home/meiyo/.guix-profile/etc/fish/functions /run/current-system/profile/etc/fish/functions /home/meiyo/.guix-profile/share/fish/vendor_functions.d /run/current-system/profile/share/fish/vendor_functions.d /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/vendor_functions.d /gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/functions #+end_example We can then install fish completions and functions into either user's or system's profile. And fish will happily load them. For example, youtube-dl provides a fish completion: #+begin_example /gnu/store/3sv0ckhpyrxcssrk21s70klw14dz7x1b-youtube-dl-2018.12.17/etc/fish └── completions └── youtube-dl.fish #+end_example After installing youtube-dl into my user profile, youtube-dl command completion works in fish: #+begin_example ~ youtube-dl -- --abort-on-error (Abort downloading of further videos…) --abort-on-unavailable-fragment (Abort downloading wh…) --add-header (Specify a custom HTTP header and its va…) --add-metadata(Write metadata to the video file) …and 159 more rows #+end_example youtube-dl is now in my user profile: #+begin_example /home/meiyo/.guix-profile/etc/fish/ └── completions └── youtube-dl.fish #+end_example > I have many more fish packages in a branch which > I want to get into guix, but they are stuck because > of this. Help welcome, otherwise I'll promise to > fix it one day. You can share your packages with us now! -- Meiyo Peng https://www.pengmeiyu.com/