all repos — nixfiles @ af54fb9ff51211ef2b17b642cfa96efa10445fde

System and user configuration, managed by nix and home-manager

trillian: Enable completion for nix-darwin commands

Alan Pearce
commit

af54fb9ff51211ef2b17b642cfa96efa10445fde

parent

7e6f5a6d6f329c890a4259b03dbeded189580003

1 file changed, 34 insertions(+), 1 deletion(-)

jump to
M trillian.nixtrillian.nix
@@ -47,6 +47,7 @@ mosh
emacsPackage aspell aspellDicts.en + darwin-zsh-completions ]; # Use a custom configuration.nix location.
@@ -85,7 +86,7 @@ # serviceConfig = {
# 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 @@ };
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;