Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add zsh completions to darwin-rebuld by default #861

Merged
merged 2 commits into from
Jan 29, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 0 additions & 34 deletions modules/examples/lnl.nix
Original file line number Diff line number Diff line change
Expand Up @@ -308,40 +308,6 @@

nixpkgs.overlays = [
(self: super: {
darwin-zsh-completions = super.runCommand "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
'';

vim_configurable = super.vim_configurable.override {
guiSupport = "no";
};
Expand Down
38 changes: 38 additions & 0 deletions pkgs/nix-tools/darwin-rebuild.zsh-completions
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#compdef darwin-rebuild
#autoload

_nix-common-options

local -a _1st_arguments
_1st_arguments=(
'edit:Open nix-darwin config in $EDITOR'\
'switch:Build, activate, and update the current generation'\
'activate: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 \
$__nix_search_path_args\
'(--verbose -v)*'{--verbose,-v}'[Increase verbosity of diagnostic messages]'\
'(--max-jobs -j)'{--max-jobs,-j}'[max number of build jobs in parallel]:jobs:'\
'--cores[threads per job (e.g. -j argument to make)]:cores:'\
'(--keep-going -k)'{--keep-going,-k}"[keep going until all builds are finished]"\
'(--keep-failed -K)'{--keep-failed,-K}'[keep failed builds (usually in /tmp)]'\
'--fallback[If binary download fails, fall back on building from source]'\
'--show-trace[Print stack trace of evaluation errors]'\
'*--option[set Nix configuration option]:options:_nix_options:value:_nix_options_value'\
'*--arg[argument to pass to the Nix function]:Name:_nix_complete_function_arg:Value: '\
'*--argstr[pass a string]:Name:_nix_complete_function_arg:String: '\
'--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
4 changes: 4 additions & 0 deletions pkgs/nix-tools/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ in
{
inherit path profile;
inherit (stdenv) shell;
postInstall = ''
mkdir -p $out/share/zsh/site-functions
cp ${./darwin-rebuild.zsh-completions} $out/share/zsh/site-functions/_darwin-rebuild
'';
}
./darwin-rebuild.sh;

Expand Down
Loading