diff options
Diffstat (limited to 'modules/scripts/nix-update')
| -rw-r--r-- | modules/scripts/nix-update/completion.zsh | 21 | ||||
| -rw-r--r-- | modules/scripts/nix-update/default.nix | 1 |
2 files changed, 22 insertions, 0 deletions
diff --git a/modules/scripts/nix-update/completion.zsh b/modules/scripts/nix-update/completion.zsh new file mode 100644 index 0000000..ee4115c --- /dev/null +++ b/modules/scripts/nix-update/completion.zsh @@ -0,0 +1,21 @@ +#compdef nix-update + +_arguments \ + '1: :->target' \ + '*:: :->flags' + +case $state in + target) + local -a commands + commands=( + 'home-manager:Update and switch home-manager configuration' + 'nixos:Update and switch NixOS configuration' + 'both:Update and switch both configurations' + ) + _describe 'command' commands + ;; + flags) + _arguments \ + '--flake-only[Only run nix flake update, skip switch commands]' + ;; +esac diff --git a/modules/scripts/nix-update/default.nix b/modules/scripts/nix-update/default.nix index 787265d..633ff3d 100644 --- a/modules/scripts/nix-update/default.nix +++ b/modules/scripts/nix-update/default.nix @@ -16,6 +16,7 @@ let config.programs.home-manager.package pkgs.bash ]; + completion.zsh = builtins.readFile ./completion.zsh; inherit config; }; in |
