diff --git a/flake.lock b/flake.lock index 95b4608..a1d4d7c 100644 --- a/flake.lock +++ b/flake.lock @@ -1,12 +1,15 @@ { "nodes": { "flake-utils": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1692799911, + "narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44", "type": "github" }, "original": { @@ -15,59 +18,40 @@ "type": "github" } }, - "nixpkgs_2009": { + "nixpkgs": { "locked": { - "lastModified": 1651477912, - "narHash": "sha256-YDFgJElf0ZL977+fo6ueQAmpb6lwrw1lzDlxLEINVXE=", + "lastModified": 1692794812, + "narHash": "sha256-lEVkjqiIyjAkkWwP2IadNzKur3NpBrvK6g8tJk1r458=", "owner": "nixos", "repo": "nixpkgs", - "rev": "66b0db71f463164486a36dded50bedee185e45c2", + "rev": "8b5b7def915305c7d4f5cf236c095bf898bc7995", "type": "github" }, "original": { "owner": "nixos", - "ref": "release-20.09", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2105": { - "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "release-21.05", "repo": "nixpkgs", + "rev": "8b5b7def915305c7d4f5cf236c095bf898bc7995", "type": "github" } }, "root": { "inputs": { "flake-utils": "flake-utils", - "nixpkgs_2009": "nixpkgs_2009", - "nixpkgs_2105": "nixpkgs_2105", - "unstable": "unstable" + "nixpkgs": "nixpkgs" } }, - "unstable": { + "systems": { "locked": { - "lastModified": 1680728981, - "narHash": "sha256-ZhsViPJJvET7iLyD9ey63q6GwPKquDqIbOn2letvb/A=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "38263d02cf3a22e011e137b8f67cdf8419f28015", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", + "owner": "nix-systems", + "repo": "default", "type": "github" } } diff --git a/flake.nix b/flake.nix index 625ac55..45c0451 100644 --- a/flake.nix +++ b/flake.nix @@ -2,26 +2,22 @@ description = "Higher-order, low-boilerplate free monads."; inputs = { - nixpkgs_2009.url = github:nixos/nixpkgs/release-20.09; - nixpkgs_2105.url = github:nixos/nixpkgs/release-21.05; - unstable.url = github:nixos/nixpkgs/nixpkgs-unstable; - flake-utils.url = github:numtide/flake-utils; + nixpkgs.url = "github:nixos/nixpkgs/8b5b7def915305c7d4f5cf236c095bf898bc7995"; + flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { nixpkgs_2009, nixpkgs_2105, unstable, flake-utils, ... }: + outputs = {nixpkgs, flake-utils, ...}: flake-utils.lib.eachSystem ["x86_64-linux"] (system: - with unstable.lib; + with nixpkgs.lib; let hsPkgs = nixpkgs: compiler: import ./nix/overlay.nix { inherit system nixpkgs compiler; }; ghcs = { - "865" = hsPkgs nixpkgs_2009 "ghc865"; - "884" = hsPkgs nixpkgs_2105 "ghc884"; - "810" = hsPkgs unstable "ghc810"; - "90" = hsPkgs unstable "ghc90"; - "92" = hsPkgs unstable "ghc92"; - "94" = hsPkgs unstable "ghc94"; - "96" = hsPkgs unstable "ghc96"; + "810" = hsPkgs nixpkgs "ghc810"; + "90" = hsPkgs nixpkgs "ghc90"; + "92" = hsPkgs nixpkgs "ghc92"; + "94" = hsPkgs nixpkgs "ghc94"; + "96" = hsPkgs nixpkgs "ghc96"; }; mkPackages = version: { @@ -40,7 +36,7 @@ packages = p: [p.polysemy p.polysemy-plugin]; buildInputs = with ghc; [ cabal-install - ] ++ unstable.lib.optionals (name != "96") [ + ] ++ nixpkgs.lib.optionals (name != "96") [ (ghc.pkgs.haskell.lib.dontCheck ghcid) haskell-language-server ]; diff --git a/nix/overlay.nix b/nix/overlay.nix index 0995e4e..7d0493b 100644 --- a/nix/overlay.nix +++ b/nix/overlay.nix @@ -16,11 +16,7 @@ let polysemy = c2n "polysemy" ../.; polysemy-plugin = c2n "polysemy-plugin" ../polysemy-plugin; } // pkgs.lib.optionalAttrs (compiler == "ghc96") { - type-errors = self.callHackageDirect { - pkg = "type-errors"; - ver = "0.2.0.2"; - sha256 = "sha256-z/QANg5jUhSc02IBVQEsg7QemiyV3XdwxN9K1CH2Myc="; - } {}; + type-errors = pkgs.haskell.lib.doJailbreak super.type-errors; }; in pkgs.haskell.packages.${compiler}.override { inherit overrides; } // { inherit pkgs; } diff --git a/package.yaml b/package.yaml index b015286..d07d787 100644 --- a/package.yaml +++ b/package.yaml @@ -82,7 +82,7 @@ tests: - polysemy - inspection-testing >= 0.4.2 && < 0.6 - hspec >= 2.6.0 && < 3 - - doctest >= 0.16.0.1 && < 0.22 + - doctest >= 0.16.0.1 && < 0.23 - hspec-discover >= 2.0 generated-other-modules: - Build_doctests diff --git a/polysemy-plugin/package.yaml b/polysemy-plugin/package.yaml index 3995b7d..c4db549 100644 --- a/polysemy-plugin/package.yaml +++ b/polysemy-plugin/package.yaml @@ -63,7 +63,7 @@ tests: - hspec >= 2.6.0 && < 3 - should-not-typecheck >= 2.1.0 && < 3 - inspection-testing >= 0.4.2 && < 0.6 - - doctest >= 0.16.0.1 && < 0.22 + - doctest >= 0.16.0.1 && < 0.23 generated-other-modules: - Build_doctests diff --git a/polysemy-plugin/polysemy-plugin.cabal b/polysemy-plugin/polysemy-plugin.cabal index e49dd43..e9b1ff6 100644 --- a/polysemy-plugin/polysemy-plugin.cabal +++ b/polysemy-plugin/polysemy-plugin.cabal @@ -111,7 +111,7 @@ test-suite polysemy-plugin-test build-depends: base >=4.9 && <5 , containers >=0.5 && <0.7 - , doctest >=0.16.0.1 && <0.22 + , doctest >=0.16.0.1 && <0.23 , ghc >=8.6.5 && <10 , ghc-tcplugins-extra >=0.3 && <0.5 , hspec >=2.6.0 && <3 diff --git a/polysemy.cabal b/polysemy.cabal index 1b71b4a..5fe10f9 100644 --- a/polysemy.cabal +++ b/polysemy.cabal @@ -167,7 +167,7 @@ test-suite polysemy-test async >=2.2 && <3 , base >=4.9 && <5 , containers >=0.5 && <0.7 - , doctest >=0.16.0.1 && <0.22 + , doctest >=0.16.0.1 && <0.23 , first-class-families >=0.5.0.0 && <0.9 , hspec >=2.6.0 && <3 , hspec-discover >=2.0