diff --git a/devShells/default.nix b/devShells/default.nix index 964758a..3b1618f 100644 --- a/devShells/default.nix +++ b/devShells/default.nix @@ -57,13 +57,9 @@ in pkgs.gcc pkgs.gnumake ]; - emacs-lisp = extendDevShell nix [ - ## TODO: This works on aarch64-darwin in unstable and master, but not - ## 25.05. I haven’t needed it, so it’s easier to disable until 25.11 - ## than to work around. - # pkgs.cask - pkgs.emacs - pkgs.emacsPackages.eldev + dhall = extendDevShell nix [ + pkgs.dhall + pkgs.dhall-docs ]; haskell = extendDevShell nix ([ pkgs.cabal-install @@ -88,24 +84,29 @@ in ++ [ pkgs.cargo pkgs.cargo-fuzz - pkgs.cargo-semver-checks + (pkgs.cargo-semver-checks.overrideAttrs (old: { + ## NB: Checks fail on aarch64 systems with Nixpkgs 25.11. + doCheck = !pkgs.stdenv.isAarch64; + })) pkgs.rust-analyzer pkgs.rustPackages.clippy pkgs.rustc pkgs.rustfmt (pkgs.rustup.overrideAttrs (old: { - ## NB: Fails on i686-linux with Nixpkgs 24.11. - doCheck = pkgs.system != "i686-linux"; + ## NB: Checks fail on aarch64-darwin with Nixpkgs 25.11. + doCheck = pkgs.system != "aarch64-darwin"; })) ]); } // ( if pkgs.system != sys.i686-linux then { - ## `cborg-0.2.9.0` fails to build on i686-linux - dhall = extendDevShell nix [ - pkgs.dhall - pkgs.dhall-docs + ## guile is broken on i686-linux in Nixpkgs 25.11 + emacs-lisp = extendDevShell nix [ + ## TODO: Doesn’t build on Nixpkgs 25.11 + # pkgs.cask + pkgs.emacs + pkgs.emacsPackages.eldev ]; ## `openjdk-19.0.2+7` isn’t supported on i686-linux scala = extendDevShell nix [pkgs.sbt]; diff --git a/flake.lock b/flake.lock index 1f8c340..d966bda 100644 --- a/flake.lock +++ b/flake.lock @@ -26,11 +26,11 @@ ] }, "locked": { - "lastModified": 1764551295, - "narHash": "sha256-jC68TKt+z3t8auC6Z/H/W/n/ZCfoS5mksRyLbxD5Zr8=", + "lastModified": 1766982994, + "narHash": "sha256-OGhwUC3F6RUjBuAZa7mtMuDavdWQOH0zch7SHGD8V4g=", "owner": "sellout", "repo": "bash-strict-mode", - "rev": "37eaa2e33d24168e0a903ddd9828666c1b91f867", + "rev": "15c08bfdeb2a353d27c8703ef49d27dde9953602", "type": "github" }, "original": { @@ -87,11 +87,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1765170151, - "narHash": "sha256-+xEEmpoSWckv5iXx7xmM6TFnrf6hMwbNoeGb8k2ln0M=", + "lastModified": 1767588577, + "narHash": "sha256-4AP5l787tHrrcfZgGz/fWlOiGZkS7QGi1zr8JZ+zmAo=", "owner": "sellout", "repo": "flaky", - "rev": "71bb45755c9fa8be812a9a5d47f7489ea61db5c3", + "rev": "0e29685f5512b72b7991f3f02d5a1e07482cafec", "type": "github" }, "original": { @@ -123,32 +123,32 @@ ] }, "locked": { - "lastModified": 1763992789, - "narHash": "sha256-WHkdBlw6oyxXIra/vQPYLtqY+3G8dUVZM8bEXk0t8x4=", + "lastModified": 1767514898, + "narHash": "sha256-ONYqnKrPzfKEEPChoJ9qPcfvBqW9ZgieDKD7UezWPg4=", "owner": "nix-community", "repo": "home-manager", - "rev": "44831a7eaba4360fb81f2acc5ea6de5fde90aaa3", + "rev": "7a06e8a2f844e128d3b210a000a62716b6040b7f", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-25.05", + "ref": "release-25.11", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1765136434, - "narHash": "sha256-3IZiSEpm+8sd4MxWS2cpAO3jyP+vY61G+C1Fyk7lJss=", + "lastModified": 1767563445, + "narHash": "sha256-GIyPDpWOR7a3k3yY9cPz5ymyFGxZmOG4e/FseY6e33A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "875a6ee9e533ca31f03cb5d0ee809f006204a4d9", + "rev": "044f759a4f4629f2be41e59b859753a091e3c089", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-25.05", + "ref": "release-25.11", "repo": "nixpkgs", "type": "github" } diff --git a/templates/haskell/.config/flake/outputs.nix b/templates/haskell/.config/flake/outputs.nix index ec2785a..2720bcb 100644 --- a/templates/haskell/.config/flake/outputs.nix +++ b/templates/haskell/.config/flake/outputs.nix @@ -96,7 +96,7 @@ in "ghc" + nixpkgs.lib.replaceStrings ["."] [""] version; ## TODO: Extract this automatically from `pkgs.haskellPackages`. - defaultGhcVersion = "9.8.4"; + defaultGhcVersion = "9.10.3"; ## Test the oldest revision possible for each minor release. If it’s not ## available in nixpkgs, test the oldest available, then try an older @@ -105,14 +105,11 @@ in ## maps to in the nixpkgs we depend on. testedGhcVersions = system: [ self.lib.defaultGhcVersion - "8.10.7" - "9.0.2" - "9.2.8" - "9.4.7" - "9.6.3" - "9.8.1" - "9.10.1" - "9.12.1" + "9.4.8" + "9.6.7" + "9.8.4" + "9.10.2" + "9.12.2" # "ghcHEAD" # doctest doesn’t work on current HEAD ]; @@ -138,16 +135,7 @@ in ## However, provide packages in the default overlay for _every_ ## supported version. - supportedGhcVersions = system: - self.lib.testedGhcVersions system - ++ [ - "9.4.8" - "9.6.4" - "9.6.5" - "9.8.2" - "9.10.2" - "9.12.2" - ]; + supportedGhcVersions = self.lib.testedGhcVersions; }; } // flake-utils.lib.eachSystem supportedSystems diff --git a/templates/haskell/core/{{project.name}}.cabal b/templates/haskell/core/{{project.name}}.cabal index c9ec217..41e0901 100644 --- a/templates/haskell/core/{{project.name}}.cabal +++ b/templates/haskell/core/{{project.name}}.cabal @@ -29,14 +29,14 @@ tested-with: 8.4.1, 8.6.1, 8.8.1, - 8.10.1, 8.10.7, - 9.0.1, 9.0.2, - 9.2.1, 9.2.8, - 9.4.1, 9.4.7, - 9.6.1, 9.6.3, + 8.10.1, + 9.0.1, + 9.2.1, + 9.4.1, 9.4.8, + 9.6.1, 9.6.7, 9.8.1, 9.8.4, - 9.10.1, - 9.12.1 + 9.10.1, 9.10.2, 9.10.3, + 9.12.1, 9.12.2 } homepage: https://github.com/{{project.repo}}#readme