aboutsummaryrefslogtreecommitdiffstats
path: root/modules/scripts/nix-update
diff options
context:
space:
mode:
Diffstat (limited to 'modules/scripts/nix-update')
-rw-r--r--modules/scripts/nix-update/completion.zsh21
-rw-r--r--modules/scripts/nix-update/default.nix1
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