From af54fb9ff51211ef2b17b642cfa96efa10445fde Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Wed, 5 Jun 2019 21:05:53 +0200 Subject: trillian: Enable completion for nix-darwin commands --- trillian.nix | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/trillian.nix b/trillian.nix index 1ffb8c7..86dc4c4 100644 --- a/trillian.nix +++ b/trillian.nix @@ -47,6 +47,7 @@ in emacsPackage aspell aspellDicts.en + darwin-zsh-completions ]; # Use a custom configuration.nix location. @@ -85,7 +86,7 @@ in # KeepAlive = true; # }; # }; - # + # nix.gc = { automatic = true; options = "--max-freed $((25 * 1024**3 - 1024 * $(df -P -k /nix/store | tail -n 1 | awk '{ print $4 }')))"; @@ -93,6 +94,38 @@ in nix.daemonNiceLevel = 10; nix.daemonIONice = true; + nixpkgs.overlays = [ + (self: super: { + darwin-zsh-completions = super.runCommandNoCC "darwin-zsh-completions-0.0.0" + { preferLocalBuild = true; } + '' + mkdir -p $out/share/zsh/site-functions + cat <<-'EOF' > $out/share/zsh/site-functions/_darwin-rebuild + #compdef darwin-rebuild + #autoload + _nix-common-options + local -a _1st_arguments + _1st_arguments=( + 'switch:Build, activate, and update the current generation'\ + 'build:Build without activating or updating the current generation'\ + 'check:Build and run the activation sanity checks'\ + 'changelog:Show most recent entries in the changelog'\ + ) + _arguments \ + '--list-generations[Print a list of all generations in the active profile]'\ + '--rollback[Roll back to the previous configuration]'\ + {--switch-generation,-G}'[Activate specified generation]'\ + '(--profile-name -p)'{--profile-name,-p}'[Profile to use to track current and previous system configurations]:Profile:_nix_profiles'\ + '1:: :->subcmds' && return 0 + case $state in + subcmds) + _describe -t commands 'darwin-rebuild subcommands' _1st_arguments + ;; + esac + EOF + ''; + }) + ]; # Used for backwards compatibility, please read the changelog before changing. # $ darwin-rebuild changelog system.stateVersion = 3; -- cgit 1.4.1