mirror of
https://github.com/nix-community/home-manager
synced 2024-11-30 06:59:45 +01:00
83 lines
2.6 KiB
Bash
83 lines
2.6 KiB
Bash
#compdef home-manager
|
|
|
|
local state ret=1
|
|
|
|
_arguments \
|
|
'-A[attribute]:ATTRIBUTE:()' \
|
|
'-I[search path]:PATH:_files -/' \
|
|
'-b[backup files]:EXT:()' \
|
|
'--flake[flake-uri]:PATH:_files -/' \
|
|
'--cores[cores]:NUM:()' \
|
|
'--debug[debug]' \
|
|
'--impure[impure]' \
|
|
'--keep-failed[keep failed]' \
|
|
'--keep-going[keep going]' \
|
|
'--version[version]' \
|
|
'(-h --help)'{--help,-h}'[help]' \
|
|
'(-v --verbose)'{--verbose,-v}'[verbose]' \
|
|
'(-n --dry-run)'{--dry-run,-n}'[dry run]' \
|
|
'(-f --file)'{--file,-f}'[configuration file]:FILE:_files' \
|
|
'(-j --max-jobs)'{--max-jobs,-j}'[max jobs]:NUM:()' \
|
|
'--option[option]:NAME VALUE:()' \
|
|
'--builders[builders]:SPEC:()' \
|
|
'(-L --print-build-logs)'{--print-build-logs,-L}'[print build logs]' \
|
|
'--show-trace[show trace]' \
|
|
'--override-input[override flake input]:NAME VALUE:()' \
|
|
'--update-input[update flake input]:NAME:()' \
|
|
'--experimental-features[set experimental Nix features]:VALUE:()' \
|
|
'--extra-experimental-features:[append to experimental Nix features]:VALUE:()' \
|
|
'1: :->cmds' \
|
|
'*:: :->args' && ret=0
|
|
|
|
case "$state" in
|
|
cmds)
|
|
_values 'command' \
|
|
'help[help]' \
|
|
'edit[edit]' \
|
|
'option[inspect option]' \
|
|
'build[build]' \
|
|
'init[init]' \
|
|
'switch[switch]' \
|
|
'generations[list generations]' \
|
|
'remove-generations[remove generations]' \
|
|
'expire-generations[expire generations]' \
|
|
'packages[managed packages]' \
|
|
'news[read the news]' \
|
|
'uninstall[uninstall]' && ret=0
|
|
;;
|
|
args)
|
|
case $line[1] in
|
|
remove-generations)
|
|
_values 'generations' \
|
|
$(home-manager generations | cut -d ' ' -f 5) && ret=0
|
|
;;
|
|
build|switch)
|
|
_arguments \
|
|
'--cores[cores]:NUM:()' \
|
|
'--flake[flake-uri]:PATH:_files -/' \
|
|
'--debug[debug]' \
|
|
'--impure[impure]' \
|
|
'--keep-failed[keep failed]' \
|
|
'--keep-going[keep going]' \
|
|
'--max-jobs[max jobs]:NUM:()' \
|
|
'--no-out-link[no out link]' \
|
|
'--no-substitute[no substitute]' \
|
|
'--option[option]:NAME VALUE:()' \
|
|
'--show-trace[show trace]' \
|
|
'--substitute[substitute]' \
|
|
'--builders[builders]:SPEC:()' \
|
|
'--refresh[refresh]' \
|
|
'--override-input[override flake input]:NAME VALUE:()' \
|
|
'--update-input[update flake input]:NAME:()' \
|
|
'--experimental-features[set experimental Nix features]:VALUE:()' \
|
|
'--extra-experimental-features:[append to experimental Nix features]:VALUE:()'
|
|
;;
|
|
init)
|
|
_arguments \
|
|
'--switch[switch]' \
|
|
':PATH:_files -/'
|
|
;;
|
|
esac
|
|
esac
|
|
|
|
return ret
|