.files/nix/packages/by-name/ruler/package.nix

30 lines
1.1 KiB
Nix

# Use the following to start a hoogle server for the project
# nix-shell -E 'with import ./. {}; packages.ruler.envFunc{withHoogle = true;}' --run "hoogle server --local"
{
haskellPackages,
haskell,
fetchFromGitea,
installShellFiles,
}:
let
inherit (haskell.lib.compose) justStaticExecutables overrideCabal;
drv = haskellPackages.callCabal2nix "ruler" (fetchFromGitea {
domain = "git.confusedcompiler.org";
owner = "leana8959";
repo = "ruler";
rev = "72069c79bd6540fb9a1ee941fa2502edd6853af8";
hash = "sha256-UQYx1WoWxASnWINtlTE2zMrADBketo/bgo5aud5j8Og=";
}) { };
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 (overrideCabal cabalOverrides drv)