|
178 | 178 | chmod +x $dest
|
179 | 179 | '';
|
180 | 180 | };
|
181 |
| - } // (flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]) |
| 181 | + } // (flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]) |
182 | 182 | (system:
|
183 | 183 | let
|
184 | 184 | pkgs = import nixpkgs {
|
|
187 | 187 | config = { allowBroken = true; };
|
188 | 188 | };
|
189 | 189 |
|
190 |
| - ghc902Config = (import ./configuration-ghc-90.nix) { inherit pkgs inputs; }; |
191 |
| - ghc927Config = (import ./configuration-ghc-92.nix) { inherit pkgs inputs; }; |
192 |
| - ghc944Config = (import ./configuration-ghc-94.nix) { inherit pkgs inputs; }; |
193 |
| - ghc961Config = (import ./configuration-ghc-96.nix) { inherit pkgs inputs; }; |
| 190 | + ghc90Config = (import ./configuration-ghc-90.nix) { inherit pkgs inputs; }; |
| 191 | + ghc92Config = (import ./configuration-ghc-92.nix) { inherit pkgs inputs; }; |
| 192 | + ghc94Config = (import ./configuration-ghc-94.nix) { inherit pkgs inputs; }; |
| 193 | + ghc96Config = (import ./configuration-ghc-96.nix) { inherit pkgs inputs; }; |
194 | 194 |
|
195 | 195 | # GHC versions
|
196 | 196 | # While HLS still works fine with 8.10 GHCs, we only support the versions that are cached
|
197 | 197 | # by upstream nixpkgs, which now only includes GHC version 9+
|
198 | 198 | supportedGHCs = let
|
199 |
| - ghcVersion = "ghc" + (pkgs.lib.replaceStrings ["."] [""] pkgs.haskellPackages.ghc.version); |
| 199 | + ghcVersion = "ghc" + (builtins.concatStringsSep "" (pkgs.lib.lists.init (builtins.splitVersion pkgs.haskellPackages.ghc.version))); |
200 | 200 | cases = {
|
201 |
| - ghc902 = ghc902Config.tweakHpkgs (pkgs.hlsHpkgs "ghc902"); |
202 |
| - ghc927 = ghc927Config.tweakHpkgs (pkgs.hlsHpkgs "ghc927"); |
203 |
| - ghc944 = ghc944Config.tweakHpkgs (pkgs.hlsHpkgs "ghc944"); |
204 |
| - ghc961 = ghc961Config.tweakHpkgs (pkgs.hlsHpkgs "ghc961"); |
| 201 | + ghc90 = ghc90Config.tweakHpkgs (pkgs.hlsHpkgs "ghc90"); |
| 202 | + ghc92 = ghc92Config.tweakHpkgs (pkgs.hlsHpkgs "ghc92"); |
| 203 | + ghc94 = ghc94Config.tweakHpkgs (pkgs.hlsHpkgs "ghc94"); |
| 204 | + ghc96 = ghc96Config.tweakHpkgs (pkgs.hlsHpkgs "ghc96"); |
205 | 205 | };
|
206 |
| - in { default = cases."${ghcVersion}"; } // cases; |
| 206 | + in { default = cases."${ghcVersion}"; } // cases; |
207 | 207 |
|
208 |
| - ghc902 = supportedGHCs.ghc902; |
209 |
| - ghc927 = supportedGHCs.ghc927; |
210 |
| - ghc944 = supportedGHCs.ghc944; |
211 |
| - ghc961 = supportedGHCs.ghc961; |
| 208 | + ghc90 = supportedGHCs.ghc90; |
| 209 | + ghc92 = supportedGHCs.ghc92; |
| 210 | + ghc94 = supportedGHCs.ghc94; |
| 211 | + ghc96 = supportedGHCs.ghc96; |
212 | 212 | ghcDefault = supportedGHCs.default;
|
213 | 213 |
|
214 | 214 | pythonWithPackages = pkgs.python3.withPackages (ps: [ps.sphinx ps.myst-parser ps.sphinx_rtd_theme ps.pip]);
|
|
327 | 327 | # Developement shell with only compiler
|
328 | 328 | simpleDevShells = {
|
329 | 329 | haskell-language-server-dev = mkDevShell ghcDefault "cabal.project";
|
330 |
| - haskell-language-server-902-dev = mkDevShell ghc902 "cabal.project"; |
331 |
| - haskell-language-server-927-dev = mkDevShell ghc927 "cabal.project"; |
332 |
| - haskell-language-server-944-dev = mkDevShell ghc944 "cabal.project"; |
333 |
| - haskell-language-server-961-dev = mkDevShell ghc961 "cabal.project"; |
| 330 | + haskell-language-server-90-dev = mkDevShell ghc90 "cabal.project"; |
| 331 | + haskell-language-server-92-dev = mkDevShell ghc92 "cabal.project"; |
| 332 | + haskell-language-server-94-dev = mkDevShell ghc94 "cabal.project"; |
| 333 | + haskell-language-server-96-dev = mkDevShell ghc96 "cabal.project"; |
334 | 334 | };
|
335 | 335 |
|
336 | 336 | # Developement shell, haskell packages are also provided by nix
|
337 | 337 | nixDevShells = {
|
338 | 338 | haskell-language-server-dev-nix = mkDevShellWithNixDeps ghcDefault "cabal.project";
|
339 |
| - haskell-language-server-902-dev-nix = mkDevShellWithNixDeps ghc902 "cabal.project"; |
340 |
| - haskell-language-server-927-dev-nix = mkDevShellWithNixDeps ghc927 "cabal.project"; |
341 |
| - haskell-language-server-944-dev-nix = mkDevShellWithNixDeps ghc944 "cabal.project"; |
342 |
| - haskell-language-server-961-dev-nix = mkDevShellWithNixDeps ghc961 "cabal.project"; |
| 339 | + haskell-language-server-90-dev-nix = mkDevShellWithNixDeps ghc90 "cabal.project"; |
| 340 | + haskell-language-server-92-dev-nix = mkDevShellWithNixDeps ghc92 "cabal.project"; |
| 341 | + haskell-language-server-94-dev-nix = mkDevShellWithNixDeps ghc94 "cabal.project"; |
| 342 | + haskell-language-server-96-dev-nix = mkDevShellWithNixDeps ghc96 "cabal.project"; |
343 | 343 | };
|
344 | 344 |
|
345 | 345 | # The default shell provided by Nixpkgs for a Haskell package (i.e. the
|
346 | 346 | # one that comes in the `.env` attribute)
|
347 | 347 | envShells = {
|
348 | 348 | haskell-language-server-dev-env = mkEnvShell ghcDefault;
|
349 |
| - haskell-language-server-902-dev-env = mkEnvShell ghc902; |
350 |
| - haskell-language-server-927-dev-env = mkEnvShell ghc927; |
351 |
| - haskell-language-server-944-dev-env = mkEnvShell ghc944; |
352 |
| - haskell-language-server-961-dev-env = mkEnvShell ghc961; |
| 349 | + haskell-language-server-90-dev-env = mkEnvShell ghc90; |
| 350 | + haskell-language-server-92-dev-env = mkEnvShell ghc92; |
| 351 | + haskell-language-server-94-dev-env = mkEnvShell ghc94; |
| 352 | + haskell-language-server-96-dev-env = mkEnvShell ghc96; |
353 | 353 | };
|
354 | 354 |
|
355 | 355 | allPackages = {
|
356 | 356 | haskell-language-server = mkExe ghcDefault;
|
357 |
| - haskell-language-server-902 = mkExe ghc902; |
358 |
| - haskell-language-server-927 = mkExe ghc927; |
359 |
| - haskell-language-server-944 = mkExe ghc944; |
360 |
| - haskell-language-server-961 = mkExe ghc961; |
| 357 | + haskell-language-server-90 = mkExe ghc90; |
| 358 | + haskell-language-server-92 = mkExe ghc92; |
| 359 | + haskell-language-server-94 = mkExe ghc94; |
| 360 | + haskell-language-server-96 = mkExe ghc96; |
361 | 361 | };
|
362 | 362 |
|
363 | 363 | devShells = simpleDevShells // nixDevShells // envShells // {
|
|
0 commit comments