diff options
author | Alan Pearce | 2019-06-05 21:05:53 +0200 |
---|---|---|
committer | Alan Pearce | 2019-06-05 21:05:53 +0200 |
commit | af54fb9ff51211ef2b17b642cfa96efa10445fde (patch) | |
tree | 7473f9159222e029fe53a2ec2dc20d4a25a1f0f7 | |
parent | 7e6f5a6d6f329c890a4259b03dbeded189580003 (diff) | |
download | nixfiles-af54fb9ff51211ef2b17b642cfa96efa10445fde.tar.lz nixfiles-af54fb9ff51211ef2b17b642cfa96efa10445fde.tar.zst nixfiles-af54fb9ff51211ef2b17b642cfa96efa10445fde.zip |
trillian: Enable completion for nix-darwin commands
-rw-r--r-- | trillian.nix | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/trillian.nix b/trillian.nix index 1ffb8c76..86dc4c47 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; |