Skip to content

Commit

Permalink
use flake-utils.eachSystem
Browse files Browse the repository at this point in the history
  • Loading branch information
wavewave committed May 16, 2022
1 parent 7d46709 commit d457c17
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 43 deletions.
22 changes: 19 additions & 3 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

87 changes: 47 additions & 40 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -1,48 +1,55 @@
{
description = "concat";
inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.11"; };
outputs = { self, nixpkgs }:
let
pkgs = nixpkgs.legacyPackages.x86_64-linux;
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.11";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" ] (system:
let
pkgs = import nixpkgs { inherit system; };

haskellOverlay = self: super: {
"concat-inline" = pkgs.haskell.lib.dontHaddock
(self.callCabal2nix "concat-inline" ./inline { });
"concat-plugin" = self.callCabal2nix "concat-plugin" ./plugin { };
"concat-classes" = self.callCabal2nix "concat-classes" ./classes { };
"concat-satisfy" = self.callCabal2nix "concat-satisfy" ./satisfy { };
"concat-known" = self.callCabal2nix "concat-known" ./known { };
#"concat-hardware" = self.callCabal2nix "concat-hardware" ./hardware { };
"concat-graphics" = self.callCabal2nix "concat-graphics" ./graphics { };
"concat-examples" = pkgs.haskell.lib.dontHaddock
(self.callCabal2nix "concat-examples" ./examples { });
};
haskellOverlay = self: super: {
"concat-inline" = pkgs.haskell.lib.dontHaddock
(self.callCabal2nix "concat-inline" ./inline { });
"concat-plugin" = self.callCabal2nix "concat-plugin" ./plugin { };
"concat-classes" = self.callCabal2nix "concat-classes" ./classes { };
"concat-satisfy" = self.callCabal2nix "concat-satisfy" ./satisfy { };
"concat-known" = self.callCabal2nix "concat-known" ./known { };
#"concat-hardware" = self.callCabal2nix "concat-hardware" ./hardware { };
"concat-graphics" =
self.callCabal2nix "concat-graphics" ./graphics { };
"concat-examples" = pkgs.haskell.lib.dontHaddock
(self.callCabal2nix "concat-examples" ./examples { });
};

newHaskellPackages =
pkgs.haskellPackages.override { overrides = haskellOverlay; };
newHaskellPackages =
pkgs.haskellPackages.override { overrides = haskellOverlay; };

in {
packages.x86_64-linux = {
inherit (newHaskellPackages)
concat-inline concat-plugin concat-classes concat-satisfy concat-known
#concat-hardware
concat-graphics concat-examples;
};
in {
packages = {
inherit (newHaskellPackages)
concat-inline concat-plugin concat-classes concat-satisfy
concat-known
#concat-hardware
concat-graphics concat-examples;
};

# see these issues and discussions:
# - https://github.com/NixOS/nixpkgs/issues/16394
# - https://github.com/NixOS/nixpkgs/issues/25887
# - https://github.com/NixOS/nixpkgs/issues/26561
# - https://discourse.nixos.org/t/nix-haskell-development-2020/6170
overlay = final: prev: {
haskellPackages = prev.haskellPackages.override (old: {
overrides = final.lib.composeExtensions (old.overrides or (_: _: { }))
haskellOverlay;
});
};
# see these issues and discussions:
# - https://github.com/NixOS/nixpkgs/issues/16394
# - https://github.com/NixOS/nixpkgs/issues/25887
# - https://github.com/NixOS/nixpkgs/issues/26561
# - https://discourse.nixos.org/t/nix-haskell-development-2020/6170
overlay = final: prev: {
haskellPackages = prev.haskellPackages.override (old: {
overrides =
final.lib.composeExtensions (old.overrides or (_: _: { }))
haskellOverlay;
});
};

devShell.x86_64-linux = let
hsenv = pkgs.haskellPackages.ghcWithPackages (p: [ p.cabal-install ]);
in pkgs.mkShell { buildInputs = [ hsenv ]; };
};
devShell = let
hsenv = pkgs.haskellPackages.ghcWithPackages (p: [ p.cabal-install ]);
in pkgs.mkShell { buildInputs = [ hsenv ]; };
});
}

0 comments on commit d457c17

Please sign in to comment.