mirror of
https://github.com/jgm/pandoc.git
synced 2026-08-23 08:46:56 +00:00
New working flake.nix.
This commit is contained in:
Generated
+3
-4
@@ -20,16 +20,15 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1683594133,
|
||||
"narHash": "sha256-iUhLhEAgOCnexSGDsYT2ouydis09uDoNzM7UC685XGE=",
|
||||
"lastModified": 1746380391,
|
||||
"narHash": "sha256-0y702Qk+CDWnmpxGbkrRuF4+n1efCxRmKlBT/uMqQsc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8d447c5626cfefb9b129d5b30103344377fe09bc",
|
||||
"rev": "3e0905a3fb9e1e6f8b0de9137386e40439d21471",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
|
||||
@@ -1,53 +1,41 @@
|
||||
{
|
||||
description = "Pandoc development";
|
||||
description = "pandoc";
|
||||
|
||||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
inputs.flake-utils.url = "github:numtide/flake-utils";
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = inputs:
|
||||
let
|
||||
overlay = final: prev: {
|
||||
haskell = prev.haskell // {
|
||||
packageOverrides = hfinal: hprev:
|
||||
prev.haskell.packageOverrides hfinal hprev // {
|
||||
crypton-connection = final.fetchFromGitHub {
|
||||
owner = "kazu-yamamoto";
|
||||
repo = "crypton-connection";
|
||||
rev = "5c064b911e7327a4d399fd9dd057663d0d0fb256";
|
||||
sha256 = "00j1nf9glbz0cnzd84vp08j9ybzjbm3b6gcamlqxxcjb31kllz4b";
|
||||
};
|
||||
pandoc = hfinal.callCabal2nix "pandoc" ./. { };
|
||||
};
|
||||
};
|
||||
pandoc = final.haskell.lib.compose.justStaticExecutables final.haskellPackages.pandoc;
|
||||
};
|
||||
perSystem = system:
|
||||
let
|
||||
pkgs = import inputs.nixpkgs { inherit system; overlays = [ overlay ]; };
|
||||
hspkgs = pkgs.haskellPackages;
|
||||
in
|
||||
{
|
||||
devShell = hspkgs.shellFor {
|
||||
withHoogle = true;
|
||||
packages = p : [
|
||||
p.pandoc
|
||||
];
|
||||
buildInputs = [
|
||||
hspkgs.cabal-install
|
||||
hspkgs.haskell-language-server
|
||||
hspkgs.hlint
|
||||
hspkgs.ghcid
|
||||
hspkgs.ormolu
|
||||
hspkgs.stylish-haskell
|
||||
hspkgs.weeder
|
||||
hspkgs.servant-server
|
||||
hspkgs.hslua
|
||||
pkgs.bashInteractive
|
||||
];
|
||||
outputs = { self, nixpkgs, flake-utils }:
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
|
||||
haskellPackages = pkgs.haskellPackages;
|
||||
|
||||
jailbreakUnbreak = pkg:
|
||||
pkgs.haskell.lib.doJailbreak (pkg.overrideAttrs (_: { meta = { }; }));
|
||||
|
||||
# DON'T FORGET TO PUT YOUR PACKAGE NAME HERE, REMOVING `throw`
|
||||
packageName = "pandoc";
|
||||
in {
|
||||
packages.${packageName} =
|
||||
haskellPackages.callCabal2nix packageName self rec {
|
||||
# Dependency overrides go here
|
||||
};
|
||||
defaultPackage = pkgs.pandoc;
|
||||
|
||||
packages.default = self.packages.${system}.${packageName};
|
||||
defaultPackage = self.packages.${system}.default;
|
||||
|
||||
devShells.default = pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
haskellPackages.haskell-language-server # you must build it with your ghc to work
|
||||
zlib
|
||||
ghcid
|
||||
cabal-install
|
||||
];
|
||||
inputsFrom = map (__getAttr "env") (__attrValues self.packages.${system});
|
||||
};
|
||||
in
|
||||
{ inherit overlay; } //
|
||||
inputs.flake-utils.lib.eachDefaultSystem perSystem;
|
||||
devShell = self.devShells.${system}.default;
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user