|
77 | 77 | outputs =
|
78 | 78 | inputs@{ self, nixpkgs, flake-compat, flake-utils, pre-commit-hooks, gitignore, ... }:
|
79 | 79 | {
|
80 |
| - overlay = final: prev: |
| 80 | + overlays.default = final: prev: |
81 | 81 | with prev;
|
82 | 82 | let
|
83 | 83 | haskellOverrides = hself: hsuper: {
|
|
179 | 179 | let
|
180 | 180 | pkgs = import nixpkgs {
|
181 | 181 | inherit system;
|
182 |
| - overlays = [ self.overlay inputs.poetry2nix.overlay ]; |
| 182 | + overlays = [ self.overlays.default inputs.poetry2nix.overlay ]; |
183 | 183 | config = { allowBroken = true; };
|
184 | 184 | };
|
185 | 185 |
|
|
214 | 214 | };
|
215 | 215 | };
|
216 | 216 |
|
217 |
| - ghc901Config = (import ./configuration-ghc-901.nix) { inherit pkgs; }; |
| 217 | + ghc902Config = (import ./configuration-ghc-902.nix) { inherit pkgs; }; |
218 | 218 | ghc922Config = (import ./configuration-ghc-922.nix) { inherit pkgs inputs; };
|
219 | 219 |
|
220 | 220 | # GHC versions
|
|
223 | 223 | pkgs.haskellPackages.ghc.version);
|
224 | 224 | ghc884 = pkgs.hlsHpkgs "ghc884";
|
225 | 225 | ghc8107 = pkgs.hlsHpkgs "ghc8107";
|
226 |
| - ghc901 = ghc901Config.tweakHpkgs (pkgs.hlsHpkgs "ghc901"); |
| 226 | + ghc902 = ghc902Config.tweakHpkgs (pkgs.hlsHpkgs "ghc902"); |
227 | 227 | ghc922 = ghc922Config.tweakHpkgs (pkgs.hlsHpkgs "ghc922");
|
228 | 228 |
|
229 | 229 | # For markdown support
|
|
295 | 295 | export PATH=$PATH:$HOME/.local/bin
|
296 | 296 |
|
297 | 297 | # Enable the shell hooks
|
298 |
| - ${(pre-commit-check ghcDefault).shellHook} |
| 298 | + ${self.checks.${system}.pre-commit-check.shellHook} |
299 | 299 |
|
300 | 300 | # If the cabal project file is not the default one.
|
301 | 301 | # Print a warning and generate an alias.
|
|
351 | 351 | haskell-language-server-dev = mkDevShell ghcDefault "cabal.project";
|
352 | 352 | haskell-language-server-884-dev = mkDevShell ghc884 "cabal.project";
|
353 | 353 | haskell-language-server-8107-dev = mkDevShell ghc8107 "cabal.project";
|
354 |
| - haskell-language-server-901-dev = mkDevShell ghc901 "cabal.project"; |
355 |
| - haskell-language-server-922-dev = mkDevShell ghc921 "cabal-ghc92.project"; |
| 354 | + haskell-language-server-902-dev = mkDevShell ghc902 "cabal.project"; |
| 355 | + haskell-language-server-922-dev = mkDevShell ghc922 "cabal-ghc92.project"; |
356 | 356 | };
|
357 | 357 |
|
358 | 358 | # Developement shell, haskell packages are also provided by nix
|
359 | 359 | nixDevShells = {
|
360 | 360 | haskell-language-server-dev-nix = mkDevShellWithNixDeps ghcDefault "cabal.project";
|
361 | 361 | haskell-language-server-884-dev-nix = mkDevShellWithNixDeps ghc884 "cabal.project";
|
362 | 362 | haskell-language-server-8107-dev-nix = mkDevShellWithNixDeps ghc8107 "cabal.project";
|
363 |
| - haskell-language-server-901-dev-nix = mkDevShellWithNixDeps ghc901 "cabal.project"; |
| 363 | + haskell-language-server-902-dev-nix = mkDevShellWithNixDeps ghc902 "cabal.project"; |
364 | 364 | haskell-language-server-922-dev-nix = mkDevShellWithNixDeps ghc921 "cabal-ghc92.project";
|
365 | 365 | };
|
366 | 366 |
|
367 | 367 | allPackages = {
|
368 | 368 | haskell-language-server = mkExe ghcDefault;
|
369 | 369 | haskell-language-server-884 = mkExe ghc884;
|
370 | 370 | haskell-language-server-8107 = mkExe ghc8107;
|
371 |
| - haskell-language-server-901 = mkExe ghc901; |
| 371 | + haskell-language-server-902 = mkExe ghc902; |
372 | 372 | haskell-language-server-922 = mkExe ghc922;
|
373 | 373 | };
|
374 | 374 |
|
375 |
| - devShells = simpleDevShells // nixDevShells; |
| 375 | + devShells = simpleDevShells // nixDevShells // { |
| 376 | + default = simpleDevShells.haskell-language-server-dev; |
| 377 | + inherit (self.checks.${system}.pre-commit-check) shellHook; |
| 378 | + }; |
376 | 379 |
|
377 | 380 | packages = allPackages // {
|
| 381 | + default = allPackages.haskell-language-server; |
| 382 | + |
378 | 383 | # See https://github.com/NixOS/nix/issues/5591
|
379 | 384 | # nix flake cannot build a list/set of derivation in one command.
|
380 | 385 | # Using a linkFarmFromDrvs, I'm creating a unique entry point to
|
|
392 | 397 | docs = docs;
|
393 | 398 | };
|
394 | 399 |
|
395 |
| - defaultPackage = packages.haskell-language-server; |
| 400 | + checks = { pre-commit-check = pre-commit-check ghcDefault; }; |
396 | 401 |
|
397 |
| - devShell = devShells.haskell-language-server-922-dev; |
398 | 402 | });
|
399 | 403 |
|
400 | 404 | nixConfig = {
|
|
0 commit comments