Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • tchoutri/horizon-platform
  • jonge/horizon-platform
  • raoulhc/horizon-platform
  • package-sets/horizon-platform
Show changes
Commits on Source (212)
Showing with 2000 additions and 3995 deletions
stages:
- generate
- flake
- cache
- build
- devour
- cachix
generate-flake-ci:
stage: generate
build:
stage: build
script:
- nix run "git+https://gitlab.nixica.dev/haskell/flake-to-gitlab-ci?ref=refs/tags/0.2.4.1" > flake-ci-x86_64-linux.yml
artifacts:
paths:
- flake-ci-x86_64-linux.yml
- nix build .#packages.$SYSTEM.$PACKAGE -L
parallel:
matrix:
- SYSTEM:
- aarch64-darwin
- x86_64-linux
PACKAGE:
- aeson
- beam-postgres
- composite-base
- dhall
- hedgehog
- hoauth2-providers
- log-effectful
- persistent-postgresql
- polysemy
- servant
- souffle-haskell
- sydtest
- tasty
- wai-app-static
- warp
- SYSTEM:
- x86_64-linux
PACKAGE:
- streamly
x86_64-linux-ci:
stage: flake
trigger:
include:
- artifact: flake-ci-x86_64-linux.yml
job: generate-flake-ci
strategy: depend
devour:
stage: devour
script:
- nix build github:srid/devour-flake#packages.$SYSTEM.default -L --no-link --print-out-paths --override-input flake . --keep-going
parallel:
matrix:
- SYSTEM:
- aarch64-darwin
- x86_64-linux
cachix:
stage: cache
only:
refs:
- master
- cachix
stage: cachix
rules:
- if: $CI_COMMIT_REF_PROTECTED == "true"
script:
- nix-shell -p cachix --command "nix build github:srid/devour-flake -L --no-link --print-out-paths --override-input flake . | xargs cat | cachix push horizon"
- nix-shell -p cachix --command "nix build github:srid/devour-flake#packages.$SYSTEM.default -L --no-link --print-out-paths --override-input flake . | xargs cat | cachix push horizon"
parallel:
matrix:
- SYSTEM:
- aarch64-darwin
- x86_64-linux
......@@ -2,41 +2,48 @@
[horizon-haskell.net](https://horizon-haskell.net).
Horizon is a haskell package set targetting new builds of GHC.
## Package Set Policy
This package set has the following policy.
* GHC will advance as often as possible
* Nonversioned locations (git, unversioned tarballs) are permitted to allow
GHC to advance.
* The following packages must always build:
* aeson
* beam-postgres
* composite-base
* dhall
* haskell-language-server
* hedgehog
* pandoc
* persistent-postgresql
* polysemy
* servant
* sydtest
* tasty
* wai-app-static
* warp
horizon-platform is a haskell package set targetting new builds of GHC. This package set extends [horizon-platform](https://gitlab.horizon-haskell.net/package-sets/horizon-platform).
The following things are expected to be here:
* aeson
* beam-postgres
* composite-base
* dhall
* hedgehog
* hoauth2-providers
* log-effectful
* persistent-postgresql
* polysemy
* servant
* souffle-haskell
* streamly
* sydtest
* tasty
* wai-app-static
* warp
## Updating the Package Set
Generating the nix expressions for the package set is a two step process.
1. Edit the `horizon.dhall` file.
2. Generate the nix expressions with `nix run develop/#horizon-gen-nix`.
2. Generate the nix expressions with
```
nix run develop/#horizon-gen-nix -- -jN
```
You can edit the `horizon.dhall` file in one of two ways: manually using a text
editor, or programatically using `horizon-shell`.
If you want to bumping everything listed in the `horizon.dhall` file to the latest
bounds, run
```
nix run develop/#try-to-upgrade-everything
```
### Using horizon-shell.
To use `horizon-shell`.
......@@ -60,9 +67,6 @@ If you need to do additional manual overrides to the nix code, such as
`addPkgconfigDepends`, edit the `configuration/common.nix` overlay, which is
applied over the generated derivations.
If you need to nullify libraries, use the `configuration/hacking.nix` overlay.
Try to leave a note as to why this library has been nullified.
## Feedback
To build all packages, run
......@@ -70,3 +74,11 @@ To build all packages, run
```
nix run develop/#feedback -- build
```
## Hoogle
To get a hoogle instance for the entire package set, you can run:
```
nix run .#apps.x86_64-linux.run-hoogle
```
......@@ -12,7 +12,11 @@ final: prev: {
libsystemd-journal = null;
llvm-hs = null;
sdl2-mixer = null;
streamly = null;
}
{ pkgs, haskellLib }:
with haskellLib;
final: prev: {
dhall-docs = null;
hfsevents = null;
mmark = null;
stripeapi = null;
}
......@@ -4,23 +4,18 @@ with haskellLib;
final: prev: {
digest = addExtraLibrary prev.digest pkgs.zlib;
cheapskate = null;
hopenssl = prev.hopenssl.override { openssl = pkgs.openssl; };
hasql-explain-tests = null;
libsodium = prev.callPackage ../pkgs/libsodium.nix { inherit (pkgs) libsodium; };
saltine = addPkgconfigDepend prev.saltine pkgs.libsodium;
splitmix = prev.callPackage ../pkgs/splitmix.nix { inherit (pkgs) testu01; };
sandwich = null;
text-icu = prev.callPackage ../pkgs/text-icu.nix { icu-i18n = pkgs.icu; };
sdl2-image = addPkgconfigDepends prev.sdl2-image [ pkgs.libtiff pkgs.libdeflate pkgs.libwebp ];
thyme = null;
sdl2-mixer = addPkgconfigDepends prev.sdl2-mixer [ pkgs.glib pkgs.pcre2 pkgs.libsndfile pkgs.libpulseaudio pkgs.alsa-lib pkgs.jack2 ];
tmp-postgres = null;
X11-xft = addPkgconfigDepends prev.X11-xft [ pkgs.expat pkgs.xorg.libXau pkgs.xorg.libXdmcp ];
zlib = prev.callPackage ../pkgs/zlib.nix { inherit (pkgs) zlib; };
}
......@@ -8,11 +8,18 @@ final: prev: {
alsa-mixer = null;
hfsevents = prev.callPackage ../pkgs/hfsevents.nix {
Cocoa = pkgs.darwin.apple_sdk.frameworks.Cocoa;
CoreServices = pkgs.darwin.apple_sdk.frameworks.CoreServices;
};
iwlib = null;
libsystemd-journal = null;
sdl2-mixer = null;
hinotify = final.hfsevents;
}
......@@ -4,4 +4,6 @@ with haskellLib;
final: prev: {
hfsevents = null;
}
This diff is collapsed.
......@@ -6,11 +6,8 @@
};
inputs = {
feedback.url = "github:NorfairKing/feedback";
flake-parts.url = "github:hercules-ci/flake-parts";
flake-to-gitlab-ci.url = "git+https://gitlab.nixica.dev/haskell/flake-to-gitlab-ci?ref=refs/tags/0.2.4.2";
horizon-gen-nix.url = "git+https://gitlab.horizon-haskell.net/haskell/horizon-gen-nix?ref=refs/tags/0.11.0";
horizon-shell.url = "git+https://gitlab.horizon-haskell.net/shells/horizon-shell?ref=refs/tags/0.0.9";
horizon-develop-flake.url = "git+https://gitlab.horizon-haskell.net/nix/horizon-develop-flake";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
......@@ -28,69 +25,8 @@
"x86_64-darwin"
"x86_64-linux"
];
perSystem = { system, pkgs, ... }:
let
cachix-push-horizon-ghc-only = pkgs.writers.writeBashBin "cachix-push-horizon-ghc-only" ''
nix build -L --json .#packages.x86_64-linux.ghc | ${pkgs.jq}/bin/jq -r '.[].outputs | to_entries[].value' | ${pkgs.cachix}/bin/cachix push horizon
'';
cachix-push-horizon-devour = pkgs.writers.writeBashBin "cachix-push-horizon-devour" ''
nix build github:srid/devour-flake -L --no-link --print-out-paths --override-input flake . | xargs cat | ${pkgs.cachix}/bin/cachix push horizon
'';
devour-flake = pkgs.writers.writeBashBin "devour-flake" ''
nix build github:srid/devour-flake -L --no-link --print-out-paths --override-input flake . --keep-going
'';
test-template = pkgs.writers.writeBashBin "test-template" ''
mkdir temp
cd temp
nix flake init -t 'git+https://gitlab.horizon-haskell.net/templates/horizon-templates#minimal'
git init .
git add *
nix build github:srid/devour-flake -L --no-link --print-out-paths --override-input flake . --override-input flake/horizon-platform ../ --keep-going
cd ..
rm temp -rf
'';
run-horizon-gen-nix = pkgs.writers.writeBashBin "run-horizon-gen-nix" ''
${pkgs.cabal-install}/bin/cabal update
${inputs.horizon-gen-nix.packages.${system}.default}/bin/horizon-gen-nix $@;
'';
in
{
apps = {
cachix-push-horizon-devour = {
type = "app";
program = "${cachix-push-horizon-devour}/bin/cachix-push-horizon-devour";
};
cachix-push-horizon-ghc-only = {
type = "app";
program = "${cachix-push-horizon-ghc-only}/bin/cachix-push-horizon-ghc-only";
};
devour-flake = {
type = "app";
program = "${devour-flake}/bin/devour-flake";
};
feedback = {
type = "app";
program = "${inputs.feedback.packages.${system}.default}/bin/feedback";
};
flake-to-gitlab-ci = inputs.flake-to-gitlab-ci.apps.${system}.default;
horizon-gen-nix = inputs.horizon-gen-nix.apps.${system}.default;
horizon-shell = inputs.horizon-shell.apps.${system}.default;
run-horizon-gen-nix = {
program = "${run-horizon-gen-nix}/bin/run-horizon-gen-nix";
type = "app";
};
test-template = {
type = "app";
program = "${test-template}/bin/test-template";
};
};
};
imports = [
inputs.horizon-develop-flake.flakeModule
];
};
}
loops:
build:
command: nix build github:srid/devour-flake -L --no-link --print-out-paths --override-input flake . --keep-going
filter:
find: '*.nix'
check: nix flake check -L
gen:
command: dhall format horizon.dhall && nix run 'git+https://gitlab.horizon-haskell.net/haskell/horizon-gen-nix?ref=refs/tags/0.10.0' && git add pkgs && nix flake show
filter:
find: horizon.dhall
......@@ -5,11 +5,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1698882062,
"narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=",
"lastModified": 1738453229,
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "8c9fa2545007b49a5db5f650ae91f227672c3877",
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
"type": "github"
},
"original": {
......@@ -23,11 +23,11 @@
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1679737941,
"narHash": "sha256-srSD9CwsVPnUMsIZ7Kt/UegkKUEBcTyU1Rev7mO45S0=",
"lastModified": 1717285511,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "3502ee99d6dade045bdeaf7b0cd8ec703484c25c",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github"
},
"original": {
......@@ -36,268 +36,268 @@
"type": "github"
}
},
"flake-utils": {
"locked": {
"lastModified": 1644229661,
"narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
"type": "github"
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_3"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"locked": {
"lastModified": 1644229661,
"narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
"lastModified": 1717285511,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"get-flake": {
"locked": {
"lastModified": 1694475786,
"narHash": "sha256-s5wDmPooMUNIAAsxxCMMh9g68AueGg63DYk2hVZJbc8=",
"owner": "ursi",
"repo": "get-flake",
"rev": "ac54750e3b95dab6ec0726d77f440efe6045bec1",
"type": "github"
"horizon-advance": {
"inputs": {
"flake-parts": [
"horizon-advance",
"horizon-core",
"flake-parts"
],
"horizon-core": "horizon-core",
"horizon-hoogle": "horizon-hoogle_2",
"nixpkgs": "nixpkgs_4"
},
"original": {
"owner": "ursi",
"repo": "get-flake",
"type": "github"
}
},
"get-flake_2": {
"locked": {
"lastModified": 1673819588,
"narHash": "sha256-gRtwKAlu4htvS6dxyZnW3n+vMS1acqnMGVHqxUdETeY=",
"owner": "ursi",
"repo": "get-flake",
"rev": "e0917b6f564aa5acefb1484b5baf76da21746c3c",
"type": "github"
"lastModified": 1719751316,
"narHash": "sha256-exJ80zZPyiSxiYQb4IreK7LDpjfBLOCPb77QUn3TGR8=",
"ref": "lts/ghc-9.10.x",
"rev": "36784235da4dd828b3e139a855dc8410fff91376",
"revCount": 259,
"type": "git",
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-advance"
},
"original": {
"owner": "ursi",
"repo": "get-flake",
"type": "github"
"ref": "lts/ghc-9.10.x",
"type": "git",
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-advance"
}
},
"horizon-core": {
"horizon-build-packages": {
"inputs": {
"flake-parts": "flake-parts_2",
"get-flake": "get-flake_2",
"horizon-gen-nix-flake-source": "horizon-gen-nix-flake-source",
"horizon-shell-flake-source": "horizon-shell-flake-source",
"lint-utils": "lint-utils",
"flake-parts": [
"horizon-advance",
"horizon-core",
"horizon-build-packages",
"horizon-ghc",
"flake-parts"
],
"horizon-ghc": "horizon-ghc",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1693927671,
"narHash": "sha256-gFMzEQMw+qXOyraNH7hS0CzFQ3EaVgfTvr1GOZchbNI=",
"ref": "sts-945",
"rev": "c10baa44fb0c835ad4ea0e2a6671141b0f6e838f",
"revCount": 1063,
"lastModified": 1718969469,
"narHash": "sha256-0Q8v/yNwcLZy0znegLXx/SQmbfd2d/4TBSrFYh7g7+0=",
"ref": "refs/heads/master",
"rev": "23fa82740dc197706a3737c8830b724ccabafac4",
"revCount": 96,
"type": "git",
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-core"
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-build-packages"
},
"original": {
"ref": "sts-945",
"type": "git",
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-core"
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-build-packages"
}
},
"horizon-gen-nix-flake-source": {
"flake": false,
"horizon-core": {
"inputs": {
"flake-parts": "flake-parts_2",
"horizon-build-packages": "horizon-build-packages",
"horizon-hoogle": "horizon-hoogle",
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1679489082,
"narHash": "sha256-c8n6EjjSx+qK8k85n/xLHXmGMf2IZHaXOU1bFmuZAp4=",
"lastModified": 1718977916,
"narHash": "sha256-sssWF/XjZga4asgwvovPLAbg8E2EyLDQOYSFgUbKg6c=",
"ref": "refs/heads/master",
"rev": "89cec6756dbdcac614713d5700e31f110d61d003",
"revCount": 159,
"rev": "81674e75e63548341ebe0cb94127044255affb55",
"revCount": 1375,
"type": "git",
"url": "https://gitlab.horizon-haskell.net/haskell/horizon-gen-nix"
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-core"
},
"original": {
"type": "git",
"url": "https://gitlab.horizon-haskell.net/haskell/horizon-gen-nix"
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-core"
}
},
"horizon-shell-flake": {
"flake": false,
"horizon-ghc": {
"inputs": {
"flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1679524452,
"narHash": "sha256-xzNxvLVa3o0F/z4CnBDORv2Y6PfxjlGv7b7LybIyCSg=",
"ref": "refs/tags/0.0.8",
"rev": "21b8913803cefeb287bb244c7ee335638233db7f",
"revCount": 21,
"lastModified": 1718969245,
"narHash": "sha256-eeMsOK3Hmm23SH45GdbuWRtpEcMWZPC/JCYvKL2LOos=",
"ref": "refs/heads/master",
"rev": "0bcfe994903359aef81338915706bf6b2f38aaa4",
"revCount": 109,
"type": "git",
"url": "https://gitlab.horizon-haskell.net/shells/horizon-shell"
"url": "https://gitlab.horizon-haskell.net/ghc/horizon-ghc"
},
"original": {
"ref": "refs/tags/0.0.8",
"type": "git",
"url": "https://gitlab.horizon-haskell.net/shells/horizon-shell"
"url": "https://gitlab.horizon-haskell.net/ghc/horizon-ghc"
}
},
"horizon-shell-flake-source": {
"flake": false,
"horizon-hoogle": {
"locked": {
"lastModified": 1680363750,
"narHash": "sha256-Zq48TEVKRqAEZGlseIPEjoor2Joph5avo0AeoRZhNj4=",
"lastModified": 1701521742,
"narHash": "sha256-huf/95jYL7mY0AHSziJYXx4m/sP+G+YAbJb+Q5Ph/Jg=",
"ref": "refs/heads/master",
"rev": "c7ebda22e47ac1dbb7f273f8063069749fbb67e7",
"revCount": 25,
"rev": "ddf3b08c6458c1a9e0d881f968c050bc828b9b8e",
"revCount": 2,
"type": "git",
"url": "https://gitlab.horizon-haskell.net/shells/horizon-shell"
"url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
},
"original": {
"type": "git",
"url": "https://gitlab.horizon-haskell.net/shells/horizon-shell"
"url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
}
},
"lint-utils": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
},
"horizon-hoogle_2": {
"locked": {
"lastModified": 1681737193,
"narHash": "sha256-c+0eLyF/VWZWGeB1DA88aDUZ3BjO6+jnsJpVW4wxs4w=",
"lastModified": 1701521742,
"narHash": "sha256-huf/95jYL7mY0AHSziJYXx4m/sP+G+YAbJb+Q5Ph/Jg=",
"ref": "refs/heads/master",
"rev": "efaf89d12a6811f0e00034444904b8d169f0fa34",
"revCount": 48,
"rev": "ddf3b08c6458c1a9e0d881f968c050bc828b9b8e",
"revCount": 2,
"type": "git",
"url": "https://gitlab.nixica.dev/nix/lint-utils"
"url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
},
"original": {
"type": "git",
"url": "https://gitlab.nixica.dev/nix/lint-utils"
"url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
}
},
"lint-utils_2": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_3"
},
"horizon-hoogle_3": {
"locked": {
"lastModified": 1681737193,
"narHash": "sha256-c+0eLyF/VWZWGeB1DA88aDUZ3BjO6+jnsJpVW4wxs4w=",
"lastModified": 1701521742,
"narHash": "sha256-huf/95jYL7mY0AHSziJYXx4m/sP+G+YAbJb+Q5Ph/Jg=",
"ref": "refs/heads/master",
"rev": "efaf89d12a6811f0e00034444904b8d169f0fa34",
"revCount": 48,
"rev": "ddf3b08c6458c1a9e0d881f968c050bc828b9b8e",
"revCount": 2,
"type": "git",
"url": "https://gitlab.nixica.dev/nix/lint-utils"
"url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
},
"original": {
"type": "git",
"url": "https://gitlab.nixica.dev/nix/lint-utils"
"url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1644525281,
"narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=",
"lastModified": 1718928808,
"narHash": "sha256-MjVGflb3qXOrJRTJ5siQZHYuMCsRHaqYgTSKSik+/sE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2",
"rev": "564000ae34c6af8549f3729051bbae33403e298c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"ref": "haskell-updates",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1698611440,
"narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735",
"type": "github"
"lastModified": 1738452942,
"narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
}
},
"nixpkgs-lib_2": {
"locked": {
"dir": "lib",
"lastModified": 1678375444,
"narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=",
"lastModified": 1717284937,
"narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
}
},
"nixpkgs-lib_3": {
"locked": {
"lastModified": 1717284937,
"narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1718928808,
"narHash": "sha256-MjVGflb3qXOrJRTJ5siQZHYuMCsRHaqYgTSKSik+/sE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e",
"rev": "564000ae34c6af8549f3729051bbae33403e298c",
"type": "github"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"ref": "haskell-updates",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"nixpkgs_3": {
"locked": {
"lastModified": 1684800755,
"narHash": "sha256-3EpUSWUPTWNhdC6j/IR6qsxXJLCHdB/+xTo8T9DVc10=",
"owner": "nixos",
"lastModified": 1718928808,
"narHash": "sha256-MjVGflb3qXOrJRTJ5siQZHYuMCsRHaqYgTSKSik+/sE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5fcbc12a299b88f68b0362ffc20be802f4678693",
"rev": "564000ae34c6af8549f3729051bbae33403e298c",
"type": "github"
},
"original": {
"owner": "nixos",
"owner": "NixOS",
"ref": "haskell-updates",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"nixpkgs_4": {
"locked": {
"lastModified": 1644525281,
"narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=",
"lastModified": 1719706517,
"narHash": "sha256-ynXAAr5AJgTQHQAJW4GH3i8auqnZVzcjCokZMdEKjcs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2",
"rev": "01da4c59cc4879540b7a5d73230475b4616a0dc8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"ref": "haskell-updates",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"nixpkgs_5": {
"locked": {
"lastModified": 1698931758,
"narHash": "sha256-pwl9xS9JFMXXR1lUP/QOqO9hiZKukEcVUU1A0DKQwi4=",
"lastModified": 1739138025,
"narHash": "sha256-M4ilIfGxzbBZuURokv24aqJTbdjPA9K+DtKUzrJaES4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b644d97bda6dae837d577e28383c10aa51e5e2d2",
"rev": "b2243f41e860ac85c0b446eadc6930359b294e79",
"type": "github"
},
"original": {
......@@ -310,11 +310,9 @@
"root": {
"inputs": {
"flake-parts": "flake-parts",
"get-flake": "get-flake",
"horizon-core": "horizon-core",
"horizon-shell-flake": "horizon-shell-flake",
"lint-utils": "lint-utils_2",
"nixpkgs": "nixpkgs_4"
"horizon-advance": "horizon-advance",
"horizon-hoogle": "horizon-hoogle_3",
"nixpkgs": "nixpkgs_5"
}
}
},
......
......@@ -8,72 +8,41 @@
};
inputs = {
get-flake.url = "github:ursi/get-flake";
flake-parts.url = "github:hercules-ci/flake-parts";
horizon-core.url = "git+https://gitlab.horizon-haskell.net/package-sets/horizon-core?ref=sts-945";
horizon-shell-flake = {
url = "git+https://gitlab.horizon-haskell.net/shells/horizon-shell?ref=refs/tags/0.0.8";
flake = false;
};
lint-utils.url = "git+https://gitlab.nixica.dev/nix/lint-utils";
horizon-advance.url = "git+https://gitlab.horizon-haskell.net/package-sets/horizon-advance?ref=lts/ghc-9.10.x";
horizon-hoogle.url = "git+https://gitlab.horizon-haskell.net/nix/horizon-hoogle";
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
};
outputs =
inputs@
{ self
, get-flake
, flake-parts
, horizon-core
, horizon-shell-flake
, lint-utils
, nixpkgs
, ...
}:
flake-parts.lib.mkFlake { inherit inputs; } {
systems = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ];
perSystem = { config, system, ... }:
let
pkgs = nixpkgs.legacyPackages.${system};
in
outputs = inputs:
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
systems = [
"aarch64-darwin"
"aarch64-linux"
"x86_64-darwin"
"x86_64-linux"
];
imports = [
inputs.horizon-hoogle.flakeModule
];
perSystem = { pkgs, config, system, ... }:
with pkgs.lib;
let
horizon-shell = get-flake horizon-shell-flake;
haskellLib = pkgs.haskell.lib;
modifiers = import ./modifiers.nix { inherit pkgs; };
overrides = composeManyExtensions [
(import ./overlay.nix { inherit pkgs; })
(import ./overlay.nix { inherit pkgs; f = modifiers; })
(import ./configuration/common.nix { inherit pkgs haskellLib; })
(import (./configuration + "/${system}.nix") { inherit pkgs haskellLib; })
];
legacyPackages = horizon-core.legacyPackages.${system}.extend overrides;
legacyPackages = inputs.horizon-advance.legacyPackages.${system}.extend overrides;
packages = filterAttrs (_: isDerivation) legacyPackages;
devShell = pkgs.mkShell {
buildInputs = [
horizon-shell.packages.${system}.default
];
shellHook = ''
horizon-shell
exit
'';
};
in
{
checks = with lint-utils.linters.${system}; {
dhall-format = dhall-format { src = self; };
nixpkgs-fmt = nixpkgs-fmt { src = self; find = "flake.nix"; };
};
devShells.default = devShell;
inherit legacyPackages;
inherit packages;
......
This diff is collapsed.
This diff is collapsed.
{ pkgs, ... }:
with pkgs.lib;
_: prev: name: v: if hasAttr name prev then warn "${name} exists in parent set" v else v
This diff is collapsed.
......@@ -4,8 +4,8 @@
}:
mkDerivation {
pname = "BNFC";
version = "2.9.4.1";
sha256 = "5e93609c1633e4b6636d0ac2b52c1d35228c13bd704a7849cb4e92b00ce27250";
version = "2.9.5";
sha256 = "fa35e9a2a2bd12c3680482a350f57963807ccc9e964a206cb09e5b1a4d02576b";
isLibrary = true;
isExecutable = true;
enableSeparateDataOutput = false;
......@@ -22,12 +22,12 @@ mkDerivation {
testToolDepends = [ alex happy hspec-discover ];
enableLibraryProfiling = true;
enableExecutableProfiling = true;
doHaddock = false;
doHaddock = true;
jailbreak = true;
doCheck = false;
doBenchmark = false;
hyperlinkSource = false;
homepage = "http://bnfc.digitalgrammars.com/";
homepage = "https://bnfc.digitalgrammars.com/";
description = "A compiler front-end generator";
license = lib.licenses.bsd3;
broken = false;
......
......@@ -11,7 +11,7 @@ mkDerivation {
libraryHaskellDepends = [ base ];
enableLibraryProfiling = true;
enableExecutableProfiling = true;
doHaddock = false;
doHaddock = true;
jailbreak = true;
doCheck = false;
doBenchmark = false;
......
{ mkDerivation, array, base, binary, bytestring, containers
, deepseq, directory, filepath, lib, mtl, parsec, pretty, text
, time, transformers, unix
}:
mkDerivation {
pname = "Cabal-syntax";
version = "3.10.1.0";
sha256 = "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522";
isLibrary = true;
isExecutable = false;
enableSeparateDataOutput = false;
libraryHaskellDepends = [
array base binary bytestring containers deepseq directory filepath
mtl parsec pretty text time transformers unix
];
enableLibraryProfiling = true;
enableExecutableProfiling = true;
doHaddock = false;
jailbreak = true;
doCheck = false;
doBenchmark = false;
hyperlinkSource = false;
homepage = "http://www.haskell.org/cabal/";
description = "A library for working with .cabal files";
license = lib.licenses.bsd3;
broken = false;
}
\ No newline at end of file
{ mkDerivation, Cabal-syntax, array, base, bytestring, containers
, deepseq, directory, filepath, lib, mtl, parsec, pretty, process
, text, time, transformers, unix
}:
mkDerivation {
pname = "Cabal";
version = "3.10.1.0";
sha256 = "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee";
isLibrary = true;
isExecutable = false;
enableSeparateDataOutput = false;
setupHaskellDepends = [ mtl parsec ];
libraryHaskellDepends = [
array base bytestring Cabal-syntax containers deepseq directory
filepath mtl parsec pretty process text time transformers unix
];
enableLibraryProfiling = true;
enableExecutableProfiling = true;
doHaddock = false;
jailbreak = true;
doCheck = false;
doBenchmark = false;
hyperlinkSource = false;
homepage = "http://www.haskell.org/cabal/";
description = "A framework for packaging Haskell software";
license = lib.licenses.bsd3;
broken = false;
}
\ No newline at end of file