summaryrefslogtreecommitdiff
path: root/etc/completion
diff options
context:
space:
mode:
authorHilton Chain <hako@ultrarare.space>2025-06-13 15:41:25 +0800
committerHilton Chain <hako@ultrarare.space>2025-09-24 15:34:29 +0800
commit92765f33dbe5cb9785440eb2baf01c19afdbea39 (patch)
treeca2fa5b936d898e4d516f8cdd8e7e4c2923cc065 /etc/completion
parentba6369c85b9c63749d36a56e4afd28cd0fc5fb3b (diff)
etc: Rewrite fish completion.
* etc/completion/fish/guix.fish: Rewrite from scratch to allow generate part of the completions and achieve full completion coverage. Change-Id: I9e39432c76c36bd1f2804eb6f295202847505eef
Diffstat (limited to 'etc/completion')
-rw-r--r--etc/completion/fish/guix.fish1469
1 files changed, 983 insertions, 486 deletions
diff --git a/etc/completion/fish/guix.fish b/etc/completion/fish/guix.fish
index 9e3b3211ea1..fdb4f4fe49a 100644
--- a/etc/completion/fish/guix.fish
+++ b/etc/completion/fish/guix.fish
@@ -1,6 +1,6 @@
1#
2# GNU Guix --- Functional package management for GNU 1# GNU Guix --- Functional package management for GNU
3# Copyright © 2017, 2018 Nikita <nikita@n0.is> 2# Copyright © 2017, 2018 Nikita <nikita@n0.is>
3# Copyright © 2025 Hilton Chain <hako@ultrarare.space>
4# 4#
5# This file is part of GNU Guix. 5# This file is part of GNU Guix.
6# 6#
@@ -17,60 +17,9 @@
17# You should have received a copy of the GNU General Public License 17# You should have received a copy of the GNU General Public License
18# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20# Guix commands covered: 20# FIXME: Fish doesn't support GNU-style long options.
21# download, pull, system, build, package, size, refresh 21# Completions in this file add ‘=’ suffixes for visual indication, but they
22# publish, lint, import, hash, graph, gc, environment, 22# will complete ‘--load-path= ’ instead of ‘--load-path=’, for example.
23# edit, copy, container, challenge, archive, pack,
24# weather
25
26# Existing commands provided by guix as of 2017-11-30:
27# archive, challenge, copy, edit, gc, hash, lint, package
28# pull, size, weather, build, container, download, environment
29# graph, import, pack, publish, refresh, system
30
31# TODO: a rewrite similar to rust.fish
32
33# Use 'command guix' to avoid interactions for aliases.
34
35## To be used later on:
36# function __fish_guix_archive
37# end
38# function __fish_guix_build_file_ls
39# end
40# function __fish_guix_challenge
41# end
42# function __fish_guix_container
43# end
44# function __fish_guix_copy
45# end
46# function __fish_guix_download
47# end
48# function __fish_guix_edit
49# end
50# function __fish_guix_environment
51# end
52# function __fish_guix_gc
53# end
54# function __fish_guix_graph
55# end
56# function __fish_guix_hash
57# end
58# function __fish_guix_import
59# end
60# function __fish_guix_lint
61# end
62# function __fish_guix_package
63# end
64# function __fish_guix_publish
65# end
66# function __fish_guix_pull
67# end
68# function __fish_guix_refresh
69# end
70# function __fish_guix_size
71# end
72# function __fish_guix_system
73# end
74 23
75function __fish_guix_needs_command 24function __fish_guix_needs_command
76 set cmd (commandline -opc) 25 set cmd (commandline -opc)
@@ -112,434 +61,982 @@ function __fish_guix_using_command
112 and return 0 61 and return 0
113end 62end
114 63
115# general options 64function __fish_guix_complete_subcommand
116complete -f -c guix -s h -l help -d 'Display the manual of a guix command' 65 # Support nested ‘guix shell’, ‘guix deploy’, ‘guix time-machine’ etc.
117complete -f -c guix -s V -l version -d 'Display version information.' 66 set -l time_machine
118 67 set -l tokens (commandline -opc)
119# shared options 68 while true
120#complete -f -c guix -n '__fish_guix_using_command' 69 set -l index (contains -i -- "--" $tokens)
121 70 if [ -z "$index" ]
122#### download 71 break
123set -l remotecommands format no-check-certificate 72 end
124complete -f -c guix -n '__fish_guix_needs_command' -a download -d 'Download object from source into the gnu store' 73 set time_machine (contains -i -- "time-machine" $tokens[1..$index])
125complete -f -c guix -n '__fish_guix_using_command download' -s f -l format -d'Write the hash in the given format' 74 set -e tokens[1..$index]
126complete -f -c guix -n '__fish_guix_using_command download' -l no-check-certificate -d 'Do not validate the certificate of HTTPS servers' 75 end
127 76 if [ -n "$time_machine" ]
128#### pull 77 complete -C "guix $tokens $(commandline -ct)"
129set -l remotecommands verbose url bootstrap 78 else
130complete -f -c guix -n '__fish_guix_needs_command' -a pull -d 'Download and deploy the latest version of Guix' 79 complete -C "$tokens $(commandline -ct)"
131complete -f -c guix -n '__fish_guix_using_command pull' -l verbose -d 'produce verbose output' 80 end
132complete -f -c guix -n '__fish_guix_using_command pull' -l url -d 'download the Guix tarball from URL' 81end
133complete -f -c guix -n '__fish_guix_using_command pull' -l bootstrap -d 'use the bootstrap Guile to build the new Guix' 82
134 83set -l guix_substitute_urls "https://bordeaux.guix.gnu.org https://ci.guix.gnu.org"
135#### system 84
136set -l remotecommands reconfigure roll-back switch-generation list-generations build container vm image init extension-graph shepherd-graph load-path keep-failed keep-going dry-run fallback no-substitutes substitutes-urls no-grafts no-offload max-silent-time timeout verbosity rounds cores max-jobs derivation on-error image-size no-grub share expose full-boot 85complete -f -c guix -s h -l help -d "display help message"
137complete -f -c guix -n '__fish_guix_needs_command' -a system -d 'Build the operating system declared in FILE according to ACTION.' 86complete -f -c guix -s V -l version -d "display version information"
138complete -f -c guix -n '__fish_guix_using_command system' -l reconfigure -d 'switch to a new operating system configuration' 87
139complete -f -c guix -n '__fish_guix_using_command system' -l roll-back -d 'switch to the previous operating system configuration' 88
140complete -f -c guix -n '__fish_guix_using_command system' -l switch-generation -d 'switch to an existing operating system configuration' 89# Generate option lists and simple completions, which may take too long to
141complete -f -c guix -n '__fish_guix_using_command system' -l list-generations -d 'list the system generations' 90# compute at run time.
142complete -f -c guix -n '__fish_guix_using_command system' -l build -d 'build the operating system without installing anything' 91#
143complete -f -c guix -n '__fish_guix_using_command system' -l container -d 'build a container that shares the host\'s store' 92# echo set -l guix_build_systems \\
144complete -f -c guix -n '__fish_guix_using_command system' -l vm -d 'build a virtual machine image that shares the host\'s store' 93# for command in $(command guix build --list-systems | string match -rg '^ - ([a-z0-9-_]+)')
145complete -f -c guix -n '__fish_guix_using_command system' -l image -d 'build a disk image, suitable for a USB stick' 94# echo " $command \\"
146complete -f -c guix -n '__fish_guix_using_command system' -l init -d 'initialize a root file system to run GNU' 95# end
147complete -f -c guix -n '__fish_guix_using_command system' -l extension-graph -d 'emit the service extension graph in Dot format' 96# echo set -l guix_build_targets \\
148complete -f -c guix -n '__fish_guix_using_command system' -l shepherd-graph -d 'emit the graph of shepherd services in Dot format' 97# for command in $(command guix build --list-targets | string match -rg '^ - ([a-z0-9-_]+)')
149complete -f -c guix -n '__fish_guix_using_command system' -s L -d 'prepend DIR to the package module search path' 98# echo " $command \\"
150complete -f -c guix -n '__fish_guix_using_command system' -a "--load-path=" -d 'prepend DIR to the package module search path' 99# end
151complete -f -c guix -n '__fish_guix_using_command system' -s K -l keep-failed -d 'keep build tree of failed builds' 100# echo set -l guix_describe_formats \\
152complete -f -c guix -n '__fish_guix_using_command system' -s k -l keep-going -d 'keep going when some of the derivations fail' 101# for command in $(guix describe --list-formats | string match -rg '^ - ([a-z0-9-_]+)')
153complete -f -c guix -n '__fish_guix_using_command system' -s n -l dry-run -d 'do not build the derivations' 102# echo " $command \\"
154complete -f -c guix -n '__fish_guix_using_command system' -l fallback -d 'fall back to building when the substituter fails' 103# end
155complete -f -c guix -n '__fish_guix_using_command system' -l no-substitutes -d 'build instead of resorting to pre-built substitutes' 104# echo set -l guix_graph_backends \\
156complete -f -c guix -n '__fish_guix_using_command system' -a "--substitute-urls=" -d 'fetch substitute from URLS if they are authorized' 105# for command in $(guix graph --list-backends | string match -rg '^ - ([a-z0-9-_]+)')
157complete -f -c guix -n '__fish_guix_using_command system' -l no-grafts -d 'do not graft packages' 106# echo " $command \\"
158complete -f -c guix -n '__fish_guix_using_command system' -l no-offload -d 'do not attempt to offload builds' 107# end
159complete -f -c guix -n '__fish_guix_using_command system' -a "--max-silent-time=" -d 'mark the build as failed after SECONDS of silence' 108# echo set -l guix_graph_types \\
160complete -f -c guix -n '__fish_guix_using_command system' -a "--timeout=" -d 'mark the build as failed after SECONDS of activity' 109# for command in $(guix graph --list-types | string match -rg '^ - ([a-z0-9-_]+)')
161complete -f -c guix -n '__fish_guix_using_command system' -a "--verbosity=" -d 'use the given verbosity LEVEL' 110# echo " $command \\"
162complete -f -c guix -n '__fish_guix_using_command system' -a --"rounds=" -d 'build N times in a row to detect non-determinism' 111# end
163complete -f -c guix -n '__fish_guix_using_command system' -s c -d 'allow the use of up to N CPU cores for the build' 112# echo set -l guix_image_types \\
164complete -f -c guix -n '__fish_guix_using_command system' -a "--cores=" -d 'allow the use of up to N CPU cores for the build' 113# for type in $(guix system --list-image-types | string match -rg "^ - ([a-z0-9-_]+)")
165complete -f -c guix -n '__fish_guix_using_command system' -s M -d 'allow at most N build jobs' 114# echo " $type \\"
166complete -f -c guix -n '__fish_guix_using_command system' -a "--max-jobs=" -d 'allow at most N build jobs' 115# end
167complete -f -c guix -n '__fish_guix_using_command system' -s d -l derivation -d 'return the derivation of the given system' 116# echo set -l guix_importers \\
168complete -f -c guix -n '__fish_guix_using_command system' -a "--on-error=" -d 'apply STRATEGY when an error occurs while reading FILE' 117# for importer in $(command guix import --help | string match -rg '^ ([a-z0-9-_]+)')
169complete -f -c guix -n '__fish_guix_using_command system' -a "--image-size=" -d 'for \'image\', produce an image of SIZE' 118# echo " $importer \\"
170complete -f -c guix -n '__fish_guix_using_command system' -l no-grub -d 'for \'init\', do not install GRUB' 119# end
171complete -f -c guix -n '__fish_guix_using_command system' -a "--share=" -d 'for \'vm\', share host file system according to SPEC' 120# echo set -l guix_lint_checker \\
172complete -f -c guix -n '__fish_guix_using_command system' -a "--expose=" -d 'for \'vm\', expose host file system according to SPEC' 121# for checker in $(guix lint --list-checkers | string match -rg "^- ([a-z0-9-_]+):")
173complete -f -c guix -n '__fish_guix_using_command system' -l full-boot -d 'for \'vm\', make a full boot sequence' 122# echo " $checker \\"
174 123# end
175#### build 124# echo set -l guix_pack_formats \\
176set -l remotecommands expression file source sources system target derivations check repair root quiet log-file load-path keep-failed keep-going dry-run fallback no-substitutes substitute-urls no-grafts no-offload max-silent-time timeout verbosity rounds cores max-jobs with-source with-input with-graft 125# for format in $(guix pack --list-formats | string match -rg "^ ([a-z0-9-_]+)")
177complete -f -c guix -n '__fish_guix_needs_command' -a build -d 'Build the given PACKAGE-OR-DERIVATION and return their output paths.' 126# echo " $format \\"
178complete -f -c guix -n '__fish_guix_using_command build' -a "--expression=" -d 'build the package or derivation EXPR evaluates to' 127# end
179complete -f -c guix -n '__fish_guix_using_command build' -s f -d 'build the package or derivation that the code within FILE evaluates to' --exclusive --arguments "(ls -ap)" 128# echo set -l guix_processes_formats \\
180# The command below is broken: 129# for format in $(guix processes --list-formats | string match -rg '^ - ([a-z0-9-_]*)')
181complete -f -c guix -n '__fish_guix_using_command build' -a '--file=' -a '(ls -ap)' -d 'build the package or derivation that the code within FILE evaluates to' 130# echo " $format \\"
182complete -f -c guix -n '__fish_guix_using_command build' -s S -l source -d 'build the packages\' source derivations' 131# end
183complete -f -c guix -n '__fish_guix_using_command build' -l sources -d 'build source derivations, TYPE may optionally be one of "package", "all" (default), or "transitive"' -a "package all transitive" -a "package all transitive" 132# echo set -l guix_refresh_updaters \\
184complete -f -c guix -n '__fish_guix_using_command build' -s s -d 'attempt to build for SYSTEM--e.g., "i686-linux"' 133# for updater in $(guix refresh --list-updaters | string match -rg "^ - ([a-z0-9-_]+):")
185complete -f -c guix -n '__fish_guix_using_command build' -a "--system=" -d 'attempt to build for SYSTEM--e.g., "i686-linux"' 134# echo " $updater \\"
186complete -f -c guix -n '__fish_guix_using_command build' -a "--target=" -d 'cross-build for TRIPLET--e.g., "armel-linux-gnu"' 135# end
187complete -f -c guix -n '__fish_guix_using_command build' -s d -l derivations -d 'return the derivation paths of the given packages' 136# echo set -l guix_repl_types \\
188complete -f -c guix -n '__fish_guix_using_command build' -l check -d 'rebuild items to check for non-determinism issues' 137# for type in $(guix repl --list-types)
189complete -f -c guix -n '__fish_guix_using_command build' -l repair -d 'repair the specified items' 138# echo " $type \\"
190complete -f -c guix -n '__fish_guix_using_command build' -s r -d 'make FILE a symlink to the result, and register it as a garbage collector root' 139# end
191complete -f -c guix -n '__fish_guix_using_command build' -a "--root=" -d 'make FILE a symlink to the result, and register it as a garbage collector root' 140# echo set -l guix_style_stylings \\
192complete -f -c guix -n '__fish_guix_using_command build' -s q -l quiet -d 'do not show the build log' 141# for styling in $(guix style --list-stylings | string match -rg "^- ([a-z0-9-_]+):")
193complete -f -c guix -n '__fish_guix_using_command build' -l log-file -d 'return the log file names for the given derivations' 142# echo " $styling \\"
194complete -f -c guix -n '__fish_guix_using_command build' -s L -d 'prepend DIR to the package module search path' 143# end
195complete -f -c guix -n '__fish_guix_using_command build' -a "--load-path=" -d 'prepend DIR to the package module search path' 144# echo set -l guix_commands \\
196complete -f -c guix -n '__fish_guix_using_command build' -s K -l keep-failed -d 'keep build tree of failed builds' 145# for command in $(command guix --help | string match -rg '^ ([a-z0-9-]+)')
197complete -f -c guix -n '__fish_guix_using_command build' -s k -l keep-going -d 'keep going when some of the derivations fail' 146# echo " $command \\"
198complete -f -c guix -n '__fish_guix_using_command build' -s n -l dry-run -d 'do not build the derivations' 147# end
199complete -f -c guix -n '__fish_guix_using_command build' -l fallback -d 'fall back to building when the substituter fails' 148# for command in $(command guix --help | string match -rg '^ ([a-z0-9-]+)')
200complete -f -c guix -n '__fish_guix_using_command build' -l no-substitutes -d 'build instead of resorting to pre-built substitutes' 149# echo "complete -f -c guix -n \"__fish_guix_needs_command\" -a \"$command\" -d \"$(guix --help | string match -rg "^ $command +(.*)")\""
201complete -f -c guix -n '__fish_guix_using_command build' -a "--substitute-urls=" -d 'fetch substitute from URLS if they are authorized' 150# end
202complete -f -c guix -n '__fish_guix_using_command build' -l no-grafts -d 'do not graft packages' 151# echo set -l guix_system_commands \\
203complete -f -c guix -n '__fish_guix_using_command build' -l no-offload -d 'do not attempt to offload builds' 152# for command in $(command guix system --help | string match -rg '^ ([a-z0-9-]+)')
204complete -f -c guix -n '__fish_guix_using_command build' -a "--max-silent-time=" -d 'mark the build as failed after SECONDS of silence' 153# echo " $command \\"
205complete -f -c guix -n '__fish_guix_using_command build' -a "--timeout=" -d 'mark the build as failed after SECONDS of activity' 154# end
206complete -f -c guix -n '__fish_guix_using_command build' -a "--verbosity=" -d 'use the given verbosity LEVEL' 155# for command in $(command guix system --help | string match -rg '^ ([a-z0-9-]+)')
207complete -f -c guix -n '__fish_guix_using_command build' -a "--rounds=" -d 'build N times in a row to detect non-determinism' 156# echo "complete -f -c guix -n \"__fish_guix_using_command system; and not __fish_seen_subcommand_from \$guix_system_commands\" -a \"$command\" -d \"$(guix system --help | string match -rg "^ $command +(.*)")\""
208complete -f -c guix -n '__fish_guix_using_command build' -s c -d 'allow the use of up to N CPU cores for the build' 157# end
209complete -f -c guix -n '__fish_guix_using_command build' -a "--cores=" -d 'allow the use of up to N CPU cores for the build' 158# echo set -l guix_home_commands \\
210complete -f -c guix -n '__fish_guix_using_command build' -s M -d 'allow at most N build jobs' 159# for command in $(command guix home --help | string match -rg '^ ([a-z0-9-]+)')
211complete -f -c guix -n '__fish_guix_using_command build' -a "--max-jobs=" -d 'allow at most N build jobs' 160# echo " $command \\"
212complete -f -c guix -n '__fish_guix_using_command build' -a "--with-source=" -d 'use SOURCE when building the corresponding package' 161# end
213complete -f -c guix -n '__fish_guix_using_command build' -a "--with-input=" -d 'PACKAGE=REPLACEMENT .. replace dependency PACKAGE by REPLACEMENT' 162# for command in $(command guix home --help | string match -rg '^ ([a-z0-9-]+)')
214complete -f -c guix -n '__fish_guix_using_command build' -a "--with-graft=" -d 'PACKAGE=REPLACEMENT .. graft REPLACEMENT on packages that refer to PACKAGE' 163# echo "complete -f -c guix -n \"__fish_guix_using_command home; and not __fish_seen_subcommand_from \$guix_home_commands\" -a \"$command\" -d \"$(echo $(guix home --help | string match -rg "^ $command +(.*)"))\""
215 164# end
216#### package 165
217set -l remotecommands install install-from-expression install-from-file remove upgrade manifest do-no-upgrade roll-back search-paths list-generations delete-generations switch-generation profile bootstrap verbose search list-installed list-available show load-path keep-failed keep-going dry-run fallback no.substitutes substitute-urls no-grafts no-offload max-silent-time timenout verbosity rounds cores max-jobs with-source with-input with-graft 166# Generated output
218complete -f -c guix -n '__fish_guix_needs_command' -a package -d 'Install, remove, or upgrade packages in a single transaction.' 167set -l guix_build_systems \
219complete -f -c guix -n '__fish_guix_using_command package' -s i -l install -d 'install PACKAGEs' 168 aarch64-linux \
220complete -f -c guix -n '__fish_guix_using_command package' -s e -d 'install the package EXP evaluates to' 169 armhf-linux \
221complete -f -c guix -n '__fish_guix_using_command package' -a "--install-from-expression=" -d 'install the package EXP evaluates to' 170 i586-gnu \
222complete -f -c guix -n '__fish_guix_using_command package' -s f -d 'install the package that the code within FILE evaluates to' 171 i686-linux \
223complete -f -c guix -n '__fish_guix_using_command package' -a "--install-from-file=" -d 'install the package that the code within FILE evaluates to' 172 mips64el-linux \
224complete -f -c guix -n '__fish_guix_using_command package' -s r -l remove -d 'remove PACKAGEs' 173 powerpc-linux \
225complete -f -c guix -n '__fish_guix_using_command package' -s u -l upgrade -d '[=REGEXP] upgrade all the installed packages matching REGEXP' 174 powerpc64le-linux \
226complete -f -c guix -n '__fish_guix_using_command package' -s m -d 'create a new profile generation with the manifest from FILE' 175 riscv64-linux \
227complete -f -c guix -n '__fish_guix_using_command package' -a "--manifest=" -d 'create a new profile generation with the manifest from FILE' 176 x86_64-gnu \
228complete -f -c guix -n '__fish_guix_using_command package' -l do-not-upgrade -d '[=REGEXP] do not upgrade any packages matching REGEXP' 177 x86_64-linux
229complete -f -c guix -n '__fish_guix_using_command package' -l roll-back -d 'roll back to the previous generation' 178set -l guix_build_targets \
230complete -f -c guix -n '__fish_guix_using_command package' -l search-paths -d '[=KIND] display needed environment variable definitions' 179 aarch64-linux-gnu \
231complete -f -c guix -n '__fish_guix_using_command package' -s l -l list-generations -d '[=PATTERN] list generations matching PATTERN' 180 arm-linux-gnueabihf \
232complete -f -c guix -n '__fish_guix_using_command package' -s d -l delete-generations -d '[=PATTERN] delete generations matching PATTERN' 181 avr \
233complete -f -c guix -n '__fish_guix_using_command package' -s S -d 'PATTERN switch to a generation matching PATTERN' 182 i586-pc-gnu \
234complete -f -c guix -n '__fish_guix_using_command package' -a "--switch-generation=" -d 'PATTERN switch to a generation matching PATTERN' 183 i686-linux-gnu \
235complete -f -c guix -n '__fish_guix_using_command package' -s p -d 'use PROFILE instead of the user\'s default profile' 184 i686-w64-mingw32 \
236complete -f -c guix -n '__fish_guix_using_command package' -a "--profile=" -d 'use PROFILE instead of the user\'s default profile' 185 loongarch64-linux-gnu \
237complete -f -c guix -n '__fish_guix_using_command package' -l bootstrap -d 'use the bootstrap Guile to build the profile' 186 mips64el-linux-gnu \
238complete -f -c guix -n '__fish_guix_using_command package' -l verbose -d 'produce verbose output' 187 or1k-elf \
239complete -f -c guix -n '__fish_guix_using_command package' -s s -d 'REGEXP search in synopsis and description using REGEXP' 188 powerpc-linux-gnu \
240complete -f -c guix -n '__fish_guix_using_command package' -a "--search=" -d 'REGEXP search in synopsis and description using REGEXP' 189 powerpc64-linux-gnu \
241complete -f -c guix -n '__fish_guix_using_command package' -s I -l list-installed -d '[=REGEXP] list installed packages matching REGEXP' 190 powerpc64le-linux-gnu \
242#complete -c guix -n '__fish_guix_using_command package' -s I -l list-installed --exclusive --arguments "(guix package --list-installed)" --description 'List installed packages matching REGEXP' 191 riscv64-linux-gnu \
243complete -f -c guix -n '__fish_guix_using_command package' -s A -l list-available -d '[=REGEXP] list available packages matching REGEXP' 192 x86_64-linux-gnu \
244complete -f -c guix -n '__fish_guix_using_command package' -a "--show=" -d 'PACKAGE show details about PACKAGE' 193 x86_64-linux-gnux32 \
245complete -f -c guix -n '__fish_guix_using_command package' -s L -d 'DIR prepend DIR to the package module search path' 194 x86_64-pc-gnu \
246complete -f -c guix -n '__fish_guix_using_command package' -a "--load-path=" -d 'DIR prepend DIR to the package module search path' 195 x86_64-w64-mingw32 \
247complete -f -c guix -n '__fish_guix_using_command package' -s K -l keep-failed -d 'keep build tree of failed builds' 196 xtensa-ath9k-elf
248complete -f -c guix -n '__fish_guix_using_command package' -s k -l keep-going -d 'keep going when some of the derivations fail' 197set -l guix_describe_formats \
249complete -f -c guix -n '__fish_guix_using_command package' -s n -l dry-run -d 'do not build the derivations' 198 human \
250complete -f -c guix -n '__fish_guix_using_command package' -l fallback -d 'fall back to building when the substituter fails' 199 channels \
251complete -f -c guix -n '__fish_guix_using_command package' -l no-substitutes -d 'build instead of resorting to pre-built substitutes' 200 channels-sans-intro \
252complete -f -c guix -n '__fish_guix_using_command package' -a "--substitute-urls=" -d 'URLS fetch substitute from URLS if they are authorized' 201 json \
253complete -f -c guix -n '__fish_guix_using_command package' -l no-grafts -d 'do not graft packages' 202 recutils
254complete -f -c guix -n '__fish_guix_using_command package' -l no-offload -d 'do not attempt to offload builds' 203set -l guix_graph_backends \
255complete -f -c guix -n '__fish_guix_using_command package' -a "--max-silent-time=" -d 'SECONDS mark the build as failed after SECONDS of silence' 204 graphviz \
256complete -f -c guix -n '__fish_guix_using_command package' -a "--timeout=" -d 'SECONDS mark the build as failed after SECONDS of activity' 205 d3js \
257complete -f -c guix -n '__fish_guix_using_command package' -a "--verbosity=" -d 'LEVEL use the given verbosity LEVEL' 206 cypher \
258complete -f -c guix -n '__fish_guix_using_command package' -a "--rounds=" -d 'N build N times in a row to detect non-determinism' 207 graphml
259complete -f -c guix -n '__fish_guix_using_command package' -s c -d 'N allow the use of up to N CPU cores for the build' 208set -l guix_graph_types \
260complete -f -c guix -n '__fish_guix_using_command package' -a "--cores=" -d 'N allow the use of up to N CPU cores for the build' 209 package \
261complete -f -c guix -n '__fish_guix_using_command package' -s M -l max-jobs= -d 'N allow at most N build jobs' 210 reverse-package \
262complete -f -c guix -n '__fish_guix_using_command package' -a "--max-jobs=" -d 'N allow at most N build jobs' 211 bag \
263complete -f -c guix -n '__fish_guix_using_command package' -a "--with-source=" -d 'SOURCE use SOURCE when building the corresponding package' 212 bag-with-origins \
264complete -f -c guix -n '__fish_guix_using_command package' -a "--with-input=" -d 'PACKAGE=REPLACEMENT replace dependency PACKAGE by REPLACEMENT' 213 bag-emerged \
265complete -f -c guix -n '__fish_guix_using_command package' -a "--with-graft=" -d 'PACKAGE=REPLACEMENT graft REPLACEMENT on packages that refer to PACKAGE' 214 reverse-bag \
266 215 derivation \
267#### size 216 references \
268set -l remotecommands substitute-urls= system= map-file= 217 referrers \
269complete -f -c guix -n '__fish_guix_needs_command' -a size -d 'Report the size of PACKAGE and its dependencies.' 218 module
270complete -f -c guix -n '__fish_guix_using_command size' -a "--substitute-urls=" -d 'fetch substitute from URLS if they are authorized' 219set -l guix_image_types \
271complete -f -c guix -n '__fish_guix_using_command size' -a "--system=" -d 'consider packages for SYSTEM--e.g., "i686-linux"' 220 docker \
272complete -f -c guix -n '__fish_guix_using_command size' -a "--map-file=" -d 'write to FILE a graphical map of disk usage' 221 efi-raw \
273 222 efi32-raw \
274#### refresh 223 hurd-qcow2 \
275set -l remotecommands expression update select type list-updaters list-dependent key-server gpg key-download 224 hurd-raw \
276complete -f -c guix -n '__fish_guix_needs_command' -a refresh -d 'Update package definitions to match the latest upstream version' 225 hurd64-qcow2 \
277# FIXME: Too long. When PACKAGE... is given, update only the specified packages. Otherwise update all the packages of the distribution, or the subset thereof specified with `--select`.' 226 hurd64-raw \
278complete -f -c guix -n '__fish_guix_using_command refresh' -a "--expression=" -d 'consider the package EXPR evaluates to' 227 iso9660 \
279complete -f -c guix -n '__fish_guix_using_command refresh' -l update -d 'update source files in place' 228 mbr-hybrid-raw \
280#complete -f -c guix -n '__fish_guix_using_command refresh' -l select= -d 'select all the packages in SUBSET, one of `core` or `non-core`' --exclusive --arguments "core non-core" 229 mbr-raw \
281complete -f -c guix -n '__fish_guix_using_command refresh' -a "--select=" -d 'select all the packages in SUBSET, one of `core` or `non-core`' --exclusive --arguments "core non-core" 230 novena-raw \
282complete -f -c guix -n '__fish_guix_using_command refresh' -a "--type=" -d 'restrict to updates from the specified updaters (e.g., \'gnu\')' --exclusive --arguments "gnu gnome kde xorg kernel.org elpa cran bioconductor cpan pypi gem github hackage crate" 231 orangepi-r1-plus-lts-rk3328-raw \
283complete -f -c guix -n '__fish_guix_using_command refresh' -l list-updaters -d 'list available updaters and exit' 232 pine64-raw \
284complete -f -c guix -n '__fish_guix_using_command refresh' -l list-dependent -d 'list top-level dependent packages that would need to be rebuilt as a result of upgrading PACKAGE' 233 pinebook-pro-raw \
285complete -f -c guix -n '__fish_guix_using_command refresh' -a "--key-server=" -d 'use HOST as the OpenPGP key server' 234 qcow2 \
286complete -f -c guix -n '__fish_guix_using_command refresh' -a "--gpg=" -d 'use COMMAND as the GnuPG 2.x command' 235 raw-with-offset \
287complete -f -c guix -n '__fish_guix_using_command refresh' -a "--key-download=" -d 'handle missing OpenPGP keys according to POLICY.' --exclusive --arguments "always auto never interactive" 236 rock64-raw \
288 237 tarball \
289#### publish 238 uncompressed-iso9660 \
290set -l remotecommands port= listen= user= compression ttl= repl 239 unmatched-raw \
291complete -f -c guix -n '__fish_guix_needs_command' -a publish -d 'Publish /gnu/store over HTTP.' 240 visionfive2-raw \
292complete -f -c guix -n '__fish_guix_using_command publish' -a "--port=" -d 'listen on PORT' 241 wsl2
293complete -f -c guix -n '__fish_guix_using_command publish' -a "--listen=" -d 'listen on the network interface for HOST' 242set -l guix_importers \
294complete -f -c guix -n '__fish_guix_using_command publish' -a "--user=" -d 'change privileges to USER as soon as possible' 243 composer \
295complete -f -c guix -n '__fish_guix_using_command publish' -l compression -d '[=LEVEL] compress archives at LEVEL' 244 cpan \
296complete -f -c guix -n '__fish_guix_using_command publish' -a "--ttl=" -d 'announce narinfos can be cached for TTL seconds' 245 cran \
297complete -f -c guix -n '__fish_guix_using_command publish' -l repl -d '[=PORT] spawn REPL server on PORT' 246 crate \
298 247 egg \
299#### lint 248 elm \
300set -l remotecommands checkers list-checkers 249 elpa \
301complete -f -c guix -n '__fish_guix_needs_command' -a lint -d 'Run a set of checkers on the specified package.' 250 gem \
302complete -f -c guix -n '__fish_guix_using_command lint' -l list-checkers -d 'Display the list of available lint checkers.' 251 gnu \
303complete -f -c guix -n '__fish_guix_using_command lint' -l checkers -d 'Only run the specified checkers.' 252 go \
304complete -f -c guix -n '__fish_guix_using_command lint' -l description -d 'Validate package descriptions.' 253 hackage \
305complete -f -c guix -n '__fish_guix_using_command lint' -l gnu-description -d 'Validate synopsis and descriptions of the GNU packages.' 254 hexpm \
306complete -f -c guix -n '__fish_guix_using_command lint' -l inputs-should-be-native -d 'Identify inputs that should be native inputs.' 255 json \
307complete -f -c guix -n '__fish_guix_using_command lint' -l inputs-should-not-be-inputs -d 'Identify inputs that should not be inputs at all.' 256 luanti \
308complete -f -c guix -n '__fish_guix_using_command lint' -l patch-file-names -d 'Validate file names anda availability of patches.' 257 npm-binary \
309complete -f -c guix -n '__fish_guix_using_command lint' -l home-page -d 'Validate home-page URLs' 258 nuget \
310complete -f -c guix -n '__fish_guix_using_command lint' -l license -d 'Make sure the "license" field is a <license > or a list thereof' 259 opam \
311complete -f -c guix -n '__fish_guix_using_command lint' -l source -d 'Validate source URLs' 260 pypi \
312complete -f -c guix -n '__fish_guix_using_command lint' -l mirror-url -d 'Suggest "mirror://" URLs' 261 stackage \
313complete -f -c guix -n '__fish_guix_using_command lint' -l source-file-name -d 'Validate file names of sources' 262 texlive
314complete -f -c guix -n '__fish_guix_using_command lint' -l derivation -d 'Report failure to compile a package to a derivation' 263set -l guix_lint_checker \
315complete -f -c guix -n '__fish_guix_using_command lint' -l synopsis -d 'Validate package synopses' 264 name \
316complete -f -c guix -n '__fish_guix_using_command lint' -l cve -d 'Check the Common Vulnerabilities and Exposures (CVE) database' 265 tests-true \
317complete -f -c guix -n '__fish_guix_using_command lint' -l formatting -d 'Look for formatting issues in the source' 266 compiler-for-target \
318 267 description \
319#### import 268 inputs-should-be-native \
320set -l remotecommands import gnu nix pypi cpan hackage elpa gem cran crate texlive json 269 inputs-should-not-be-input \
321complete -f -c guix -n '__fish_guix_needs_command' -a import -d 'Run IMPORTER with ARGS' 270 inputs-should-be-minimal \
322##### import gnu 271 input-labels \
323complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a gnu -d 'Return a package declaration template for PACKAGE, a GNU package.' 272 wrapper-inputs \
324complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from gnu' -a "--key-download=" -d 'handle missing OpenPGP keys according to POLICY: "always", "auto", "never", and "interactive", which is also used when "key-download" is not specified.' 273 license \
325##### import pypi 274 optional-tests \
326complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a pypi -d 'Import and convert the PyPI package for PACKAGE-NAME.' 275 mirror-url \
327##### import cpan 276 source-file-name \
328complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a cpan -d 'Import and convert the CPAN package for PACKAGE-NAME.' 277 source-unstable-tarball \
329##### import hackage 278 misplaced-flags \
330complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a hackage -d 'Import and convert the Hackage package for PACKAGE-NAME. If PACKAGE-NAME includes a suffix constituted by a at-sign followed by a numerical version (as used with Guix packages), then a definition for the specified version of the package will be generated. If no version suffix is specified, then the generated package definition will correspond to the latest available version.' 279 derivation \
331complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from hackage' -s e -d 'ALIST specify environment for Cabal evaluation.' 280 profile-collisions \
332complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from hackage' -a "--cabal-environment=" -d 'ALIST specify environment for Cabal evaluation.' 281 patch-file-names \
333complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from hackage' -s s -l stdin -d 'Read from standard input.' 282 patch-headers \
334complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from hackage' -s t -l no-test-dependencies -d 'don\'t include test-only dependencies.' 283 formatting \
335##### import elpa 284 synopsis \
336complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a elpa -d 'Import the latest package named PACKAGE-NAME from an ELPA repository.' 285 gnu-description \
337complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from elpa' -s a -d 'specify the archive repository' --exclusive --arguments "gnu melpa-stable melpa" 286 home-page \
338complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from elpa' -a "--archive=" -d 'specify the archive repository' --exclusive --arguments "gnu melpa-stable melpa" 287 source \
339##### import gem 288 github-url \
340complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a gem -d 'Import and convert the RubyGems package for PACKAGE-NAME.' 289 cve \
341##### import cran 290 refresh \
342complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a cran -d 'Import and convert the CRAN package for PACKAGE-NAME.' 291 archival \
343complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from cran' -s a -d 'specify the archive repository' --exclusive --arguments "bioconductor cran" 292 haskell-stackage
344complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from cran' -a "--archive=" -d 'specify the archive repository' --exclusive --arguments "bioconductor cran" 293set -l guix_pack_formats \
345complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from cran' -l recursive -d 'traverse the dependency graph of the given package recursively and generate package definitions for all those packages that are not yet in Guix' 294 tarball \
346##### import crate 295 squashfs \
347complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a crate -d 'Import and convert the crate.io package for PACKAGE-NAME.' 296 docker \
348##### import json 297 deb \
349complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a json -d 'Import and convert the JSON package definition in PACKAGE-FILE.' 298 rpm \
350##### import texlive 299 appimage
351complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a texlive -d 'Import and convert the Texlive package for PACKAGE-NAME.' 300set -l guix_processes_formats \
352complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from texlive' -s a -l "--archive=" -d 'specify the archive repository' 301 recutils \
353 302 normalized
354#### hash 303set -l guix_refresh_updaters \
355set -l remotecommands exclude-vcs format= recursive 304 bioconductor \
356complete -f -c guix -n '__fish_guix_needs_command' -a hash -d 'Return the cryptographic hash of a FILE.' 305 composer \
357complete -f -c guix -n '__fish_guix_using_command hash' -s x -l exclude-vcs -d 'Exclude version control directories.' 306 cpan \
358complete -f -c guix -n '__fish_guix_using_command hash' -s f -d 'Write the hash in the given format.' --exclusive --arguments "nix-base32 base32 base16 hex hexadecimal" 307 cran \
359complete -f -c guix -n '__fish_guix_using_command hash' -a "--format=" -d 'Write the hash in the given format.' --exclusive --arguments "nix-base32 base32 base16 hex hexadecimal" 308 crate \
360complete -f -c guix -n '__fish_guix_using_command hash' -s r -l recursive -d 'Compute the hash on FILE recursively.' 309 egg \
361 310 elpa \
362#### graph 311 gem \
363set -l remotecommands backend list-backends type list-types expression 312 github \
364complete -f -c guix -n '__fish_guix_needs_command' -a graph -d 'Emit a Graphviz (dot) representation of the dependencies of a PACKAGE.' 313 gnome \
365complete -f -c guix -n '__fish_guix_using_command graph' -l backend -d 'Produce a graph with the given backend TYPE' 314 gnu \
366complete -f -c guix -n '__fish_guix_using_command graph' -l list-backends -d 'list the available graph backends' 315 gnu-ftp \
367complete -f -c guix -n '__fish_guix_using_command graph' -l type -d 'represent nodes of the given TYPE' 316 hackage \
368complete -f -c guix -n '__fish_guix_using_command graph' -l list-types -d 'list the available graph types' 317 hexpm \
369complete -f -c guix -n '__fish_guix_using_command graph' -l expression -d 'consider the package EXPR evaluates to' 318 kde \
370 319 launchpad \
371#### gc 320 luanti \
372set -l remotecommands collect-garbage free-space delete optimize list-dead list-live references requisites referrers verify list-failures clear-failures 321 opam \
373complete -f -c guix -n '__fish_guix_needs_command' -a gc -d 'Invoke the garbage collector.' 322 pypi \
374complete -f -c guix -n '__fish_guix_using_command gc' -s C -d 'collect at least MIN bytes of garbage' 323 savannah \
375complete -f -c guix -n '__fish_guix_using_command gc' -a "--collect-garbage=" -d 'collect at least MIN bytes of garbage' 324 sourceforge \
376complete -f -c guix -n '__fish_guix_using_command gc' -s F -d 'attempt to reach FREE available space in the store' 325 stackage \
377complete -f -c guix -n '__fish_guix_using_command gc' -a "--free-space=" -d 'attempt to reach FREE available space in the store' 326 test \
378complete -f -c guix -n '__fish_guix_using_command gc' -s d -l delete -d 'attempt to delete PATHS' 327 texlive \
379complete -f -c guix -n '__fish_guix_using_command gc' -l optimize -d 'optimize the store by deduplicating identical files' 328 xorg \
380complete -f -c guix -n '__fish_guix_using_command gc' -l list-dead -d 'list dead paths' 329 generic-git \
381complete -f -c guix -n '__fish_guix_using_command gc' -l list-live -d 'list live paths' 330 generic-html
382complete -f -c guix -n '__fish_guix_using_command gc' -l references -d 'list the references of PATHS' 331set -l guix_repl_types \
383complete -f -c guix -n '__fish_guix_using_command gc' -s R -l requisites -d 'list the requisites of PATHS' 332 guile \
384complete -f -c guix -n '__fish_guix_using_command gc' -l referrers -d 'list the referrers of PATHS' 333 machine
385complete -f -c guix -n '__fish_guix_using_command gc' -l verify -d 'verify the integrity of the store 334set -l guix_style_stylings \
386OPTS is a comma-separated combination of \'repair\' and \'contents\'' 335 format \
387complete -f -c guix -n '__fish_guix_using_command gc' -l list-failures -d 'list cached build failures' 336 inputs \
388complete -f -c guix -n '__fish_guix_using_command gc' -l clear-failures -d 'remove PATHS from the set of cached failures' 337 arguments
389 338set -l guix_commands \
390#### environment 339 deploy \
391set -l remotecommands expression load ad-hoc pure search-paths system root container network share expose bootstrap load-path keep-failed keep-going dry-run fallback no-substitutes substitute-urls no-grafts no-offload max-silent-time timeout verbosity rounds cores max-jobs 340 describe \
392complete -f -c guix -n '__fish_guix_needs_command' -a environment -d 'Build an environment that includes the dependencies of PACKAGE and execute COMMAND or an interactive shell in that environment.' 341 gc \
393complete -f -c guix -n '__fish_guix_using_command environment' -s e -d 'Create environment for the package that EXPR evaluates to' 342 home \
394complete -f -c guix -n '__fish_guix_using_command environment' -a "--expression=" -d 'Create environment for the package that EXPR evaluates to' 343 install \
395complete -f -c guix -n '__fish_guix_using_command environment' -s l -d 'create environment for the package that the code within FILE evaluates to.' 344 locate \
396complete -f -c guix -n '__fish_guix_using_command environment' -a "--load=" -d 'create environment for the package that the code within FILE evaluates to.' 345 package \
397complete -f -c guix -n '__fish_guix_using_command environment' -l ad-hoc -d 'include all specified packages in the environment instead of only their inputs' 346 pull \
398complete -f -c guix -n '__fish_guix_using_command environment' -l pure -d 'unset existing environment variables' 347 remove \
399complete -f -c guix -n '__fish_guix_using_command environment' -l search-paths -d 'display needed environment variable definitions' 348 search \
400complete -f -c guix -n '__fish_guix_using_command environment' -s s -d 'attempt to build for SYSTEM--e.g., "i686-linux"' 349 show \
401complete -f -c guix -n '__fish_guix_using_command environment' -a "--system=" -d 'attempt to build for SYSTEM--e.g., "i686-linux"' 350 system \
402complete -f -c guix -n '__fish_guix_using_command environment' -s r -d 'make FILE a symlink to the result, and register it as a garbage collector root' 351 time-machine \
403complete -f -c guix -n '__fish_guix_using_command environment' -a "--root=" -d 'make FILE a symlink to the result, and register it as a garbage collector root' 352 upgrade \
404complete -f -c guix -n '__fish_guix_using_command environment' -s C -l container -d 'run command within an isolated container' 353 weather \
405complete -f -c guix -n '__fish_guix_using_command environment' -s N -l network -d 'allow containers to access the network' 354 container \
406complete -f -c guix -n '__fish_guix_using_command environment' -a "--share=" -d 'for containers, share writable host file system according to SPEC' 355 environment \
407complete -f -c guix -n '__fish_guix_using_command environment' -a "--expose=" -d 'for containers, expose read-only host file system according to SPEC' 356 pack \
408complete -f -c guix -n '__fish_guix_using_command environment' -l bootstrap -d 'use bootstrap binaries to build the environment' 357 shell \
409complete -f -c guix -n '__fish_guix_using_command environment' -s L -d 'prepend DIR to the package module search path' 358 build \
410complete -f -c guix -n '__fish_guix_using_command environment' -a "--load-path=" -d 'prepend DIR to the package module search path' 359 challenge \
411complete -f -c guix -n '__fish_guix_using_command environment' -s K -l keep-failed -d 'keep build tree of failed builds' 360 download \
412complete -f -c guix -n '__fish_guix_using_command environment' -s k -l keep-going -d 'keep going when some of the derivations fail' 361 edit \
413complete -f -c guix -n '__fish_guix_using_command environment' -s n -l dry-run -d 'do not build the derivations' 362 graph \
414complete -f -c guix -n '__fish_guix_using_command environment' -l fallback -d 'fall back to building when the substituter fails' 363 hash \
415complete -f -c guix -n '__fish_guix_using_command environment' -l no-substitutes -d 'build instead of resorting to pre-built substitutes' 364 import \
416complete -f -c guix -n '__fish_guix_using_command environment' -a "--substitute-urls=" -d 'fetch substitute from URLS if they are authorized' 365 lint \
417complete -f -c guix -n '__fish_guix_using_command environment' -l no-grafts -d 'do not graft packages' 366 publish \
418complete -f -c guix -n '__fish_guix_using_command environment' -l no-offload -d 'do not attempt to offload builds' 367 refresh \
419complete -f -c guix -n '__fish_guix_using_command environment' -a "--max-silent-time=" -d 'mark the build as failed after SECONDS of silence' 368 size \
420complete -f -c guix -n '__fish_guix_using_command environment' -a "--timeout=" -d 'mark the build as failed after SECONDS of activity' 369 style \
421complete -f -c guix -n '__fish_guix_using_command environment' -a "--verbosity=" -d 'use the given verbosity LEVEL' 370 archive \
422complete -f -c guix -n '__fish_guix_using_command environment' -a "--rounds=" -d 'build N times in a row to detect non-determinism' 371 copy \
423complete -f -c guix -n '__fish_guix_using_command environment' -s c -d 'allow the use of up to N CPU cores for the build' 372 git \
424complete -f -c guix -n '__fish_guix_using_command environment' -a "--cores=" -d 'allow the use of up to N CPU cores for the build' 373 offload \
425complete -f -c guix -n '__fish_guix_using_command environment' -s M -d 'allow at most N build jobs' 374 processes \
426complete -f -c guix -n '__fish_guix_using_command environment' -a "--max-jobs=" -d 'allow at most N build jobs' 375 repl
427 376complete -f -c guix -n "__fish_guix_needs_command" -a "deploy" -d "deploy operating systems on a set of machines"
428#### edit 377complete -f -c guix -n "__fish_guix_needs_command" -a "describe" -d "describe the channel revisions currently used"
429complete -f -c guix -n '__fish_guix_needs_command' -a edit -d 'Start $VISUAL or $EDITOR to edit the definitions of PACKAGE.' 378complete -f -c guix -n "__fish_guix_needs_command" -a "gc" -d "invoke the garbage collector"
430 379complete -f -c guix -n "__fish_guix_needs_command" -a "home" -d "build and deploy home environments"
431#### copy 380complete -f -c guix -n "__fish_guix_needs_command" -a "install" -d "install packages"
432set -l remotecommands to= from= load-path= keep-failed keep-going dry-run fallback no-substitutes substitute-urls= no-grafts no-offload max-silent-time= timeout= verbosity= rounds= cores= max-jobs= 381complete -f -c guix -n "__fish_guix_needs_command" -a "locate" -d "search for packages providing a given file"
433complete -f -c guix -n '__fish_guix_needs_command' -a copy -d 'Copy ITEMS to or from the specified host over SSH.' 382complete -f -c guix -n "__fish_guix_needs_command" -a "package" -d "manage packages and profiles"
434complete -f -c guix -n '__fish_guix_using_command copy' -a "--to=" -d 'send ITEMS to HOST' 383complete -f -c guix -n "__fish_guix_needs_command" -a "pull" -d "pull the latest revision of Guix"
435complete -f -c guix -n '__fish_guix_using_command copy' -a "--from=" -d 'receive ITEMS from HOST' 384complete -f -c guix -n "__fish_guix_needs_command" -a "remove" -d "remove installed packages"
436complete -f -c guix -n '__fish_guix_using_command copy' -s L -d 'prepend DIR to the package module search path' 385complete -f -c guix -n "__fish_guix_needs_command" -a "search" -d "search for packages"
437complete -f -c guix -n '__fish_guix_using_command copy' -a "--load-path=" -d 'prepend DIR to the package module search path' 386complete -f -c guix -n "__fish_guix_needs_command" -a "show" -d "show information about packages"
438complete -f -c guix -n '__fish_guix_using_command copy' -s K -l keep-failed -d 'keep build tree of failed builds' 387complete -f -c guix -n "__fish_guix_needs_command" -a "system" -d "build and deploy full operating systems"
439complete -f -c guix -n '__fish_guix_using_command copy' -s k -l keep-going -d 'keep going when some of the derivations fail' 388complete -f -c guix -n "__fish_guix_needs_command" -a "time-machine" -d "run commands from a different revision"
440complete -f -c guix -n '__fish_guix_using_command copy' -s n -l dry-run -d 'do not build the derivations' 389complete -f -c guix -n "__fish_guix_needs_command" -a "upgrade" -d "upgrade packages to their latest version"
441complete -f -c guix -n '__fish_guix_using_command copy' -l fallback -d 'fall back to building when the substituter fails' 390complete -f -c guix -n "__fish_guix_needs_command" -a "weather" -d "report on the availability of pre-built package binaries"
442complete -f -c guix -n '__fish_guix_using_command copy' -l no-substitutes -d 'build instead of resorting to pre-built substitutes' 391complete -f -c guix -n "__fish_guix_needs_command" -a "container" -d "run code in containers created by 'guix environment -C'"
443complete -f -c guix -n '__fish_guix_using_command copy' -a "--substitute-urls=" -d 'fetch substitute from URLS if they are authorized' 392complete -f -c guix -n "__fish_guix_needs_command" -a "environment" -d "spawn one-off software environments (deprecated)"
444complete -f -c guix -n '__fish_guix_using_command copy' -l no-grafts -d 'do not graft packages' 393complete -f -c guix -n "__fish_guix_needs_command" -a "pack" -d "create application bundles"
445complete -f -c guix -n '__fish_guix_using_command copy' -l no-offload -d 'do not attempt to offload builds' 394complete -f -c guix -n "__fish_guix_needs_command" -a "shell" -d "spawn one-off software environments"
446complete -f -c guix -n '__fish_guix_using_command copy' -a "--max-silent-time=" -d 'mark the build as failed after SECONDS of silence' 395complete -f -c guix -n "__fish_guix_needs_command" -a "build" -d "build packages or derivations without installing them"
447complete -f -c guix -n '__fish_guix_using_command copy' -a "--timeout=" -d 'mark the build as failed after SECONDS of activity' 396complete -f -c guix -n "__fish_guix_needs_command" -a "challenge" -d "challenge substitute servers, comparing their binaries"
448complete -f -c guix -n '__fish_guix_using_command copy' -a "--verbosity=" -d 'use the given verbosity LEVEL' 397complete -f -c guix -n "__fish_guix_needs_command" -a "download" -d "download a file to the store and print its hash"
449complete -f -c guix -n '__fish_guix_using_command copy' -a "--rounds=" -d 'build N times in a row to detect non-determinism' 398complete -f -c guix -n "__fish_guix_needs_command" -a "edit" -d "view and edit package definitions"
450complete -f -c guix -n '__fish_guix_using_command copy' -s c -d 'allow the use of up to N CPU cores for the build' 399complete -f -c guix -n "__fish_guix_needs_command" -a "graph" -d "view and query package dependency graphs"
451complete -f -c guix -n '__fish_guix_using_command copy' -a "--cores=" -d 'allow the use of up to N CPU cores for the build' 400complete -f -c guix -n "__fish_guix_needs_command" -a "hash" -d "compute the cryptographic hash of a file"
452complete -f -c guix -n '__fish_guix_using_command copy' -s M -d 'allow at most N build jobs' 401complete -f -c guix -n "__fish_guix_needs_command" -a "import" -d "import a package definition from an external repository"
453complete -f -c guix -n '__fish_guix_using_command copy' -a "--max-jobs=" -d 'allow at most N build jobs' 402complete -f -c guix -n "__fish_guix_needs_command" -a "lint" -d "validate package definitions"
454 403complete -f -c guix -n "__fish_guix_needs_command" -a "publish" -d "publish build results over HTTP"
455#### container 404complete -f -c guix -n "__fish_guix_needs_command" -a "refresh" -d "update existing package definitions"
456set -l remotecommands exec 405complete -f -c guix -n "__fish_guix_needs_command" -a "size" -d "profile the on-disk size of packages"
457complete -f -c guix -n '__fish_guix_needs_command' -a container -d 'Build and manipulate Linux containers.' 406complete -f -c guix -n "__fish_guix_needs_command" -a "style" -d "update the style of package definitions"
458complete -f -c guix -n '__fish_guix_using_command container' -l exec -d 'Execute a command inside of an existing container.' 407complete -f -c guix -n "__fish_guix_needs_command" -a "archive" -d "manipulate, export, and import normalized archives (nars)"
459 408complete -f -c guix -n "__fish_guix_needs_command" -a "copy" -d "copy store items remotely over SSH"
460#### challenge 409complete -f -c guix -n "__fish_guix_needs_command" -a "git" -d "operate on Git repositories"
461set -l remotecommands substitute-urls verbose 410complete -f -c guix -n "__fish_guix_needs_command" -a "offload" -d "set up and operate build offloading"
462complete -f -c guix -n '__fish_guix_needs_command' -a challenge -d 'Challenge the substitutes for PACKAGE provided by one or more servers.' 411complete -f -c guix -n "__fish_guix_needs_command" -a "processes" -d "list currently running sessions"
463complete -f -c guix -n '__fish_guix_using_command challenge' -a "--substitute-urls=" -d 'compare build results with those at URLS' 412complete -f -c guix -n "__fish_guix_needs_command" -a "repl" -d "read-eval-print loop (REPL) for interactive programming"
464complete -f -c guix -n '__fish_guix_using_command challenge' -s v -l verbose -d 'show details about successful comparisons' 413set -l guix_system_commands \
465 414 search \
466#### archive 415 edit \
467set -l remotecommands export format= recursive import missing extract= generate-key authorize expression= source system= target= load-path= keep-failed keep-going dry-run fallback no-substitutes substitute-urls= no-grafts no-offload max-silent-time= timeout= verbosity= rounds= cores= max-jobs= 416 reconfigure \
468complete -f -c guix -n '__fish_guix_needs_command' -a archive -d 'Export/import one or more packages from/to the store.' 417 roll-back \
469complete -f -c guix -n '__fish_guix_using_command archive' -l export -d 'export the specified files/packages to stdout' 418 describe \
470complete -f -c guix -n '__fish_guix_using_command archive' -a "--format=" -d 'export files/packages in the specified format FMT' 419 list-generations \
471complete -f -c guix -n '__fish_guix_using_command archive' -l recursive -d 'combined with \'--export\', include dependencies' 420 switch-generation \
472complete -f -c guix -n '__fish_guix_using_command archive' -l import -d 'import from the archive passed on stdin' 421 delete-generations \
473complete -f -c guix -n '__fish_guix_using_command archive' -l missing -d 'print the files from stdin that are missing' 422 build \
474complete -f -c guix -n '__fish_guix_using_command archive' -a "--extract=" -d 'extract the archive on stdin to DIR' 423 container \
475complete -f -c guix -n '__fish_guix_using_command archive' -l generate-key -d 'generate a key pair with the given parameters' 424 vm \
476complete -f -c guix -n '__fish_guix_using_command archive' -l authorize -d 'authorize imports signed by the public key on stdin' 425 image \
477complete -f -c guix -n '__fish_guix_using_command archive' -a "--expression=" -d 'build the package or derivation EXPR evaluates to' 426 docker-image \
478complete -f -c guix -n '__fish_guix_using_command archive' -l source -d 'build the packages\' source derivations' 427 init \
479complete -f -c guix -n '__fish_guix_using_command archive' -a "--system=" -d 'attempt to build for SYSTEM--e.g., "i686-linux"' 428 installer \
480complete -f -c guix -n '__fish_guix_using_command archive' -a "--target=" -d 'cross-build for TRIPLET--e.g., "armel-linux-gnu"' 429 extension-graph \
481complete -f -c guix -n '__fish_guix_using_command archive' -a "--load-path=" -d 'prepend DIR to the package module search path' 430 shepherd-graph
482complete -f -c guix -n '__fish_guix_using_command archive' -l keep-failed -d 'keep build tree of failed builds' 431complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "search" -d "search for existing service types"
483complete -f -c guix -n '__fish_guix_using_command archive' -l keep-going -d 'keep going when some of the derivations fail' 432complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "edit" -d "edit the definition of an existing service type"
484complete -f -c guix -n '__fish_guix_using_command archive' -l dry-run -d 'do not build the derivations' 433complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "reconfigure" -d "switch to a new operating system configuration"
485complete -f -c guix -n '__fish_guix_using_command archive' -l fallback -d 'fall back to building when the substituter fails' 434complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "roll-back" -d "switch to the previous operating system configuration"
486complete -f -c guix -n '__fish_guix_using_command archive' -l no-substitutes -d 'build instead of resorting to pre-built substitutes' 435complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "describe" -d "describe the current system"
487complete -f -c guix -n '__fish_guix_using_command archive' -a "--substitute-urls=" -d 'fetch substitute from URLS if they are authorized' 436complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "list-generations" -d "list the system generations"
488complete -f -c guix -n '__fish_guix_using_command archive' -l no-grafts -d 'do not graft packages' 437complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "switch-generation" -d "switch to an existing operating system configuration"
489complete -f -c guix -n '__fish_guix_using_command archive' -l no-offload -d 'do not attempt to offload builds' 438complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "delete-generations" -d "delete old system generations"
490complete -f -c guix -n '__fish_guix_using_command archive' -a "--max-silent-time=" -d 'mark the build as failed after SECONDS of silence' 439complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "build" -d "build the operating system without installing anything"
491complete -f -c guix -n '__fish_guix_using_command archive' -a "--timeout=" -f -d 'mark the build as failed after SECONDS of activity' 440complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "container" -d "build a container that shares the host's store"
492complete -f -c guix -n '__fish_guix_using_command archive' -a "--verbosity=" -d 'use the given verbosity LEVEL' 441complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "vm" -d "build a virtual machine image that shares the host's store"
493complete -f -c guix -n '__fish_guix_using_command archive' -a "--rounds=" -d 'build N times in a row to detect non-determinism' 442complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "image" -d "build a Guix System image"
494complete -f -c guix -n '__fish_guix_using_command archive' -a "--cores=" -d 'allow the use of up to N CPU cores for the build' 443complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "docker-image" -d "build a Docker image"
495complete -f -c guix -n '__fish_guix_using_command archive' -a "--max-jobs=" -d 'allow at most N build jobs' 444complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "init" -d "initialize a root file system to run GNU"
496 445complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "installer" -d "run the graphical installer"
497#### pack 446complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "extension-graph" -d "emit the service extension graph in Dot format"
498set -l remotecommands --load-path= --keep-failed --keep-going --dry-run --fallback --no-substitutes --substitute-urls= --no-grafts --no-offload --max-silent-time= --timeout= --verbosity= --rounds= --cores= --max-jobs= --with-source= --with-input= --with-graft= --format= --expression= --system= --target= --compression= --symlink= --localstatedir --help --version 447complete -f -c guix -n "__fish_guix_using_command system; and not __fish_seen_subcommand_from $guix_system_commands" -a "shepherd-graph" -d "emit the graph of shepherd services in Dot format"
499complete -f -c guix -n '__fish_guix_needs_command' -a pack -d 'Create a bundle of PACKAGE.' 448set -l guix_home_commands \
500complete -f -c guix -n '__fish_guix_using_command pack' -a "--load-path=" -d 'prepend DIR to the package module search path' 449 search \
501complete -f -c guix -n '__fish_guix_using_command pack' -s L -d 'prepend DIR to the package module search path' 450 edit \
502complete -f -c guix -n '__fish_guix_using_command pack' -a "--keep-failed" -d 'keep build tree of failed builds' 451 container \
503complete -f -c guix -n '__fish_guix_using_command pack' -s K -d 'keep build tree of failed builds' 452 reconfigure \
504complete -f -c guix -n '__fish_guix_using_command pack' -a "--keep-going" -d 'keep going when some of the derivations fail' 453 roll-back \
505complete -f -c guix -n '__fish_guix_using_command pack' -s k -d 'keep going when some of the derivations fail' 454 describe \
506complete -f -c guix -n '__fish_guix_using_command pack' -a "--dry-run" -d 'do not build the derivations' 455 list-generations \
507complete -f -c guix -n '__fish_guix_using_command pack' -s n -d 'do not build the derivations' 456 switch-generation \
508complete -f -c guix -n '__fish_guix_using_command pack' -a "--fallback" -d 'fall back to building when the substituter fails' 457 delete-generations \
509complete -f -c guix -n '__fish_guix_using_command pack' -a "--no-substitutes" -d 'build instead of resorting to pre-built substitutes' 458 build \
510complete -f -c guix -n '__fish_guix_using_command pack' -a "--substitute-urls=" -d 'fetch substitute from URLS if they are authorized' 459 import \
511complete -f -c guix -n '__fish_guix_using_command pack' -a "--no-grafts" -d 'do not graft packages' 460 extension-graph \
512complete -f -c guix -n '__fish_guix_using_command pack' -a "--no-offload" -d 'do not attempt to offload builds via the build hook' 461 shepherd-graph
513complete -f -c guix -n '__fish_guix_using_command pack' -a "--max-silent-time=" -d 'mark the build as failed after SECONDS of silence' 462complete -f -c guix -n "__fish_guix_using_command home; and not __fish_seen_subcommand_from $guix_home_commands" -a "search" -d "search for existing service types"
514complete -f -c guix -n '__fish_guix_using_command pack' -a "--timeout=" -d 'mark the build as failed after SECONDS of activity' 463complete -f -c guix -n "__fish_guix_using_command home; and not __fish_seen_subcommand_from $guix_home_commands" -a "edit" -d "edit the definition of an existing service type"
515complete -f -c guix -n '__fish_guix_using_command pack' -a "--verbosity=" -d 'use the given verbosity LEVEL' 464complete -f -c guix -n "__fish_guix_using_command home; and not __fish_seen_subcommand_from $guix_home_commands" -a "container" -d "run the home environment configuration in a container"
516complete -f -c guix -n '__fish_guix_using_command pack' -a "--rounds=" -d 'build N times in a row to detect non-determinism' 465complete -f -c guix -n "__fish_guix_using_command home; and not __fish_seen_subcommand_from $guix_home_commands" -a "reconfigure" -d "switch to a new home environment configuration"
517complete -f -c guix -n '__fish_guix_using_command pack' -s c -d 'allow the use of up to N CPU cores for the build' 466complete -f -c guix -n "__fish_guix_using_command home; and not __fish_seen_subcommand_from $guix_home_commands" -a "roll-back" -d "switch to the previous home environment configuration"
518complete -f -c guix -n '__fish_guix_using_command pack' -a "--cores=" -d 'allow the use of up to N CPU cores for the build' 467complete -f -c guix -n "__fish_guix_using_command home; and not __fish_seen_subcommand_from $guix_home_commands" -a "describe" -d "describe the current home environment"
519complete -f -c guix -n '__fish_guix_using_command pack' -a "--max-jobs=" -d 'allow at most N build jobs' 468complete -f -c guix -n "__fish_guix_using_command home; and not __fish_seen_subcommand_from $guix_home_commands" -a "list-generations" -d "list the home environment generations"
520complete -f -c guix -n '__fish_guix_using_command pack' -s M -d 'allow at most N build jobs' 469complete -f -c guix -n "__fish_guix_using_command home; and not __fish_seen_subcommand_from $guix_home_commands" -a "switch-generation" -d "switch to an existing home environment configuration"
521complete -f -c guix -n '__fish_guix_using_command pack' -a "--with-source=" -d 'use SOURCE when building the corresponding package' 470complete -f -c guix -n "__fish_guix_using_command home; and not __fish_seen_subcommand_from $guix_home_commands" -a "delete-generations" -d "delete old home environment generations"
522complete -f -c guix -n '__fish_guix_using_command pack' -a "--with-input=PACKAGE=REPLACEMENT" -d 'replace dependency PACKAGE by REPLACEMENT' 471complete -f -c guix -n "__fish_guix_using_command home; and not __fish_seen_subcommand_from $guix_home_commands" -a "build" -d "build the home environment without installing anything"
523complete -f -c guix -n '__fish_guix_using_command pack' -a "--with-graft=PACKAGE=REPLACEMENT" -d 'graft REPLACEMENT on packages that refer to PACKAGE' 472complete -f -c guix -n "__fish_guix_using_command home; and not __fish_seen_subcommand_from $guix_home_commands" -a "import" -d "generates a home environment definition from dotfiles"
524complete -f -c guix -n '__fish_guix_using_command pack' -a "--format=" -d 'build a pack in the given FORMAT' 473complete -f -c guix -n "__fish_guix_using_command home; and not __fish_seen_subcommand_from $guix_home_commands" -a "extension-graph" -d "emit the service extension graph"
525complete -f -c guix -n '__fish_guix_using_command pack' -s f -d 'build a pack in the given FORMAT' 474complete -f -c guix -n "__fish_guix_using_command home; and not __fish_seen_subcommand_from $guix_home_commands" -a "shepherd-graph" -d "emit the graph of shepherd services"
526complete -f -c guix -n '__fish_guix_using_command pack' -a "--expression=" -d 'consider the package EXPR evaluates to' 475
527complete -f -c guix -n '__fish_guix_using_command pack' -s e -d 'consider the package EXPR evaluates to' 476
528complete -f -c guix -n '__fish_guix_using_command pack' -a "--system=" -d 'attempt to build for SYSTEM--e.g., "i686-linux"' 477# Standard build options
529complete -f -c guix -n '__fish_guix_using_command pack' -s s -d 'attempt to build for SYSTEM--eg., "i686-linux"' 478set -l guix_commands_with_build_options \
530complete -f -c guix -n '__fish_guix_using_command pack' -a "--target=" -d 'cross-build for TRIPLET--e.g., "armel-linux-gnu"' 479 archive \
531complete -f -c guix -n '__fish_guix_using_command pack' -a "--compression=" -d 'compress using TOOL--e.g., "lzip"' 480 build \
532complete -f -c guix -n '__fish_guix_using_command pack' -s C -d 'compress using TOOL--e.g., "lzip"' 481 copy \
533complete -f -c guix -n '__fish_guix_using_command pack' -a "--symlink=" -d 'create symlinks to the profile according to SPEC' 482 deploy \
534complete -f -c guix -n '__fish_guix_using_command pack' -s S -d 'create symlinks to the profile according to SPEC' 483 environment \
535complete -f -c guix -n '__fish_guix_using_command pack' -a "--localstatedir" -d 'include /var/guix in the resulting pack' 484 home \
536 485 install \
537 486 pack \
538## weather 487 package \
539set -l remotecommands substitute-urls manifest system 488 pull \
540complete -f -c guix -n '__fish_guix_needs_command' -a weather -d 'Report the availability of substitutes-' 489 system \
541complete -f -c guix -n '__fish_guix_using_command weather' -a "--substitute-urls=" -d 'check for available substitutes at URLS' 490 time-machine \
542complete -f -c guix -n '__fish_guix_using_command weather' -s m -d 'look up substitutes for packages specified in MANIFEST' 491 upgrade
543complete -f -c guix -n '__fish_guix_using_command weather' -a "--manifest=" -d 'look up substitutes for packages specified in MANIFEST' 492
544complete -f -c guix -n '__fish_guix_using_command weather' -s s -d 'consider substitutes for SYSTEM--e.g., "i686-linux"' 493complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_build_options" -s L -l load-path= -d "prepend DIR to the package module search path" -a "(__fish_complete_directories)"
545complete -f -c guix -n '__fish_guix_using_command weather' -a "--system=" -d 'consider substitutes for SYSTEM--e.g., "i686-linux"' 494complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_build_options" -s K -l keep-failed -d "keep build tree of failed builds"
495complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_build_options" -s k -l keep-going -d "keep going when some of the derivations fail"
496complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_build_options" -l rounds= -d "build N times in a row to detect non-determinism"
497complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_build_options" -l fallback -d "fall back to building when the substituter fails"
498complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_build_options" -l no-substitutes -d "build instead of resorting to pre-built substitutes"
499complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_build_options" -l substitute-urls= -d "fetch substitute from URLS if they are authorized" -a "$guix_substitute_urls"
500complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_build_options" -l no-grafts -d "do not graft packages"
501complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_build_options" -l no-offload -d "do not attempt to offload builds"
502complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_build_options" -l max-silent-time= -d "mark the build as failed after SECONDS of silence"
503complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_build_options" -l timeout= -d "mark the build as failed after SECONDS of activity"
504complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_build_options" -l debug= -d "produce debugging output at LEVEL"
505complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_build_options" -s c -l cores= -d "allow the use of up to N CPU cores for the build"
506complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_build_options" -s M -l max-jobs= -d "allow at most N build jobs"
507
508
509# Cross build options.
510set -l guix_commands_with_cross_build_options \
511 archive \
512 build \
513 pack \
514 system
515
516complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_cross_build_options" -l list-targets -d "list available targets"
517complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_cross_build_options" -l target= -d "cross-build for TRIPLET" -a "$guix_build_targets"
518
519
520# Native build options.
521set -l guix_commands_with_native_build_options \
522 archive \
523 build \
524 environment \
525 graph \
526 pack \
527 pull \
528 shell \
529 size \
530 system \
531 weather
532
533complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_native_build_options" -l list-systems -d "list available systems"
534complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_native_build_options" -l system= -d "attempt to build for SYSTEM" -a "$guix_build_systems"
535
536
537# Transformation options.
538set -l guix_commands_with_transformation_options \
539 build \
540 environment \
541 graph \
542 install \
543 pack \
544 package \
545 shell \
546 upgrade
547
548complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_transformation_options" -l with-source= -d "use SOURCE when building the corresponding package"
549complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_transformation_options" -l with-input= -d "replace dependency PACKAGE by REPLACEMENT"
550complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_transformation_options" -l with-graft= -d "graft REPLACEMENT on packages that refer to PACKAGE"
551complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_transformation_options" -l with-branch= -d "build PACKAGE from the latest commit of BRANCH"
552complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_transformation_options" -l with-commit= -d "build PACKAGE from COMMIT"
553complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_transformation_options" -l with-git-url= -d "build PACKAGE from the repository at URL"
554complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_transformation_options" -l with-c-toolchain= -d "add FILE to the list of patches of PACKAGE"
555complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_transformation_options" -l tune -d "tune relevant packages for CPU--e.g., \"skylake\"" -a "native generic"
556complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_transformation_options" -l with-debug-info= -d "append FLAG to the configure flags of PACKAGE"
557complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_transformation_options" -l without-tests= -d "use the latest upstream release of PACKAGE"
558complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_transformation_options" -l with-configure-flag= -d "use the given upstream VERSION of PACKAGE"
559complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_transformation_options" -l with-patch= -d "build PACKAGE and its dependents with TOOLCHAIN"
560complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_transformation_options" -l with-latest= -d "build PACKAGE and preserve its debug info"
561complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_transformation_options" -l with-version= -d "build PACKAGE without running its tests"
562complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_transformation_options" -l help-transform -d "list package transformation options not shown here"
563
564
565# Environment options.
566set -l guix_commands_with_environment_options \
567 environment \
568 shell
569
570complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -s e -l expression= -d "create environment for the package that EXPR evaluates to"
571complete -r -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -s m -l manifest= -d "create environment with the manifest from FILE"
572complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -s p -l profile= -d "create environment from profile at PATH" -a "(__fish_complete_directories)"
573complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -l check -d "check if the shell clobbers environment variables"
574complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -l pure -d "unset existing environment variables"
575complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -s E -l preserve= -d "preserve environment variables that match REGEXP"
576complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -l search-paths -d "display needed environment variable definitions"
577complete -r -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -s r -l root= -d "make FILE a symlink to the result, and register it as a garbage collector root"
578complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -s C -l container -d "run command within an isolated container"
579complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -s N -l network -d "allow containers to access the network"
580complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -s P -l link-profile -d "link environment profile to ~/.guix-profile within an isolated container"
581complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -s W -l nesting -d "make Guix available within the container"
582complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -s u -l user= -d "instead of copying the name and home of the current user into an isolated container, use the name USER with home directory /home/USER" -a "(__fish_complete_users)"
583complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -l no-cwd -d "do not share current working directory with an isolated container"
584complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -l writable-root -d "make the container's root file system writable"
585complete -r -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -l share= -d "for containers, share writable host file system according to SPEC"
586complete -r -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -l expose= -d "for containers, expose read-only host file system according to SPEC"
587complete -r -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -s S -l symlink= -d "for containers, add symlinks to the profile according to SPEC, e.g. \"/usr/bin/env=bin/env\"."
588complete -x -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -s v -l verbosity= -d "use the given verbosity LEVEL"
589complete -f -c guix -n "__fish_guix_using_command $guix_commands_with_environment_options" -l bootstrap -d "use bootstrap binaries to build the environment"
590
591
592set -l guix_command archive
593complete -f -c guix -n "__fish_guix_using_command $guix_command" -l export -d "export the specified files/packages to stdout"
594complete -f -c guix -n "__fish_guix_using_command $guix_command" -s r -l recursive -d "combined with '--export', include dependencies"
595complete -f -c guix -n "__fish_guix_using_command $guix_command" -l import -d "import from the archive passed on stdin"
596complete -f -c guix -n "__fish_guix_using_command $guix_command" -l missing -d "print the files from stdin that are missing"
597complete -x -c guix -n "__fish_guix_using_command $guix_command" -s x -l extract= -d "extract the archive on stdin to DIR" -a "(__fish_complete_directories)"
598complete -f -c guix -n "__fish_guix_using_command $guix_command" -s t -l list -d "list the files in the archive on stdin"
599complete -f -c guix -n "__fish_guix_using_command $guix_command" -l generate-key -d "generate a key pair with the given parameters" -a "PARAMETERS"
600complete -f -c guix -n "__fish_guix_using_command $guix_command" -l authorize -d "authorize imports signed by the public key on stdin"
601complete -x -c guix -n "__fish_guix_using_command $guix_command" -s e -l expression= -d "build the package or derivation EXPR evaluates to"
602complete -f -c guix -n "__fish_guix_using_command $guix_command" -s S -l source -d "build the packages' source derivations"
603complete -x -c guix -n "__fish_guix_using_command $guix_command" -s v -l verbosity= -d "use the given verbosity LEVEL"
604
605
606set -l guix_command build
607complete -x -c guix -n "__fish_guix_using_command $guix_command" -s e -l expression= -d "build the package or derivation EXPR evaluates to"
608complete -r -c guix -n "__fish_guix_using_command $guix_command" -s f -l file= -d "build the package or derivation that the code within FILE evaluates to"
609complete -r -c guix -n "__fish_guix_using_command $guix_command" -s m -l manifest= -d "build the packages that the manifest given in FILE evaluates to"
610complete -f -c guix -n "__fish_guix_using_command $guix_command" -s D -l development -d "build the inputs of the following package"
611complete -f -c guix -n "__fish_guix_using_command $guix_command" -s P -l dependents -d "build dependents of the following package, up to depth N" -a "N"
612complete -f -c guix -n "__fish_guix_using_command $guix_command" -s S -l source -d "build the packages' source derivations"
613complete -f -c guix -n "__fish_guix_using_command $guix_command" -l sources -d "build source derivations" -a "package all transitive"
614complete -f -c guix -n "__fish_guix_using_command $guix_command" -s d -l derivations -d "return the derivation paths of the given packages"
615complete -f -c guix -n "__fish_guix_using_command $guix_command" -l check -d "rebuild items to check for non-determinism issues"
616complete -f -c guix -n "__fish_guix_using_command $guix_command" -l repair -d "repair the specified items"
617complete -r -c guix -n "__fish_guix_using_command $guix_command" -s r -l root= -d "make FILE a symlink to the result, and register it as a garbage collector root"
618complete -x -c guix -n "__fish_guix_using_command $guix_command" -s v -l verbosity= -d "use the given verbosity LEVEL"
619complete -f -c guix -n "__fish_guix_using_command $guix_command" -s q -l quiet -d "do not show the build log"
620complete -f -c guix -n "__fish_guix_using_command $guix_command" -l log-file -d "return the log file names for the given derivations"
621
622
623set -l guix_command challenge
624complete -x -c guix -n "__fish_guix_using_command $guix_command" -l substitute-urls= -d "compare build results with those at URLS" -a "$guix_substitute_urls"
625complete -f -c guix -n "__fish_guix_using_command $guix_command" -s v -l verbose -d "show details about successful comparisons"
626complete -x -c guix -n "__fish_guix_using_command $guix_command" -l diff= -d "show differences according to MODE"
627
628
629set -l guix_command container
630complete -x -c guix -n "__fish_guix_using_command $guix_command" -d "execute a command inside of an existing container" -a "exec"
631
632
633set -l guix_command copy
634complete -x -c guix -n "__fish_guix_using_command $guix_command" -l to= -d "send ITEMS to HOST" -a "(__fish_print_hostnames)"
635complete -x -c guix -n "__fish_guix_using_command $guix_command" -l from= -d "receive ITEMS from HOST" -a "(__fish_print_hostnames)"
636complete -x -c guix -n "__fish_guix_using_command $guix_command" -s v -l verbosity= -d "use the given verbosity LEVEL"
637
638
639set -l guix_command deploy
640complete -x -c guix -n "__fish_guix_using_command $guix_command" -s e -l expression= -d "deploy the list of machines EXPR evaluates to"
641complete -f -c guix -n "__fish_guix_using_command $guix_command" -s r -l roll-back -d "switch to the previous operating system configuration"
642complete -f -c guix -n "__fish_guix_using_command $guix_command" -s x -l execute -d "execute the following command on all the machines"
643complete -x -c guix -n "__fish_guix_using_command $guix_command" -s v -l verbosity= -d "use the given verbosity LEVEL"
644# guix deploy --execute --
645complete -f -c guix -n "__fish_guix_using_command $guix_command; and __fish_seen_subcommand_from --execute -x; and not __fish_seen_subcommand_from --" -a "--"
646complete -x -c guix -n "__fish_guix_using_command $guix_command; and __fish_seen_subcommand_from --execute -x; and __fish_seen_subcommand_from --" -a "(__fish_guix_complete_subcommand)"
647
648
649set -l guix_command describe
650complete -x -c guix -n "__fish_guix_using_command $guix_command" -s f -l format= -d "display information in the given FORMAT" -a "$guix_describe_formats"
651complete -f -c guix -n "__fish_guix_using_command $guix_command" -l list-formats -d "display available formats"
652complete -x -c guix -n "__fish_guix_using_command $guix_command" -s p -l profile= -d "display information about PROFILE" -a "(__fish_complete_directories)"
653
654
655set -l guix_command download
656complete -x -c guix -n "__fish_guix_using_command $guix_command" -s f -l format= -d "write the hash in the given format" -a "base64 nix-base32 base32 base16 hex hexadecimal"
657complete -x -c guix -n "__fish_guix_using_command $guix_command" -s H -l hash= -d "use the given hash ALGORITHM"
658complete -x -c guix -n "__fish_guix_using_command $guix_command" -l no-check-certificate= -d "do not validate the certificate of HTTPS servers"
659complete -r -c guix -n "__fish_guix_using_command $guix_command" -s o -l output= -d "download to FILE"
660complete -f -c guix -n "__fish_guix_using_command $guix_command" -s g -l git -d "download the default branch's latest commit of the Git repository at URL"
661complete -x -c guix -n "__fish_guix_using_command $guix_command" -l commit= -d "download the given commit or tag of the Git repository at URL"
662complete -x -c guix -n "__fish_guix_using_command $guix_command" -l branch= -d "download the given branch of the Git repository at URL"
663complete -f -c guix -n "__fish_guix_using_command $guix_command" -s r -l recursive -d "download a Git repository recursively"
664
665
666set -l guix_command edit
667complete -x -c guix -n "__fish_guix_using_command $guix_command" -s L -l load-path= -d "prepend DIR to the package module search path" -a "(__fish_complete_directories)"
668
669
670set -l guix_command environment
671complete -r -c guix -n "__fish_guix_using_command $guix_command" -s l -l load-file= -d "create environment for the package that the code within FILE evaluates to"
672complete -f -c guix -n "__fish_guix_using_command $guix_command" -l ad-hoc -d "include all specified packages in the environment instead of only their inputs"
673
674
675set -l guix_command gc
676complete -x -c guix -n "__fish_guix_using_command $guix_command" -s C -l collect-garbage= -d "collect at least MIN bytes of garbage"
677complete -x -c guix -n "__fish_guix_using_command $guix_command" -s F -l free-space= -d "attempt to reach FREE available space in the store"
678complete -f -c guix -n "__fish_guix_using_command $guix_command" -s d -l delete-generations -d "delete profile generations matching PATTERN" -a "PATTERN"
679complete -f -c guix -n "__fish_guix_using_command $guix_command" -s D -l delete -d "attempt to delete PATHS"
680complete -f -c guix -n "__fish_guix_using_command $guix_command" -l list-roots -d "list the user's garbage collector roots"
681complete -f -c guix -n "__fish_guix_using_command $guix_command" -l list-busy -d "list store items used by running processes"
682complete -f -c guix -n "__fish_guix_using_command $guix_command" -l optimize -d "optimize the store by deduplicating identical files"
683complete -f -c guix -n "__fish_guix_using_command $guix_command" -l list-dead -d "list dead paths"
684complete -f -c guix -n "__fish_guix_using_command $guix_command" -l list-live -d "list live paths"
685complete -f -c guix -n "__fish_guix_using_command $guix_command" -l references -d "list the references of PATHS"
686complete -f -c guix -n "__fish_guix_using_command $guix_command" -s R -l requisites -d "list the requisites of PATHS"
687complete -f -c guix -n "__fish_guix_using_command $guix_command" -l referrers -d "list the referrers of PATHS"
688complete -f -c guix -n "__fish_guix_using_command $guix_command" -l derivers -d "list the derivers of PATHS"
689complete -f -c guix -n "__fish_guix_using_command $guix_command" -l verify -d "verify the integrity of the store" -a "repair contents repair,contents"
690complete -f -c guix -n "__fish_guix_using_command $guix_command" -l list-failures -d "list cached build failures"
691complete -f -c guix -n "__fish_guix_using_command $guix_command" -l clear-failures -d "remove PATHS from the set of cached failures"
692complete -f -c guix -n "__fish_guix_using_command $guix_command" -l vacuum-database -d "repack the sqlite database tracking the store using less space"
693
694
695set -l guix_command git
696complete -x -c guix -n "__fish_guix_using_command $guix_command; and not __fish_seen_subcommand_from authenticate" -a "authenticate" -d "verify commit signatures and authorizations"
697complete -x -c guix -n "__fish_guix_using_command $guix_command; and __fish_seen_subcommand_from authenticate" -s r -l repository= -d "open the Git repository at DIRECTORY" -a "(__fish_complete_directories)"
698complete -x -c guix -n "__fish_guix_using_command $guix_command; and __fish_seen_subcommand_from authenticate" -s k -l keyring= -d "load keyring from REFERENCE, a Git branch"
699complete -x -c guix -n "__fish_guix_using_command $guix_command; and __fish_seen_subcommand_from authenticate" -l end= -d "authenticate revisions up to COMMIT"
700complete -f -c guix -n "__fish_guix_using_command $guix_command; and __fish_seen_subcommand_from authenticate" -l stats -d "display commit signing statistics upon completion"
701complete -x -c guix -n "__fish_guix_using_command $guix_command; and __fish_seen_subcommand_from authenticate" -l cache-key= -d "cache authenticated commits under KEY"
702complete -r -c guix -n "__fish_guix_using_command $guix_command; and __fish_seen_subcommand_from authenticate" -l historical-authorizations= -d "read historical authorizations from FILE"
703
704
705set -l guix_command graph
706complete -x -c guix -n "__fish_guix_using_command $guix_command" -s b -l backend= -d "produce a graph with the given backend TYPE" -a "$guix_graph_backends"
707complete -f -c guix -n "__fish_guix_using_command $guix_command" -l list-backends -d "list the available graph backends"
708complete -x -c guix -n "__fish_guix_using_command $guix_command" -s t -l type= -d "represent nodes of the given TYPE" -a "$guix_graph_types"
709complete -f -c guix -n "__fish_guix_using_command $guix_command" -l list-types -d "list the available graph types"
710complete -x -c guix -n "__fish_guix_using_command $guix_command" -s M -l max-depth= -d "limit to nodes within distance DEPTH"
711complete -f -c guix -n "__fish_guix_using_command $guix_command" -l path -d "display the shortest path between the given nodes"
712complete -x -c guix -n "__fish_guix_using_command $guix_command" -s e -l expression= -d "consider the package EXPR evaluates to"
713complete -x -c guix -n "__fish_guix_using_command $guix_command" -s L -l load-path= -d "prepend DIR to the package module search path" -a "(__fish_complete_directories)"
714
715
716set -l guix_command hash
717complete -f -c guix -n "__fish_guix_using_command $guix_command" -s x -l exclude-vcs -d "exclude version control directories"
718complete -x -c guix -n "__fish_guix_using_command $guix_command" -s H -l hash= -d "use the given hash ALGORITHM"
719complete -x -c guix -n "__fish_guix_using_command $guix_command" -s f -l format= -d "write the hash in the given format" -a "base64 nix-base32 base32 base16 hex hexadecimal"
720complete -x -c guix -n "__fish_guix_using_command $guix_command" -s S -l serializers= -d "compute the hash on FILE according to TYPE serialization"
721
722
723set -l guix_command home
724complete -x -c guix -n "__fish_guix_using_command $guix_command" -s e -l expression= -d "consider the home-environment EXPR evaluates to instead of reading FILE, when applicable"
725complete -f -c guix -n "__fish_guix_using_command $guix_command" -l allow-downgrades -d "for 'reconfigure', allow downgrades to earlier channel revisions"
726complete -f -c guix -n "__fish_guix_using_command $guix_command" -s N -l network -d "allow containers to access the network"
727complete -r -c guix -n "__fish_guix_using_command $guix_command" -l share= -d "for containers, share writable host file system according to SPEC"
728complete -r -c guix -n "__fish_guix_using_command $guix_command" -l expose= -d "for containers, expose read-only host file system according to SPEC"
729complete -x -c guix -n "__fish_guix_using_command $guix_command" -s v -l verbosity= -d "use the given verbosity LEVEL"
730complete -x -c guix -n "__fish_guix_using_command $guix_command" -l graph-backend= -d "use BACKEND for 'extension-graph' and 'shepherd-graph'" -a "$guix_graph_backends"
731complete -f -c guix -n "__fish_guix_using_command $guix_command" -s I -l list-installed -d "for 'describe' or 'list-generations', list installed packages matching REGEXP" -a "REGEXP"
732
733
734set -l guix_command import
735complete -r -c guix -n "__fish_guix_using_command $guix_command; and not __fish_seen_subcommand_from $guix_importers" -s i -l insert= -d "insert packages into file alphabetically"
736complete -x -c guix -n "__fish_guix_using_command $guix_command; and not __fish_seen_subcommand_from $guix_importers" -a "$guix_importers"
737
738set -l guix_importer composer
739complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s r -l recursive -d "generate package expressions for all Composer packages that are not yet in Guix"
740
741set -l guix_importer cpan
742complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s r -l recursive -d "import missing packages recursively"
743
744set -l guix_importer cran
745complete -x -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s a -l archive= -d "specify the archive repository"
746complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s r -l recursive -d "import packages recursively"
747complete -x -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s s -l style= -d "choose output style" -a "specification variable"
748complete -x -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s p -l license-prefix= -d "add custom prefix to licenses"
749
750set -l guix_importer crate
751complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -l allow-yanked -d "allow importing yanked crates if no alternative satisfying the version requirement is found"
752complete -x -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s f -l lockfile= -d "import dependencies from FILE, a 'Cargo.lock' file"
753
754set -l guix_importer egg
755complete -f -c guix -s r -l recursive -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -d "import packages recursively"
756
757set -l guix_importer elm
758complete -f -c guix -s r -l recursive -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -d "import packages recursively"
759
760set -l guix_importer elpa
761complete -x -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s a -l archive= -d "specify the archive repository"
762complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s l -l list-archives -d "list ELPA repositories supported by the importer"
763complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s r -l recursive -d "generate package expressions for all Emacs packages that are not yet in Guix"
764
765set -l guix_importer gem
766complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s r -l recursive -d "generate package expressions for all Gem packages that are not yet in Guix"
767
768set -l guix_importer gnu
769complete -x -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -l key-download= -d "handle missing OpenPGP keys according to POLICY" -a "auto always never interactive"
770
771set -l guix_importer go
772complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s r -l recursive -d "generate package expressions for all Go modules that are not yet in Guix"
773complete -x -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s p -l goproxy= -d "specify which goproxy server to use"
774complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -l pin-versions -d "use the exact versions of a module's dependencies"
775
776set -l guix_importer hackage
777complete -x -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s e -l cabal-environment= -d "specify environment for Cabal evaluation"
778complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s r -l recursive -d "import packages recursively"
779complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s s -l stdin -d "read from standard input"
780complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s t -l no-test-dependencies -d "don't include test-only dependencies"
781
782set -l guix_importer hackage
783complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s r -l recursive -d "import packages recursively"
784
785set -l guix_importer luanti
786complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s r -l recursive -d "import packages recursively"
787complete -x -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -l sort= -d "when choosing between multiple implementations, choose the one with the highest value for KEY" -a "score downloads"
788
789set -l guix_importer npm-binary
790complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s r -l recursive -d "import packages recursively"
791
792set -l guix_importer nuget
793complete -x -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s a -l archive= -d "specify the archive repository"
794complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s r -l recursive -d "import packages recursively"
795complete -x -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s s -l style= -d "choose output style" -a "specification variable"
796complete -x -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s p -l license-prefix= -d "add custom prefix to licenses"
797
798
799set -l guix_importer opam
800complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s r -l recursive -d "import packages recursively"
801complete -x -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -l repo= -d "import packages from REPOSITORY (name, URL, or file name); can be used more than once"
802
803set -l guix_importer pypi
804complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s r -l recursive -d "import packages recursively"
805
806set -l guix_importer stackage
807complete -x -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s l -l lts-version= -d "specify the LTS version to use"
808complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s r -l recursive -d "import packages recursively"
809complete -f -c guix -n "__fish_seen_subcommand_from $guix_command; and __fish_seen_subcommand_from $guix_importer" -s t -l no-test-dependencies -d "don't include test-only dependencies"
810
811
812set -l guix_command install
813complete -x -c guix -n "__fish_guix_using_command $guix_command" -s p -l profile= -d "use PROFILE instead of the user's default profile" -a "(__fish_complete_directories)"
814complete -x -c guix -n "__fish_guix_using_command $guix_command" -s v -l verbosity= -d "use the given verbosity LEVEL"
815
816
817set -l guix_command lint
818complete -x -c guix -n "__fish_guix_using_command $guix_command" -s c -l checkers= -d "only run the specified checkers" -a "$guix_lint_checker"
819complete -x -c guix -n "__fish_guix_using_command $guix_command" -s x -l exclude= -d "exclude the specified checkers" -a "$guix_lint_checker"
820complete -f -c guix -n "__fish_guix_using_command $guix_command" -s n -l no-network -d "only run checkers that do not access the network"
821complete -x -c guix -n "__fish_guix_using_command $guix_command" -s e -l expression= -d "consider the package EXPR evaluates to"
822complete -x -c guix -n "__fish_guix_using_command $guix_command" -s L -l load-path= -d "prepend DIR to the package module search path" -a "(__fish_complete_directories)"
823complete -f -c guix -n "__fish_guix_using_command $guix_command" -s l -l list-checkers -d "display the list of available lint checkers"
824
825
826set -l guix_command locate
827complete -f -c guix -n "__fish_guix_using_command $guix_command" -s g -l glob -d "interpret FILE as a glob pattern"
828complete -f -c guix -n "__fish_guix_using_command $guix_command" -l stats -d "display database statistics"
829complete -f -c guix -n "__fish_guix_using_command $guix_command" -s u -l update -d "force a database update"
830complete -f -c guix -n "__fish_guix_using_command $guix_command" -l clear -d "clear the database"
831complete -r -c guix -n "__fish_guix_using_command $guix_command" -l database= -d "store the database in FILE"
832complete -x -c guix -n "__fish_guix_using_command $guix_command" -l method= -d "use METHOD to select packages to index" -a "manifests store"
833
834
835set -l guix_command pack
836complete -r -c guix -n "__fish_guix_using_command $guix_command" -l file= -d "build a pack the code within FILE evaluates to"
837complete -x -c guix -n "__fish_guix_using_command $guix_command" -s f -l format= -d "build a pack in the given FORMAT" -a "$guix_pack_formats"
838complete -f -c guix -n "__fish_guix_using_command $guix_command" -l list-formats -d "list the formats available"
839complete -f -c guix -n "__fish_guix_using_command $guix_command" -s R -l relocatable -d "produce relocatable executables"
840complete -x -c guix -n "__fish_guix_using_command $guix_command" -s e -l expression= -d "consider the package EXPR evaluates to"
841complete -x -c guix -n "__fish_guix_using_command $guix_command" -s C -l compression= -d "compress using TOOL" -a "gzip lzip xz bzip2 zstd none"
842complete -r -c guix -n "__fish_guix_using_command $guix_command" -s S -l symlink= -d "create symlinks to the profile according to SPEC"
843complete -r -c guix -n "__fish_guix_using_command $guix_command" -s m -l manifest= -d "create a pack with the manifest from FILE"
844complete -x -c guix -n "__fish_guix_using_command $guix_command" -l entry-point= -d "use PROGRAM as the entry point of the pack"
845complete -f -c guix -n "__fish_guix_using_command $guix_command" -l save-provenance -d "save provenance information"
846complete -f -c guix -n "__fish_guix_using_command $guix_command" -l localstatedir -d "include /var/guix in the resulting pack"
847complete -x -c guix -n "__fish_guix_using_command $guix_command" -l profile-name= -d "populate /var/guix/profiles/.../NAME"
848complete -r -c guix -n "__fish_guix_using_command $guix_command" -s r -l root= -d "make FILE a symlink to the result, and register it as a garbage collector root"
849complete -f -c guix -n "__fish_guix_using_command $guix_command" -s d -l derivation -d "return the derivation of the pack"
850complete -x -c guix -n "__fish_guix_using_command $guix_command" -s v -l verbosity= -d "use the given verbosity LEVEL"
851complete -f -c guix -n "__fish_guix_using_command $guix_command" -l bootstrap -d "use the bootstrap binaries to build the pack"
852
853
854set -l guix_command package
855complete -x -c guix -n "__fish_guix_using_command $guix_command" -s i -l install -d "install PACKAGEs"
856complete -x -c guix -n "__fish_guix_using_command $guix_command" -s e -l install-from-expression -d "install the package EXP evaluates to"
857complete -r -c guix -n "__fish_guix_using_command $guix_command" -s f -l install-from-file= -d "install the package that the code within FILE evaluates to"
858complete -x -c guix -n "__fish_guix_using_command $guix_command" -s r -l remove -d "remove PACKAGEs"
859complete -f -c guix -n "__fish_guix_using_command $guix_command" -s u -l upgrade -d "upgrade all the installed packages matching REGEXP" -a "REGEXP"
860complete -r -c guix -n "__fish_guix_using_command $guix_command" -s m -l manifest= -d "create a new profile generation with the manifest from FILE"
861complete -f -c guix -n "__fish_guix_using_command $guix_command" -l do-not-upgrade -d "do not upgrade any packages matching REGEXP" -a "REGEXP"
862complete -f -c guix -n "__fish_guix_using_command $guix_command" -l roll-back -d "roll back to the previous generation"
863complete -f -c guix -n "__fish_guix_using_command $guix_command" -l search-paths -d "display needed environment variable definitions" -a "exact prefix suffix"
864complete -f -c guix -n "__fish_guix_using_command $guix_command" -s l -l list-generations -d "list generations matching PATTERN" -a "PATTERN"
865complete -f -c guix -n "__fish_guix_using_command $guix_command" -s d -l delete-generations -d "delete generations matching PATTERN" -a "PATTERN"
866complete -x -c guix -n "__fish_guix_using_command $guix_command" -s S -l switch-generation= -d "switch to a generation matching PATTERN"
867complete -f -c guix -n "__fish_guix_using_command $guix_command" -l export-manifest -d "print a manifest for the chosen profile"
868complete -f -c guix -n "__fish_guix_using_command $guix_command" -l export-channels -d "print channels for the chosen profile"
869complete -x -c guix -n "__fish_guix_using_command $guix_command" -s p -l profile= -d "use PROFILE instead of the user's default profile" -a "(__fish_complete_directories)"
870complete -f -c guix -n "__fish_guix_using_command $guix_command" -l list-profiles -d "list the user's profiles"
871complete -f -c guix -n "__fish_guix_using_command $guix_command" -l allow-collisions -d "do not treat collisions in the profile as an error"
872complete -f -c guix -n "__fish_guix_using_command $guix_command" -l bootstrap -d "use the bootstrap Guile to build the profile"
873complete -x -c guix -n "__fish_guix_using_command $guix_command" -s v -l verbosity= -d "use the given verbosity LEVEL"
874complete -x -c guix -n "__fish_guix_using_command $guix_command" -s s -l search= -d "search in synopsis and description using REGEXP"
875complete -f -c guix -n "__fish_guix_using_command $guix_command" -s I -l list-installed -d "list installed packages matching REGEXP" -a "REGEXP"
876complete -f -c guix -n "__fish_guix_using_command $guix_command" -s A -l list-available -d "list available packages matching REGEXP" -a "REGEXP"
877complete -x -c guix -n "__fish_guix_using_command $guix_command" -l show= -d "show details about PACKAGE"
878
879
880set -l guix_command processes
881complete -x -c guix -n "__fish_guix_using_command $guix_command" -s f -l format= -d "display results as normalized record sets" -a "$guix_processes_formats"
882complete -f -c guix -n "__fish_guix_using_command $guix_command" -l list-formats -d "display available formats"
883
884
885set -l guix_command publish
886complete -x -c guix -n "__fish_guix_using_command $guix_command" -s p -l port= -d "listen on PORT"
887complete -x -c guix -n "__fish_guix_using_command $guix_command" -l listen= -d "listen on the network interface for HOST"
888complete -x -c guix -n "__fish_guix_using_command $guix_command" -s u -l user= -d "change privileges to USER as soon as possible" -a "(__fish_complete_users)"
889complete -f -c guix -n "__fish_guix_using_command $guix_command" -s a -l advertise -d "advertise on the local network"
890complete -f -c guix -n "__fish_guix_using_command $guix_command" -s C -l compression -d "compress archives with METHOD at LEVEL" -a "METHOD:LEVEL"
891complete -x -c guix -n "__fish_guix_using_command $guix_command" -s c -l cache= -d "cache published items to DIRECTORY" -a "(__fish_complete_directories)"
892complete -x -c guix -n "__fish_guix_using_command $guix_command" -l cache-bypass-threshold= -d "serve store items below SIZE even when not cached"
893complete -x -c guix -n "__fish_guix_using_command $guix_command" -l workers= -d "use N workers to bake items"
894complete -x -c guix -n "__fish_guix_using_command $guix_command" -l ttl= -d "announce narinfos can be cached for TTL seconds"
895complete -x -c guix -n "__fish_guix_using_command $guix_command" -l negative-ttl= -d "announce missing narinfos can be cached for TTL seconds"
896complete -x -c guix -n "__fish_guix_using_command $guix_command" -l nar-path= -d "use PATH as the prefix for nar URLs"
897complete -r -c guix -n "__fish_guix_using_command $guix_command" -l public-key= -d "use FILE as the public key for signatures"
898complete -r -c guix -n "__fish_guix_using_command $guix_command" -l private-key= -d "use FILE as the private key for signatures"
899complete -f -c guix -n "__fish_guix_using_command $guix_command" -s r -l repl -d "spawn REPL server on PORT" -a "PORT"
900
901
902set -l guix_command pull
903complete -r -c guix -n "__fish_guix_using_command $guix_command" -s C -l channels= -d "deploy the channels defined in FILE"
904complete -f -c guix -n "__fish_guix_using_command $guix_command" -s q -l no-channel-files -d "inhibit loading of user and system 'channels.scm'"
905complete -x -c guix -n "__fish_guix_using_command $guix_command" -l url= -d "download \"guix\" channel from the Git repository at URL"
906complete -x -c guix -n "__fish_guix_using_command $guix_command" -l commit= -d "download the specified \"guix\" channel COMMIT"
907complete -x -c guix -n "__fish_guix_using_command $guix_command" -l branch= -d "download the tip of the specified \"guix\" channel BRANCH"
908complete -f -c guix -n "__fish_guix_using_command $guix_command" -l allow-downgrades -d "allow downgrades to earlier channel revisions"
909complete -f -c guix -n "__fish_guix_using_command $guix_command" -l disable-authentication -d "disable channel authentication"
910complete -f -c guix -n "__fish_guix_using_command $guix_command" -l no-check-certificate -d "do not validate the certificate of HTTPS servers"
911complete -f -c guix -n "__fish_guix_using_command $guix_command" -s N -l news -d "display news compared to the previous generation"
912complete -f -c guix -n "__fish_guix_using_command $guix_command" -s l -l list-generations -d "list generations matching PATTERN" -a "PATTERN"
913complete -f -c guix -n "__fish_guix_using_command $guix_command" -l details -d "show details when listing generations"
914complete -f -c guix -n "__fish_guix_using_command $guix_command" -l roll-back -d "roll back to the previous generation"
915complete -f -c guix -n "__fish_guix_using_command $guix_command" -s d -l delete-generations -d "delete generations matching PATTERN" -a "PATTERN"
916complete -x -c guix -n "__fish_guix_using_command $guix_command" -s S -l switch-generation= -d "switch to a generation matching PATTERN"
917complete -x -c guix -n "__fish_guix_using_command $guix_command" -s p -l profile= -d "use PROFILE instead of ~/.config/guix/current" -a "(__fish_complete_directories)"
918complete -x -c guix -n "__fish_guix_using_command $guix_command" -s v -l verbosity= -d "use the given verbosity LEVEL"
919complete -f -c guix -n "__fish_guix_using_command $guix_command" -l bootstrap -d "use the bootstrap Guile to build the new Guix"
920
921
922set -l guix_command refresh
923complete -x -c guix -s e -l expression= -n "__fish_guix_using_command $guix_command" -d "consider the package EXPR evaluates to"
924complete -f -c guix -s u -l update -n "__fish_guix_using_command $guix_command" -d "update source files in place"
925complete -x -c guix -s s -l select= -n "__fish_guix_using_command $guix_command" -d "select all the packages in SUBSET" -a "core non-core module:NAME"
926complete -r -c guix -s m -l manifest= -n "__fish_guix_using_command $guix_command" -d "select all the packages from the manifest in FILE"
927complete -x -c guix -l target-version= -n "__fish_guix_using_command $guix_command" -d "update the package or packages to VERSION, VERSION may be partially specified, e.g. as 6 or 6.4 instead of 6.4.3"
928complete -x -c guix -s t -l type= -n "__fish_guix_using_command $guix_command" -d "restrict to updates from the specified updaters" -a "$guix_refresh_updaters"
929complete -f -c guix -l list-updaters -n "__fish_guix_using_command $guix_command" -d "list available updaters and exit"
930complete -f -c guix -s l -l list-dependent -n "__fish_guix_using_command $guix_command" -d "list top-level dependent packages that would need to be rebuilt as a result of upgrading PACKAGE..."
931complete -f -c guix -s r -l recursive -n "__fish_guix_using_command $guix_command" -d "check the PACKAGE and its inputs for upgrades"
932complete -f -c guix -s T -l list-transitive -n "__fish_guix_using_command $guix_command" -d "list all the packages that PACKAGE depends on"
933complete -r -c guix -l keyring= -n "__fish_guix_using_command $guix_command" -d "use FILE as the keyring of upstream OpenPGP keys"
934complete -x -c guix -l key-server= -n "__fish_guix_using_command $guix_command" -d "use HOST as the OpenPGP key server"
935complete -x -c guix -l gpg= -n "__fish_guix_using_command $guix_command" -d "use COMMAND as the GnuPG 2.x command"
936complete -x -c guix -l key-download= -n "__fish_guix_using_command $guix_command" -d "handle missing OpenPGP keys according to POLICY" -a "auto always never interactive"
937complete -x -c guix -s L -l load-path= -n "__fish_guix_using_command $guix_command" -d "prepend DIR to the package module search path" -a "(__fish_complete_directories)"
938
939
940set -l guix_command remove
941complete -x -c guix -n "__fish_guix_using_command $guix_command" -s p -l profile= -d "use PROFILE instead of the user's default profile" -a "(__fish_complete_directories)"
942complete -x -c guix -n "__fish_guix_using_command $guix_command" -s v -l verbosity= -d "use the given verbosity LEVEL"
943
944
945set -l guix_command repl
946complete -f -c guix -n "__fish_guix_using_command $guix_command" -l list-types -d "display REPL types and exit"
947complete -x -c guix -n "__fish_guix_using_command $guix_command" -s t -l type= -d "start a REPL of the given TYPE" -a "$guix_repl_types"
948complete -x -c guix -n "__fish_guix_using_command $guix_command" -l listen= -d "listen to ENDPOINT instead of standard input"
949complete -f -c guix -n "__fish_guix_using_command $guix_command" -s q -d "inhibit loading of ~/.guile"
950complete -f -c guix -n "__fish_guix_using_command $guix_command" -s i -l interactive -d "launch REPL after evaluating FILE"
951complete -x -c guix -n "__fish_guix_using_command $guix_command" -s L -l load-path= -d "prepend DIR to the package module search path" -a "(__fish_complete_directories)"
952
953
954set -l guix_command search
955complete -x -c guix -n "__fish_guix_using_command $guix_command" -s L -l load-path= -d "prepend DIR to the package module search path" -a "(__fish_complete_directories)"
956
957
958set -l guix_command shell
959complete -f -c guix -n "__fish_guix_using_command $guix_command" -s D -l development -d "include the development inputs of the next package"
960complete -r -c guix -n "__fish_guix_using_command $guix_command" -s f -l file= -d "add to the environment the package FILE evaluates to"
961complete -f -c guix -n "__fish_guix_using_command $guix_command" -s q -d "inhibit loading of 'guix.scm' and 'manifest.scm'"
962complete -f -c guix -n "__fish_guix_using_command $guix_command" -l rebuild-cache -d "rebuild cached environment, if any"
963complete -f -c guix -n "__fish_guix_using_command $guix_command" -l export-manifest -d "print a manifest for the given options"
964complete -f -c guix -n "__fish_guix_using_command $guix_command" -s F -l emulate-fhs -d "for containers, emulate the Filesystem Hierarchy Standard (FHS)"
965# guix shell --
966complete -f -c guix -n "__fish_guix_using_command $guix_command; and not __fish_seen_subcommand_from --" -a "--"
967complete -x -c guix -n "__fish_guix_using_command $guix_command; and __fish_seen_subcommand_from --" -a "(__fish_guix_complete_subcommand)"
968
969
970set -l guix_command show
971complete -x -c guix -n "__fish_guix_using_command $guix_command" -s L -l load-path= -d "prepend DIR to the package module search path" -a "(__fish_complete_directories)"
972
973
974set -l guix_command size
975complete -x -c guix -n "__fish_guix_using_command $guix_command" -l substitute-urls= -d "fetch substitute from URLS if they are authorized" -a "$guix_substitute_urls"
976complete -x -c guix -n "__fish_guix_using_command $guix_command" -l sort= -d "sort according to KEY" -a "closure self"
977complete -r -c guix -n "__fish_guix_using_command $guix_command" -s m -l map-file= -d "write to FILE a graphical map of disk usage"
978complete -x -c guix -n "__fish_guix_using_command $guix_command" -s L -l load-path= -d "prepend DIR to the package module search path" -a "(__fish_complete_directories)"
979
980
981set -l guix_command style
982complete -x -c guix -n "__fish_guix_using_command $guix_command" -s S -l styling= -d "apply RULE, a styling rule" -a "$guix_style_stylings"
983complete -f -c guix -n "__fish_guix_using_command $guix_command" -l list-stylings -d "display the list of available style rules"
984complete -f -c guix -n "__fish_guix_using_command $guix_command" -s n -l dry-run -d "display files that would be edited but do nothing"
985complete -x -c guix -n "__fish_guix_using_command $guix_command" -s L -l load-path= -d "prepend DIR to the package module search path" -a "(__fish_complete_directories)"
986complete -x -c guix -n "__fish_guix_using_command $guix_command" -s e -l expression= -d "consider the package EXPR evaluates to"
987complete -x -c guix -n "__fish_guix_using_command $guix_command" -l input-simplification= -d "follow POLICY for package input simplification" -a "silent safe always"
988complete -f -c guix -n "__fish_guix_using_command $guix_command" -s f -l whole-file -d "format the entire contents of the given file(s)"
989complete -f -c guix -n "__fish_guix_using_command $guix_command" -s A -l alphabetical-sort -d "place the contents in alphabetical order as well"
990
991
992set -l guix_command system
993complete -f -c guix -n "__fish_guix_using_command $guix_command" -s d -l derivation -d "return the derivation of the given system"
994complete -x -c guix -n "__fish_guix_using_command $guix_command" -s e -l expression= -d "consider the operating-system EXPR evaluates to instead of reading FILE, when applicable"
995complete -f -c guix -n "__fish_guix_using_command $guix_command" -l allow-downgrades -d "for 'reconfigure', allow downgrades to earlier channel revisions"
996complete -x -c guix -n "__fish_guix_using_command $guix_command" -l on-error= -d "apply STRATEGY when an error occurs while reading FILE" -a "nothing-special backtrace debug"
997complete -f -c guix -n "__fish_guix_using_command $guix_command" -l list-image-types -d "list available image types"
998complete -x -c guix -n "__fish_guix_using_command $guix_command" -s t -l image-type= -d "for 'image', produce an image of TYPE" -a "$guix_image_types"
999complete -x -c guix -n "__fish_guix_using_command $guix_command" -l image-size= -d "for 'image', produce an image of SIZE"
1000complete -f -c guix -n "__fish_guix_using_command $guix_command" -l no-bootloader -d "for 'init', do not install a bootloader"
1001complete -f -c guix -n "__fish_guix_using_command $guix_command" -l no-kexec -d "for 'reconfigure', do not load system for kexec reboot"
1002complete -f -c guix -n "__fish_guix_using_command $guix_command" -l volatile -d "for 'image', make the root file system volatile"
1003complete -f -c guix -n "__fish_guix_using_command $guix_command" -l persistent -d "for 'vm', make the root file system persistent"
1004complete -x -c guix -n "__fish_guix_using_command $guix_command" -l label= -d "for 'image', label disk image with LABEL"
1005complete -f -c guix -n "__fish_guix_using_command $guix_command" -l save-provenance -d "save provenance information"
1006complete -r -c guix -n "__fish_guix_using_command $guix_command" -l share= -d "for 'vm' and 'container', share host file system with read/write access according to SPEC"
1007complete -r -c guix -n "__fish_guix_using_command $guix_command" -l expose= -d "for 'vm' and 'container', expose host file system directory as read-only according to SPEC"
1008complete -f -c guix -n "__fish_guix_using_command $guix_command" -s N -l network -d "for 'container', allow containers to access the network"
1009complete -r -c guix -n "__fish_guix_using_command $guix_command" -s r -l root= -d "for 'vm', 'image', 'container' and 'build', make FILE a symlink to the result, and register it as a garbage collector root"
1010complete -f -c guix -n "__fish_guix_using_command $guix_command" -l full-boot -d "for 'vm', make a full boot sequence"
1011complete -f -c guix -n "__fish_guix_using_command $guix_command" -l no-graphic -d "for 'vm', use the tty that we are started in for IO"
1012complete -f -c guix -n "__fish_guix_using_command $guix_command" -l skip-checks -d "skip file system and initrd module safety checks"
1013complete -x -c guix -n "__fish_guix_using_command $guix_command" -s v -l verbosity= -d "use the given verbosity LEVEL"
1014complete -x -c guix -n "__fish_guix_using_command $guix_command" -l graph-backend= -d "use BACKEND for 'extension-graph' and 'shepherd-graph'" -a "$guix_graph_backends"
1015complete -f -c guix -n "__fish_guix_using_command $guix_command" -s I -l list-installed -d "for 'describe' and 'list-generations', list installed packages matching REGEXP" -a "REGEXP"
1016
1017
1018set -l guix_command time-machine
1019complete -r -c guix -n "__fish_guix_using_command $guix_command" -s C -l channels= -d "deploy the channels defined in FILE"
1020complete -f -c guix -n "__fish_guix_using_command $guix_command" -s q -l no-channel-files -d "inhibit loading of user and system 'channels.scm'"
1021complete -x -c guix -n "__fish_guix_using_command $guix_command" -l url= -d "use the Git repository at URL"
1022complete -x -c guix -n "__fish_guix_using_command $guix_command" -l commit= -d "use the specified COMMIT"
1023complete -x -c guix -n "__fish_guix_using_command $guix_command" -l branch= -d "use the tip of the specified BRANCH"
1024complete -f -c guix -n "__fish_guix_using_command $guix_command" -l disable-authentication -d "disable channel authentication"
1025complete -f -c guix -n "__fish_guix_using_command $guix_command" -l no-check-certificate -d "do not validate the certificate of HTTPS servers"
1026# guix time-machine --
1027complete -x -c guix -n "__fish_guix_using_command $guix_command; and not __fish_seen_subcommand_from --" -a "--"
1028complete -x -c guix -n "__fish_guix_using_command $guix_command; and __fish_seen_subcommand_from --" -a "(__fish_guix_complete_subcommand)"
1029
1030
1031set -l guix_command upgrade
1032complete -x -c guix -n "__fish_guix_using_command $guix_command" -s p -l profile= -d "use PROFILE instead of the user's default profile" -a "(__fish_complete_directories)"
1033complete -x -c guix -n "__fish_guix_using_command $guix_command" -s v -l verbosity= -d "use the given verbosity LEVEL"
1034complete -f -c guix -n "__fish_guix_using_command $guix_command" -l do-not-upgrade -d "do not upgrade any packages matching REGEXP" -a "REGEXP"
1035
1036
1037set -l guix_command weather
1038complete -x -c guix -n "__fish_guix_using_command $guix_command" -l substitute-urls= -d "check for available substitutes at URLS" -a "$guix_substitute_urls"
1039complete -r -c guix -n "__fish_guix_using_command $guix_command" -s m -l manifest= -d "look up substitutes for packages specified in MANIFEST"
1040complete -x -c guix -n "__fish_guix_using_command $guix_command" -s e -l expression= -d "look up substitutes for the package EXPR evaluates to"
1041complete -f -c guix -n "__fish_guix_using_command $guix_command" -s c -l coverage -d "show substitute coverage for packages with at least COUNT dependents" -a "COUNT"
1042complete -f -c guix -n "__fish_guix_using_command $guix_command" -l display-missing -d "display the list of missing substitutes"