diff --git a/nix/packages/default.nix b/nix/packages/default.nix index d057b475..31b75a89 100644 --- a/nix/packages/default.nix +++ b/nix/packages/default.nix @@ -18,6 +18,13 @@ pkgs.haskell.lib.dontHaddock pkgs.haskell.lib.justStaticExecutables ]; + + infuse-lib = import sources.infuse { + inherit lib; + sugars = infuse-lib.v1.default-sugars; + }; + + infuse = lib.flip infuse-lib.v1.infuse; in rec { # fonts altiosevka = pkgs.callPackage ./altiosevka {}; @@ -85,35 +92,29 @@ in rec { hbrainfuck = mkHaskellPackage { name = "hbrainfuck"; src = sources.hbrainfuck; - # apply = p: - # p.overrideAttrs (old: { - # nativeBuildInputs = (old.nativeBuildInputs or []) ++ [pkgs.installShellFiles]; - # postInstall = - # (old.postInstall or "") - # + '' - # installShellCompletion --cmd hbrainfuck \ - # --bash <("$out/bin/hbrainfuck" --bash-completion-script "$out/bin/hbrainfuck") \ - # --fish <("$out/bin/hbrainfuck" --fish-completion-script "$out/bin/hbrainfuck") \ - # --zsh <("$out/bin/hbrainfuck" --zsh-completion-script "$out/bin/hbrainfuck") - # ''; - # }); + apply = infuse { + __output.nativeBuildInputs.__append = [pkgs.installShellFiles]; + __output.postInstall.__append = '' + installShellCompletion --cmd hbrainfuck \ + --bash <("$out/bin/hbrainfuck" --bash-completion-script "$out/bin/hbrainfuck") \ + --fish <("$out/bin/hbrainfuck" --fish-completion-script "$out/bin/hbrainfuck") \ + --zsh <("$out/bin/hbrainfuck" --zsh-completion-script "$out/bin/hbrainfuck") + ''; + }; }; prop-solveur = mkHaskellPackage { name = "prop-solveur"; src = sources.prop_solveur; - apply = p: - p.overrideAttrs (old: { - nativeBuildInputs = (old.nativeBuildInputs or []) ++ [pkgs.installShellFiles]; - postInstall = - (old.postInstall or "") - + '' - installShellCompletion --cmd prop-solveur \ - --bash <("$out/bin/prop-solveur" --bash-completion-script "$out/bin/prop-solveur") \ - --fish <("$out/bin/prop-solveur" --fish-completion-script "$out/bin/prop-solveur") \ - --zsh <("$out/bin/prop-solveur" --zsh-completion-script "$out/bin/prop-solveur") - ''; - }); + apply = infuse { + __output.nativeBuildInputs.__append = [pkgs.installShellFiles]; + __output.postInstall.__append = '' + installShellCompletion --cmd prop-solveur \ + --bash <("$out/bin/prop-solveur" --bash-completion-script "$out/bin/prop-solveur") \ + --fish <("$out/bin/prop-solveur" --fish-completion-script "$out/bin/prop-solveur") \ + --zsh <("$out/bin/prop-solveur" --zsh-completion-script "$out/bin/prop-solveur") + ''; + }; }; hutils = mkHaskellPackage { diff --git a/nix/sources.json b/nix/sources.json index 9aa59b6e..31bc98c9 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -67,6 +67,12 @@ "rev": "ee04ec425af81e762362bc2c4bcd5d89ad50ddc8", "type": "git" }, + "infuse": { + "branch": "trunk", + "repo": "https://codeberg.org/amjoseph/infuse.nix", + "rev": "c8fb7397039215e1444c835e36a0da7dc3c743f8", + "type": "git" + }, "lix": { "branch": "main", "repo": "https://git.lix.systems/lix-project/lix.git",