diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d5b96f9..91c8f5b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,18 +6,22 @@ on: branches: main jobs: + generate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - id: generate + uses: freckle/stack-action/generate-matrix@v5 + outputs: + stack-yamls: ${{ steps.generate.outputs.stack-yamls }} + test: runs-on: ubuntu-latest + needs: generate strategy: matrix: - stack-yaml: - - stack.yaml # ghc-9.2 - - stack-lts-19.1.yaml # ghc-9.0 - - stack-lts-18.28.yaml # ghc-8.10 - - stack-lts-16.31.yaml # ghc-8.8 - - stack-lts-14.27.yaml # ghc-8.6 - - stack-lts-12.26.yaml # ghc-8.4 + stack-yaml: ${{ fromJSON(needs.generate.outputs.stack-yamls) }} fail-fast: false steps: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 23313f8..814bd80 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,6 +16,6 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - if: steps.tag.outputs.tag - uses: freckle/stack-upload-action@v2 + run: stack upload --pvp-bounds lower . env: - HACKAGE_API_KEY: ${{ secrets.HACKAGE_UPLOAD_API_KEY }} + HACKAGE_KEY: ${{ secrets.HACKAGE_UPLOAD_API_KEY }} diff --git a/.gitignore b/.gitignore index 8ee1bf9..deedbf7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ +.direnv +.envrc .stack-work +stack-*.lock +stack.*.lock diff --git a/flake.lock b/flake.lock index 83f0ccc..ba26b36 100644 --- a/flake.lock +++ b/flake.lock @@ -1,15 +1,65 @@ { "nodes": { + "autodocodec": { + "flake": false, + "locked": { + "lastModified": 1722952210, + "narHash": "sha256-+vz0En2dkS0nfOq12QAJtV6GcdP0WoDv7HwzrMIsnGo=", + "owner": "NorfairKing", + "repo": "autodocodec", + "rev": "ac36615cb344ec43259fb65cafe3e55308ce4662", + "type": "github" + }, + "original": { + "owner": "NorfairKing", + "repo": "autodocodec", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" }, "locked": { - "lastModified": 1689068808, - "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -18,29 +68,442 @@ "type": "github" } }, + "flake-utils_3": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "freckle": { + "inputs": { + "flake-utils": "flake-utils_2", + "haskell-openapi-code-generator": "haskell-openapi-code-generator", + "nix-github-actions": "nix-github-actions", + "nixpkgs-22-11": "nixpkgs-22-11", + "nixpkgs-23-05": "nixpkgs-23-05", + "nixpkgs-23-11": "nixpkgs-23-11", + "nixpkgs-24-05": "nixpkgs-24-05", + "nixpkgs-24-11": "nixpkgs-24-11", + "nixpkgs-haskell-updates": "nixpkgs-haskell-updates", + "nixpkgs-stable": "nixpkgs-stable_2", + "stack-lint-extra-deps": "stack-lint-extra-deps" + }, + "locked": { + "dir": "main", + "lastModified": 1736458820, + "narHash": "sha256-IoKZ0XjTtIaF4QsioWGy1xYhWmJW6mu0fYn+xuo2TFw=", + "owner": "freckle", + "repo": "flakes", + "rev": "39aa96931d627c058d41cbc44f9bbd9483877f3d", + "type": "github" + }, + "original": { + "dir": "main", + "owner": "freckle", + "repo": "flakes", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "freckle", + "haskell-openapi-code-generator", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "haskell-openapi-code-generator": { + "inputs": { + "autodocodec": "autodocodec", + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs", + "pre-commit-hooks": "pre-commit-hooks", + "safe-coloured-text": "safe-coloured-text", + "sydtest": "sydtest", + "validity": "validity" + }, + "locked": { + "lastModified": 1731515792, + "narHash": "sha256-EoU807Pqii6hnLvXIu8G2fDOyKLBrOSesXsEEh3YoZQ=", + "owner": "Haskell-OpenAPI-Code-Generator", + "repo": "Haskell-OpenAPI-Client-Code-Generator", + "rev": "0eb15be1a8ae9c311e727e300e7564bf2eb7096f", + "type": "github" + }, + "original": { + "owner": "Haskell-OpenAPI-Code-Generator", + "repo": "Haskell-OpenAPI-Client-Code-Generator", + "type": "github" + } + }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "freckle", + "nixpkgs-stable" + ] + }, + "locked": { + "lastModified": 1731952509, + "narHash": "sha256-p4gB3Rhw8R6Ak4eMl8pqjCPOLCZRqaehZxdZ/mbFClM=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "7b5f051df789b6b20d259924d349a9ba3319b226", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1722987190, + "narHash": "sha256-68hmex5efCiM2aZlAAEcQgmFI4ZwWt8a80vOeB/5w3A=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "21cc704b5e918c5fbf4f9fff22b4ac2681706d90", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-22-11": { + "locked": { + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-23-05": { + "locked": { + "lastModified": 1704290814, + "narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-23-11": { + "locked": { + "lastModified": 1720535198, + "narHash": "sha256-zwVvxrdIzralnSbcpghA92tWu2DV2lwv89xZc8MTrbg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "205fd4226592cc83fd4c0885a3e4c9c400efabb5", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-24-05": { + "locked": { + "lastModified": 1735563628, + "narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-24-11": { + "locked": { + "lastModified": 1736200483, + "narHash": "sha256-JO+lFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "3f0a8ac25fb674611b98089ca3a5dd6480175751", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-haskell-updates": { + "locked": { + "lastModified": 1735908276, + "narHash": "sha256-U19gzGJFlGtyNonhg3jhhamQUex5ri3MgR1QKz6w/qg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d3780c92e64472e8f9aa54f7bbb0dd4483b98303", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "haskell-updates", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-haskell-updates_2": { + "locked": { + "lastModified": 1736295319, + "narHash": "sha256-D408QVHL43RPYdPnGhTpBHJs4wVIebbsmh/SAAY0vAE=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "b6b38bb0649cb8393492949e01b1e331c3a05718", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "haskell-updates", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_2": { + "locked": { + "lastModified": 1736200483, + "narHash": "sha256-JO+lFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "3f0a8ac25fb674611b98089ca3a5dd6480175751", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1719082008, + "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9693852a2070b398ee123a329e68f0dab5526681", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1736200483, + "narHash": "sha256-JO+lFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "3f0a8ac25fb674611b98089ca3a5dd6480175751", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "pgp-wordlist": { + "flake": false, + "locked": { + "lastModified": 1714149562, + "narHash": "sha256-WCFQgtWqq+gLst4lXkFYlmlW7L8PQOJfChsKMApy3Ng=", + "owner": "quchen", + "repo": "pgp-wordlist", + "rev": "1f0cfd90d62179952cbfd59c3405283a1d364272", + "type": "github" + }, + "original": { + "owner": "quchen", + "repo": "pgp-wordlist", + "type": "github" + } + }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": "nixpkgs_2", + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1723202784, + "narHash": "sha256-qbhjc/NEGaDbyy0ucycubq4N3//gDFFH3DOmp1D3u1Q=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "c7012d0c18567c889b948781bc74a501e92275d1", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { "flake-utils": "flake-utils", - "stable": "stable", - "unstable": "unstable" + "freckle": "freckle", + "stable": "stable" + } + }, + "safe-coloured-text": { + "flake": false, + "locked": { + "lastModified": 1722709522, + "narHash": "sha256-zglWqKISYz34A+/PvqwvwrbQYSEcko8C595VAeINitw=", + "owner": "NorfairKing", + "repo": "safe-coloured-text", + "rev": "046f10147a058c00c2706d98c341219e3cbc7669", + "type": "github" + }, + "original": { + "owner": "NorfairKing", + "repo": "safe-coloured-text", + "type": "github" } }, "stable": { "locked": { - "lastModified": 1690271650, - "narHash": "sha256-qwdsW8DBY1qH+9luliIH7VzgwvL+ZGI3LZWC0LTiDMI=", + "lastModified": 1736200483, + "narHash": "sha256-JO+lFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6dc93f0daec55ee2f441da385aaf143863e3d671", + "rev": "3f0a8ac25fb674611b98089ca3a5dd6480175751", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-23.05", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } }, + "stack-lint-extra-deps": { + "inputs": { + "nixpkgs": "nixpkgs_3", + "nixpkgs-haskell-updates": "nixpkgs-haskell-updates_2", + "pgp-wordlist": "pgp-wordlist", + "stacklock2nix": "stacklock2nix" + }, + "locked": { + "lastModified": 1736375257, + "narHash": "sha256-VYW4F4CiPf9uz9gmVRTz+7ezsmbjvedpghqWJFZMsWs=", + "owner": "freckle", + "repo": "stack-lint-extra-deps", + "rev": "fcc40250aafd291eafac4c21510b0337ab5e913b", + "type": "github" + }, + "original": { + "owner": "freckle", + "repo": "stack-lint-extra-deps", + "type": "github" + } + }, + "stacklock2nix": { + "locked": { + "lastModified": 1731366632, + "narHash": "sha256-dd10Hyqbyhg83pgxE8Sl1jo9wdYzTU4muH83TjhyrCY=", + "owner": "cdepillabout", + "repo": "stacklock2nix", + "rev": "3cb77e9c869be90ad939f368096ff2cc940881d4", + "type": "github" + }, + "original": { + "owner": "cdepillabout", + "repo": "stacklock2nix", + "type": "github" + } + }, + "sydtest": { + "flake": false, + "locked": { + "lastModified": 1722766036, + "narHash": "sha256-i7N8HKkFPUfnOOmj47Di/XnQS66mUzTG6HISUccNhOA=", + "owner": "NorfairKing", + "repo": "sydtest", + "rev": "23baea50a08857baf3121fc55096c40a93ff5f17", + "type": "github" + }, + "original": { + "owner": "NorfairKing", + "repo": "sydtest", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -56,19 +519,49 @@ "type": "github" } }, - "unstable": { + "systems_2": { "locked": { - "lastModified": 1690179384, - "narHash": "sha256-+arbgqFTAtoeKtepW9wCnA0njCOyoiDFyl0Q0SBSOtE=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "b12803b6d90e2e583429bb79b859ca53c348b39a", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "validity": { + "flake": false, + "locked": { + "lastModified": 1722943924, + "narHash": "sha256-hq5FwDFW+02u5Qsx8v1KWoQUsY6S6ufI4WYKZ6yhYUA=", + "owner": "NorfairKing", + "repo": "validity", + "rev": "51b8843b9bd5228160b99f653d3271147245d689", + "type": "github" + }, + "original": { + "owner": "NorfairKing", + "repo": "validity", "type": "github" } } diff --git a/flake.nix b/flake.nix index c57c280..bba4246 100644 --- a/flake.nix +++ b/flake.nix @@ -1,24 +1,50 @@ { inputs = { - stable.url = "github:nixos/nixpkgs/nixos-23.05"; - unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + stable.url = "github:nixos/nixpkgs/nixos-24.11"; + freckle.url = "github:freckle/flakes?dir=main"; flake-utils.url = "github:numtide/flake-utils"; }; - outputs = inputs: - inputs.flake-utils.lib.eachDefaultSystem (system: + outputs = + inputs: + inputs.flake-utils.lib.eachDefaultSystem ( + system: let - nixpkgsArgs = { inherit system; config = { }; }; + nixpkgsArgs = { + inherit system; + config = { }; + }; nixpkgs = { stable = import inputs.stable nixpkgsArgs; - unstable = import inputs.unstable nixpkgsArgs; }; + freckle = inputs.freckle.packages.${system}; + freckleLib = inputs.freckle.lib.${system}; in - { - devShells.default = - import ./nix/shell.nix { inherit nixpkgs; }; - packages = - import ./nix { inherit nixpkgs; }; - }); + rec { + packages = { + fourmolu = freckle.fourmolu-0-13-x; + + ghc = freckleLib.haskellBundle { + ghcVersion = "ghc-9-8-4"; + enableHLS = true; + }; + }; + + devShells.default = nixpkgs.stable.mkShell { + buildInputs = with (nixpkgs.stable); [ + zlib + ]; + + nativeBuildInputs = with (packages); [ + fourmolu + ghc + ]; + + shellHook = '' + export STACK_YAML=stack-lts23.yaml + ''; + }; + } + ); } diff --git a/nix/cabal.nix b/nix/cabal.nix deleted file mode 100644 index d809e4f..0000000 --- a/nix/cabal.nix +++ /dev/null @@ -1,2 +0,0 @@ -{ nixpkgs }: -nixpkgs.stable.cabal-install diff --git a/nix/default.nix b/nix/default.nix deleted file mode 100644 index 66274f9..0000000 --- a/nix/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ nixpkgs }: -{ - cabal = import ./cabal.nix { inherit nixpkgs; }; - - fourmolu = import ./fourmolu.nix { inherit nixpkgs; }; - - ghc-with-packages = import ./ghc-with-packages.nix { inherit nixpkgs; }; - - haskell-language-server = import ./haskell-language-server.nix { inherit nixpkgs; }; - - hlint = import ./hlint.nix { inherit nixpkgs; }; - - stack = import ./stack.nix { inherit nixpkgs; }; -} diff --git a/nix/fourmolu.nix b/nix/fourmolu.nix deleted file mode 100644 index ca4e3b5..0000000 --- a/nix/fourmolu.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ nixpkgs }: -let - inherit (nixpkgs.stable) haskell; - inherit (haskell.lib) justStaticExecutables overrideCabal; -in -justStaticExecutables - (haskell.packages.ghc96.override { - inherit (nixpkgs.unstable) all-cabal-hashes; - overrides = self: super: { - fourmolu = - overrideCabal - (super.callHackage "fourmolu" "0.13.0.0" { }) - (drv: { doCheck = false; }); - }; - }).fourmolu diff --git a/nix/ghc-with-packages.nix b/nix/ghc-with-packages.nix deleted file mode 100644 index 5c47ae0..0000000 --- a/nix/ghc-with-packages.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ nixpkgs }: -let - haskellPackages = nixpkgs.stable.haskell.packages.ghc928.override { - inherit (nixpkgs.unstable) all-cabal-hashes; - }; -in -haskellPackages.ghcWithPackages (import ./haskell-package-selection.nix) diff --git a/nix/haskell-language-server.nix b/nix/haskell-language-server.nix deleted file mode 100644 index 5f9fb69..0000000 --- a/nix/haskell-language-server.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ nixpkgs }: -nixpkgs.stable.haskell-language-server.override -{ supportedGhcVersions = [ "928" ]; } diff --git a/nix/haskell-package-selection.nix b/nix/haskell-package-selection.nix deleted file mode 100644 index f2f6c58..0000000 --- a/nix/haskell-package-selection.nix +++ /dev/null @@ -1,5 +0,0 @@ -p: with p; [ - comonad - deepseq - safe -] diff --git a/nix/hlint.nix b/nix/hlint.nix deleted file mode 100644 index 0a4a39c..0000000 --- a/nix/hlint.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ nixpkgs }: -let - pkgs = nixpkgs.stable; -in - pkgs.haskell.lib.justStaticExecutables - nixpkgs.stable.hlint diff --git a/nix/shell.nix b/nix/shell.nix deleted file mode 100644 index 188452d..0000000 --- a/nix/shell.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ nixpkgs }: -nixpkgs.stable.mkShell { - buildInputs = - with (import ./. { inherit nixpkgs; }); - [ - cabal - fourmolu - ghc-with-packages - haskell-language-server - hlint - stack - ]; -} diff --git a/nix/stack.nix b/nix/stack.nix deleted file mode 100644 index d9116e8..0000000 --- a/nix/stack.nix +++ /dev/null @@ -1,2 +0,0 @@ -{ nixpkgs }: -nixpkgs.stable.stack diff --git a/stack-lts-12.26.yaml.lock b/stack-lts-12.26.yaml.lock deleted file mode 100644 index 6bee1e8..0000000 --- a/stack-lts-12.26.yaml.lock +++ /dev/null @@ -1,12 +0,0 @@ -# This file was autogenerated by Stack. -# You should not edit this file by hand. -# For more information, please see the documentation at: -# https://docs.haskellstack.org/en/stable/lock_files - -packages: [] -snapshots: -- completed: - size: 509471 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/12/26.yaml - sha256: 95f014df58d0679b1c4a2b7bf2b652b61da8d30de5f571abb0d59015ef678646 - original: lts-12.26 diff --git a/stack-lts-14.27.yaml.lock b/stack-lts-14.27.yaml.lock deleted file mode 100644 index e24dcac..0000000 --- a/stack-lts-14.27.yaml.lock +++ /dev/null @@ -1,12 +0,0 @@ -# This file was autogenerated by Stack. -# You should not edit this file by hand. -# For more information, please see the documentation at: -# https://docs.haskellstack.org/en/stable/lock_files - -packages: [] -snapshots: -- completed: - size: 524996 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/14/27.yaml - sha256: 7ea31a280c56bf36ff591a7397cc384d0dff622e7f9e4225b47d8980f019a0f0 - original: lts-14.27 diff --git a/stack-lts-16.31.yaml.lock b/stack-lts-16.31.yaml.lock deleted file mode 100644 index c222190..0000000 --- a/stack-lts-16.31.yaml.lock +++ /dev/null @@ -1,12 +0,0 @@ -# This file was autogenerated by Stack. -# You should not edit this file by hand. -# For more information, please see the documentation at: -# https://docs.haskellstack.org/en/stable/lock_files - -packages: [] -snapshots: -- completed: - size: 534126 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/16/31.yaml - sha256: 637fb77049b25560622a224845b7acfe81a09fdb6a96a3c75997a10b651667f6 - original: lts-16.31 diff --git a/stack-lts-18.28.yaml.lock b/stack-lts-18.28.yaml.lock deleted file mode 100644 index 7af0442..0000000 --- a/stack-lts-18.28.yaml.lock +++ /dev/null @@ -1,12 +0,0 @@ -# This file was autogenerated by Stack. -# You should not edit this file by hand. -# For more information, please see the documentation at: -# https://docs.haskellstack.org/en/stable/lock_files - -packages: [] -snapshots: -- completed: - size: 590100 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/28.yaml - sha256: 428ec8d5ce932190d3cbe266b9eb3c175cd81e984babf876b64019e2cbe4ea68 - original: lts-18.28 diff --git a/stack-lts-19.1.lock b/stack-lts-19.1.lock deleted file mode 100644 index 365f070..0000000 --- a/stack-lts-19.1.lock +++ /dev/null @@ -1,12 +0,0 @@ -# This file was autogenerated by Stack. -# You should not edit this file by hand. -# For more information, please see the documentation at: -# https://docs.haskellstack.org/en/stable/lock_files - -packages: [] -snapshots: -- completed: - size: 617355 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/19/1.yaml - sha256: cbd5e8593869445794924668479b5bd9f1738d075898623dceacc13b2576b6e3 - original: lts-19.1 diff --git a/stack-lts-12.26.yaml b/stack-lts12.yaml similarity index 100% rename from stack-lts-12.26.yaml rename to stack-lts12.yaml diff --git a/stack-lts-14.27.yaml b/stack-lts14.yaml similarity index 100% rename from stack-lts-14.27.yaml rename to stack-lts14.yaml diff --git a/stack-lts-16.31.yaml b/stack-lts16.yaml similarity index 100% rename from stack-lts-16.31.yaml rename to stack-lts16.yaml diff --git a/stack-lts-18.28.yaml b/stack-lts18.yaml similarity index 100% rename from stack-lts-18.28.yaml rename to stack-lts18.yaml diff --git a/stack-lts-19.1.yaml b/stack-lts19.yaml similarity index 100% rename from stack-lts-19.1.yaml rename to stack-lts19.yaml diff --git a/stack-lts20.yaml b/stack-lts20.yaml new file mode 100644 index 0000000..fc9172f --- /dev/null +++ b/stack-lts20.yaml @@ -0,0 +1 @@ +resolver: lts-20.26 diff --git a/stack-lts21.yaml b/stack-lts21.yaml new file mode 100644 index 0000000..377040a --- /dev/null +++ b/stack-lts21.yaml @@ -0,0 +1 @@ +resolver: lts-21.25 diff --git a/stack-lts22.yaml b/stack-lts22.yaml new file mode 100644 index 0000000..c757eef --- /dev/null +++ b/stack-lts22.yaml @@ -0,0 +1 @@ +resolver: lts-22.43 diff --git a/stack-lts23.yaml b/stack-lts23.yaml new file mode 100644 index 0000000..cf8ed23 --- /dev/null +++ b/stack-lts23.yaml @@ -0,0 +1 @@ +resolver: lts-23.3 diff --git a/stack-nightly.yaml b/stack-nightly.yaml index 9eb59bb..94c12ab 100644 --- a/stack-nightly.yaml +++ b/stack-nightly.yaml @@ -1 +1 @@ -resolver: nightly-2022-03-30 +resolver: nightly-2025-01-08 diff --git a/stack-nightly.yaml.lock b/stack-nightly.yaml.lock deleted file mode 100644 index 0ed608e..0000000 --- a/stack-nightly.yaml.lock +++ /dev/null @@ -1,12 +0,0 @@ -# This file was autogenerated by Stack. -# You should not edit this file by hand. -# For more information, please see the documentation at: -# https://docs.haskellstack.org/en/stable/lock_files - -packages: [] -snapshots: -- completed: - size: 539378 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2022/3/30.yaml - sha256: 745431a4c5b78cc93d81e99b2253a1e0eacd4f94e00cf17dab7cc14e665332e3 - original: nightly-2022-03-30 diff --git a/stack.yaml b/stack.yaml deleted file mode 100644 index fc9172f..0000000 --- a/stack.yaml +++ /dev/null @@ -1 +0,0 @@ -resolver: lts-20.26 diff --git a/stack.yaml b/stack.yaml new file mode 120000 index 0000000..d7de56b --- /dev/null +++ b/stack.yaml @@ -0,0 +1 @@ +stack-lts23.yaml \ No newline at end of file diff --git a/stack.yaml.lock b/stack.yaml.lock deleted file mode 100644 index ea5a850..0000000 --- a/stack.yaml.lock +++ /dev/null @@ -1,12 +0,0 @@ -# This file was autogenerated by Stack. -# You should not edit this file by hand. -# For more information, please see the documentation at: -# https://docs.haskellstack.org/en/stable/lock_files - -packages: [] -snapshots: -- completed: - sha256: 5a59b2a405b3aba3c00188453be172b85893cab8ebc352b1ef58b0eae5d248a2 - size: 650475 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/26.yaml - original: lts-20.26