diff --git a/nix/packages/by-name/ruler/package.nix b/nix/packages/by-name/ruler/package.nix index ca648f29..8b7b131a 100644 --- a/nix/packages/by-name/ruler/package.nix +++ b/nix/packages/by-name/ruler/package.nix @@ -2,8 +2,9 @@ haskellPackages, haskell, fetchFromGitea, + installShellFiles, }: let - inherit (haskell.lib.compose) justStaticExecutables; + inherit (haskell.lib.compose) justStaticExecutables overrideCabal; drv = haskellPackages.callCabal2nix "ruler" @@ -15,5 +16,18 @@ hash = "sha256-gWW5rcL3NI0BExEVqXL+avk7z1/4WYEwEwjtZjqSXNM="; }) {}; + + cabalOverrides = o: { + buildTools = o.buildTools or [] ++ [installShellFiles]; + postInstall = + o.postInstall or "" + + '' + installShellCompletion --cmd ruler \ + --bash <("$out/bin/ruler" --bash-completion-script "$out/bin/ruler") \ + --fish <("$out/bin/ruler" --fish-completion-script "$out/bin/ruler") \ + --zsh <("$out/bin/ruler" --zsh-completion-script "$out/bin/ruler") + ''; + }; in - justStaticExecutables drv + justStaticExecutables + (overrideCabal cabalOverrides drv)