|
4 | 4 | flake-utils.url = "github:numtide/flake-utils";
|
5 | 5 | };
|
6 | 6 |
|
7 |
| - outputs = { nixpkgs, self, flake-utils }: |
| 7 | + outputs = { self, nixpkgs, flake-utils }: |
8 | 8 | # flake-utils.lib.eachDefaultSystem (system:
|
9 | 9 | let
|
10 |
| - compiler = "ghc948"; |
11 | 10 | system = flake-utils.lib.system.x86_64-linux;
|
12 |
| - hPkgs = pkgs.haskell.packages."${compiler}"; |
13 |
| - devTools = with pkgs; [ |
14 |
| - asciinema |
15 |
| - asciinema-agg |
16 |
| - cabal2nix |
17 |
| - imagemagick |
18 |
| - zlib |
19 |
| - ]; |
| 11 | + pkgs = nixpkgs.legacyPackages.${system}; |
20 | 12 |
|
21 |
| - haskDevTools = with hPkgs; [ |
22 |
| - ghc |
23 |
| - ghcid |
24 |
| - fourmolu |
25 |
| - hlint |
26 |
| - haskell-language-server |
27 |
| - implicit-hie |
28 |
| - retrie |
29 |
| - cabal-install |
30 |
| - ]; |
31 |
| - |
32 |
| - tools = devTools ++ haskDevTools; |
33 |
| - |
34 |
| - pkgs = import nixpkgs { |
35 |
| - inherit system; |
36 |
| - overlays = [ self.overlays.all ]; |
37 |
| - }; |
| 13 | + outputSet = pkgs: |
| 14 | + with pkgs; rec { |
| 15 | + awscost = callPackage ./packages/awscost.nix { }; |
| 16 | + booknote = callPackage ./packages/booknote.nix { inherit pdftc; }; |
| 17 | + epubthumb = callPackage ./packages/epubthumb.nix { }; |
| 18 | + mdtopdf = callPackage ./packages/mdtopdf.nix { }; |
| 19 | + newcover = haskell.packages.ghc948.callCabal2nix "" ./newcover { }; |
| 20 | + pdftc = callPackage ./packages/pdftc.nix { }; |
| 21 | + roamamer = callPackage ./packages/roamamer.nix { }; |
| 22 | + seder = callPackage ./packages/seder.nix { }; |
| 23 | + transcribe = callPackage ./packages/transcribe.nix { }; |
| 24 | + }; |
38 | 25 |
|
39 | 26 | in {
|
40 |
| - devShells.${system}.default = pkgs.mkShell { |
41 |
| - buildInputs = tools; |
42 |
| - LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath tools; |
43 |
| - }; |
44 |
| - |
45 |
| - packages.${system} = with pkgs; { |
46 |
| - inherit awscost; |
47 |
| - inherit booknote; |
48 |
| - inherit epubthumb; |
49 |
| - inherit mdtopdf; |
50 |
| - inherit newcover; |
51 |
| - inherit pdftc; |
52 |
| - inherit roamamer; |
53 |
| - inherit seder; |
54 |
| - inherit transcribe; |
55 |
| - }; |
56 |
| - |
57 |
| - overlays = { |
58 |
| - all = final: prev: { |
59 |
| - awscost = prev.callPackage ./packages/awscost.nix { }; |
60 |
| - booknote = prev.callPackage ./packages/booknote.nix { }; |
61 |
| - epubthumb = prev.callPackage ./packages/epubthumb.nix { }; |
62 |
| - mdtopdf = prev.callPackage ./packages/mdtopdf.nix { }; |
63 |
| - newcover = prev.haskell.packages.${compiler}.callPackage ./. { }; |
64 |
| - pdftc = prev.callPackage ./packages/pdftc.nix { }; |
65 |
| - roamamer = prev.callPackage ./packages/roamamer.nix { }; |
66 |
| - seder = prev.callPackage ./packages/seder.nix { }; |
67 |
| - transcribe = prev.callPackage ./packages/transcribe.nix { }; |
68 |
| - }; |
69 |
| - }; |
| 27 | + devShells.${system}.default = pkgs.callPackage ./devenv.nix { }; |
| 28 | + checks.${system} = outputSet pkgs; |
| 29 | + packages.${system} = outputSet pkgs; |
| 30 | + overlays = { all = final: prev: outputSet prev; }; |
70 | 31 | };
|
71 | 32 | }
|
0 commit comments