diff --git a/build.nix b/build.nix index a531338..22ea7e8 100644 --- a/build.nix +++ b/build.nix @@ -1,6 +1,6 @@ { pkgs, release }: -{ simpleName, binName, attrName }: +{ simpleName, binNames, attrName }: let release = import ./release.nix; @@ -23,9 +23,22 @@ pkgs.stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin - binPath="$out/bin/${binName}" - install -D -m555 -T "${binName}" "$binPath" - rm "${binName}" + + ${pkgs.lib.concatMapStringsSep "\n" (binName: '' + binPath="$out/bin/${binName}" + install -D -m555 -T "${binName}" "$binPath" + rm "${binName}" + + "$binPath" --bash-completion-script "$binPath" > "${binName}.bash" + installShellCompletion --bash "${binName}.bash" + rm "${binName}.bash" + "$binPath" --zsh-completion-script "$binPath" > "${binName}.zsh" + installShellCompletion --zsh "${binName}.zsh" + rm "${binName}.zsh" + "$binPath" --fish-completion-script "$binPath" > "${binName}.fish" + installShellCompletion --fish "${binName}.fish" + rm "${binName}.fish" + '') binNames} # check that we didn’t forget any files (maybe a new binary was added) if [ ! -z "$(${pkgs.lr}/bin/lr -1 -t 'depth == 1' .)" ]; then @@ -34,11 +47,5 @@ pkgs.stdenv.mkDerivation rec { exit 1 fi - "$binPath" --bash-completion-script "$binPath" > "${binName}.bash" - installShellCompletion --bash "${binName}.bash" - "$binPath" --zsh-completion-script "$binPath" > "${binName}.zsh" - installShellCompletion --zsh "${binName}.zsh" - "$binPath" --fish-completion-script "$binPath" > "${binName}.fish" - installShellCompletion --fish "${binName}.fish" ''; } diff --git a/dhall-bash-simple.nix b/dhall-bash-simple.nix index 79cd13e..2704763 100644 --- a/dhall-bash-simple.nix +++ b/dhall-bash-simple.nix @@ -2,6 +2,6 @@ import ./build.nix { inherit pkgs; release = import ./release.nix; } { simpleName = "dhall-bash-simple"; - binName = "dhall-to-bash"; + binNames = [ "dhall-to-bash" ]; attrName = "dhall-bash"; } diff --git a/dhall-lsp-simple.nix b/dhall-lsp-simple.nix index 943ed1c..9c12846 100644 --- a/dhall-lsp-simple.nix +++ b/dhall-lsp-simple.nix @@ -2,6 +2,6 @@ import ./build.nix { inherit pkgs; release = import ./release.nix; } { simpleName = "dhall-lsp-simple"; - binName = "dhall-lsp-server"; + binNames = [ "dhall-lsp-server" ]; attrName = "dhall-lsp-server"; } diff --git a/dhall-nix-simple.nix b/dhall-nix-simple.nix index 5c7f59f..3c3c5c5 100644 --- a/dhall-nix-simple.nix +++ b/dhall-nix-simple.nix @@ -2,6 +2,6 @@ import ./build.nix { inherit pkgs; release = import ./release.nix; } { simpleName = "dhall-nix-simple"; - binName = "dhall-to-nix"; + binNames = [ "dhall-to-nix" ]; attrName = "dhall-nix"; } diff --git a/dhall-simple.nix b/dhall-simple.nix index 3a023ba..f37bef5 100644 --- a/dhall-simple.nix +++ b/dhall-simple.nix @@ -2,6 +2,6 @@ import ./build.nix { inherit pkgs; release = import ./release.nix; } { simpleName = "dhall-simple"; - binName = "dhall"; + binNames = [ "dhall" ]; attrName = "dhall"; } diff --git a/dhall-yaml-simple.nix b/dhall-yaml-simple.nix index 7fe8c33..1c0a8cd 100644 --- a/dhall-yaml-simple.nix +++ b/dhall-yaml-simple.nix @@ -2,6 +2,6 @@ import ./build.nix { inherit pkgs; release = import ./release.nix; } { simpleName = "dhall-yaml-simple"; - binName = "dhall-to-yaml-ng"; + binNames = [ "dhall-to-yaml-ng" "yaml-to-dhall" ]; attrName = "dhall-yaml"; }