nixpkgs-update/pkgs/default.nix

68 lines
1.8 KiB
Nix
Raw Normal View History

2021-08-25 06:23:54 +03:00
{ nixpkgs
, mmdoc
, system
, self
, ...
}:
let
pkgs = import nixpkgs { inherit system; config = { allowBroken = true; }; };
drvAttrs = attrs: with pkgs; {
NIX = nix;
GIT = git;
JQ = jq;
TREE = tree;
GIST = gist;
# TODO: are there more coreutils paths that need locking down?
TIMEOUT = coreutils;
NIXPKGSREVIEW = nixpkgs-review;
2021-08-25 06:23:54 +03:00
};
haskellPackages = pkgs.haskellPackages.override {
overrides = _: haskellPackages: {
polysemy-plugin = pkgs.haskell.lib.dontCheck haskellPackages.polysemy-plugin;
polysemy = pkgs.haskell.lib.dontCheck haskellPackages.polysemy;
2023-01-02 04:08:21 +03:00
http-api-data = pkgs.haskell.lib.doJailbreak haskellPackages.http-api-data;
2021-08-25 06:23:54 +03:00
nixpkgs-update =
pkgs.haskell.lib.justStaticExecutables (
pkgs.haskell.lib.failOnAllWarnings (
pkgs.haskell.lib.disableExecutableProfiling (
pkgs.haskell.lib.disableLibraryProfiling (
pkgs.haskell.lib.generateOptparseApplicativeCompletion "nixpkgs-update" (
(haskellPackages.callPackage ../nixpkgs-update.nix { }).overrideAttrs drvAttrs
2021-08-25 06:23:54 +03:00
)
)
)
)
);
};
};
shell = haskellPackages.shellFor {
nativeBuildInputs = with pkgs; [
cabal-install
ghcid
2023-01-02 04:08:21 +03:00
haskellPackages.cabal2nix
2021-08-25 06:23:54 +03:00
];
packages = ps: [ ps.nixpkgs-update ];
shellHook = ''
'';
};
doc = pkgs.stdenvNoCC.mkDerivation rec {
name = "nixpkgs-update-doc";
src = self;
phases = [ "mmdocPhase" ];
mmdocPhase = "${mmdoc.packages.${system}.mmdoc}/bin/mmdoc nixpkgs-update $src/doc $out";
};
in
{
nixpkgs-update = haskellPackages.nixpkgs-update;
2023-01-02 02:29:41 +03:00
default = haskellPackages.nixpkgs-update;
2021-08-25 06:23:54 +03:00
nixpkgs-update-doc = doc;
devShell = shell;
}