diff --git a/flake.lock b/flake.lock index d8a2a0fdf..0719f41d9 100644 --- a/flake.lock +++ b/flake.lock @@ -236,6 +236,96 @@ "type": "github" } }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_3" + }, + "locked": { + "lastModified": 1706830856, + "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_4": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_4" + }, + "locked": { + "lastModified": 1704152458, + "narHash": "sha256-DS+dGw7SKygIWf9w4eNBUZsK+4Ug27NwEWmn2tnbycg=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "88a2cd8166694ba0b6cb374700799cec53aef527", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_5": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_5" + }, + "locked": { + "lastModified": 1706830856, + "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_6": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_6" + }, + "locked": { + "lastModified": 1706830856, + "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_7": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_7" + }, + "locked": { + "lastModified": 1706830856, + "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-root": { "locked": { "lastModified": 1692742795, @@ -266,6 +356,39 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "fourmolu-nix": { + "locked": { + "lastModified": 1707266073, + "narHash": "sha256-tCFzZQJicDdYjnuJiNK4hiiRAH7c2wQzMhOCdUMbVKE=", + "owner": "jedimahdi", + "repo": "fourmolu-nix", + "rev": "717f5a91b0d7b97b1be7ecc3a0fd42d37ffe1c9b", + "type": "github" + }, + "original": { + "owner": "jedimahdi", + "repo": "fourmolu-nix", + "type": "github" + } + }, "haskell-flake": { "locked": { "lastModified": 1709233214, @@ -296,6 +419,46 @@ "type": "github" } }, + "haskell-flake_3": { + "locked": { + "lastModified": 1710366817, + "narHash": "sha256-ZhsDYmmCB/XVTjovbaOuLkLtbCRqS1UdVDAlc0qiS0Q=", + "owner": "srid", + "repo": "haskell-flake", + "rev": "00d1850d10614e9ba7caf3b78aabd7975e48d848", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "haskell-flake", + "type": "github" + } + }, + "haskell-template": { + "inputs": { + "flake-parts": "flake-parts_3", + "fourmolu-nix": "fourmolu-nix", + "haskell-flake": "haskell-flake_3", + "horizon-devtools": "horizon-devtools", + "horizon-platform": "horizon-platform", + "nixpkgs": "nixpkgs_7", + "systems": "systems_3", + "treefmt-nix": "treefmt-nix_2" + }, + "locked": { + "lastModified": 1710682479, + "narHash": "sha256-NE+0HNlooCxRlK2ch+x+7hizx9OxyiKwLEiqqpjaA0o=", + "owner": "locallycompact", + "repo": "haskell-template", + "rev": "8a4cceb5868f89eacf4dc49648b6479cf7932125", + "type": "github" + }, + "original": { + "owner": "locallycompact", + "repo": "haskell-template", + "type": "github" + } + }, "heist-extra": { "flake": false, "locked": { @@ -328,6 +491,141 @@ "type": "github" } }, + "horizon-advance": { + "inputs": { + "flake-utils": "flake-utils", + "horizon-core": "horizon-core_2", + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1708781115, + "narHash": "sha256-faeJOYHrFvVL21RDsDplmX8XTK6nEH9Co3Bv06TlEms=", + "ref": "lts/ghc-9.6.x", + "rev": "c99e5f0f4635f5ab087f821775d018cce82c21b5", + "revCount": 165, + "type": "git", + "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-advance" + }, + "original": { + "ref": "lts/ghc-9.6.x", + "type": "git", + "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-advance" + } + }, + "horizon-core": { + "inputs": { + "flake-parts": "flake-parts_5", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1708779769, + "narHash": "sha256-qYkXoIgBr9YdSEFqzeyVU4y3jexGta7PSdp61/V+AQo=", + "ref": "lts/ghc-9.6.x", + "rev": "db1bd7ea51f239cad5dd7fa68c98e1ef4791c87f", + "revCount": 1255, + "type": "git", + "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-core" + }, + "original": { + "ref": "lts/ghc-9.6.x", + "type": "git", + "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-core" + } + }, + "horizon-core_2": { + "inputs": { + "flake-parts": "flake-parts_7", + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1708779769, + "narHash": "sha256-qYkXoIgBr9YdSEFqzeyVU4y3jexGta7PSdp61/V+AQo=", + "ref": "lts/ghc-9.6.x", + "rev": "db1bd7ea51f239cad5dd7fa68c98e1ef4791c87f", + "revCount": 1255, + "type": "git", + "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-core" + }, + "original": { + "ref": "lts/ghc-9.6.x", + "type": "git", + "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-core" + } + }, + "horizon-devtools": { + "inputs": { + "flake-parts": "flake-parts_4", + "horizon-core": "horizon-core", + "horizon-hoogle": "horizon-hoogle", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1708795865, + "narHash": "sha256-qIh5BwQJaDBPJwzGNIgCrvkVI9tKxQwQ5LTidONEjsI=", + "ref": "lts/ghc-9.6.x", + "rev": "25eadfe744adb5cc9028c8bee14044b8f9451a69", + "revCount": 1217, + "type": "git", + "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-devtools" + }, + "original": { + "ref": "lts/ghc-9.6.x", + "type": "git", + "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-devtools" + } + }, + "horizon-hoogle": { + "locked": { + "lastModified": 1701521742, + "narHash": "sha256-huf/95jYL7mY0AHSziJYXx4m/sP+G+YAbJb+Q5Ph/Jg=", + "ref": "refs/heads/master", + "rev": "ddf3b08c6458c1a9e0d881f968c050bc828b9b8e", + "revCount": 2, + "type": "git", + "url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle" + }, + "original": { + "type": "git", + "url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle" + } + }, + "horizon-hoogle_2": { + "locked": { + "lastModified": 1701521742, + "narHash": "sha256-huf/95jYL7mY0AHSziJYXx4m/sP+G+YAbJb+Q5Ph/Jg=", + "ref": "refs/heads/master", + "rev": "ddf3b08c6458c1a9e0d881f968c050bc828b9b8e", + "revCount": 2, + "type": "git", + "url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle" + }, + "original": { + "type": "git", + "url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle" + } + }, + "horizon-platform": { + "inputs": { + "flake-parts": "flake-parts_6", + "horizon-advance": "horizon-advance", + "horizon-hoogle": "horizon-hoogle_2", + "nixpkgs": "nixpkgs_6" + }, + "locked": { + "lastModified": 1709053061, + "narHash": "sha256-Pm91C3lIu6z3Spj/rPJyXk/7zYrNIrqympaeHVRUMjQ=", + "ref": "lts/ghc-9.6.x", + "rev": "b141e389a5501294f053ef17206d387d87a9a2ee", + "revCount": 1271, + "type": "git", + "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-platform" + }, + "original": { + "ref": "lts/ghc-9.6.x", + "type": "git", + "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-platform" + } + }, "nixpkgs": { "locked": { "lastModified": 1704842529, @@ -380,7 +678,193 @@ "type": "github" } }, + "nixpkgs-lib_3": { + "locked": { + "dir": "lib", + "lastModified": 1706550542, + "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib_4": { + "locked": { + "dir": "lib", + "lastModified": 1703961334, + "narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib_5": { + "locked": { + "dir": "lib", + "lastModified": 1706550542, + "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib_6": { + "locked": { + "dir": "lib", + "lastModified": 1706550542, + "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib_7": { + "locked": { + "dir": "lib", + "lastModified": 1706550542, + "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { + "locked": { + "lastModified": 1707956935, + "narHash": "sha256-ZL2TrjVsiFNKOYwYQozpbvQSwvtV/3Me7Zwhmdsfyu4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "a4d4fe8c5002202493e87ec8dbc91335ff55552c", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1704161960, + "narHash": "sha256-QGua89Pmq+FBAro8NriTuoO/wNaUtugt29/qqA8zeeM=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "63143ac2c9186be6d9da6035fa22620018c85932", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1707956935, + "narHash": "sha256-ZL2TrjVsiFNKOYwYQozpbvQSwvtV/3Me7Zwhmdsfyu4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "a4d4fe8c5002202493e87ec8dbc91335ff55552c", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1707546158, + "narHash": "sha256-nYYJTpzfPMDxI8mzhQsYjIUX+grorqjKEU9Np6Xwy/0=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d934204a0f8d9198e1e4515dd6fec76a139c87f0", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1708093448, + "narHash": "sha256-gohEm3/NVyu7WINFhRf83yJH8UM2ie/KY9Iw3VN6fiE=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "c7763249f02b7786b4ca36e13a4d7365cfba162f", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { + "locked": { + "lastModified": 1709200309, + "narHash": "sha256-lKdtMbhnBNU1lr978T+wEYet3sfIXXgyiDZNEgx8CV8=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ebe6e807793e7c9cc59cf81225fdee1a03413811", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { "locked": { "lastModified": 1704842529, "narHash": "sha256-OTeQA+F8d/Evad33JMfuXC89VMetQbsU4qcaePchGr4=", @@ -405,10 +889,11 @@ "flake-parts": "flake-parts_2", "flake-root": "flake-root_2", "haskell-flake": "haskell-flake_2", + "haskell-template": "haskell-template", "heist-extra": "heist-extra_2", - "nixpkgs": "nixpkgs_2", - "systems": "systems_2", - "treefmt-nix": "treefmt-nix_2", + "nixpkgs": "nixpkgs_8", + "systems": "systems_4", + "treefmt-nix": "treefmt-nix_3", "unionmount": "unionmount_2" } }, @@ -442,6 +927,36 @@ "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" + } + }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -465,6 +980,27 @@ } }, "treefmt-nix_2": { + "inputs": { + "nixpkgs": [ + "haskell-template", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1708897213, + "narHash": "sha256-QECZB+Hgz/2F/8lWvHNk05N6NU/rD9bWzuNn6Cv8oUk=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "e497a9ddecff769c2a7cbab51e1ed7a8501e7a3a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_3": { "inputs": { "nixpkgs": [ "nixpkgs" diff --git a/flake.nix b/flake.nix index d81450ef4..f7af61476 100644 --- a/flake.nix +++ b/flake.nix @@ -33,6 +33,8 @@ emanote-template.url = "github:srid/emanote-template"; emanote-template.flake = false; + + haskell-template.url = "github:locallycompact/haskell-template"; }; outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { @@ -42,6 +44,7 @@ inputs.flake-root.flakeModule inputs.treefmt-nix.flakeModule ./nix/flake-module.nix + (inputs.haskell-template.flakeModules.horizon-package-set) ]; perSystem = { pkgs, lib, config, system, ... }: { @@ -60,6 +63,7 @@ haskellProjects.default = { projectFlakeName = "emanote"; imports = [ + inputs.self.haskellFlakeProjectModules.horizon-package-set inputs.ema.haskellFlakeProjectModules.output ]; devShell.tools = hp: { @@ -75,19 +79,45 @@ fsnotify.source = "0.4.1.0"; # Not in nixpkgs, yet. ghcid.source = "0.8.8"; heist-extra.source = inputs.heist-extra; + + # Not in Horizon + monad-logger-extras.source = "0.1.1.1"; + aeson-extra.source = "0.5.1.3"; + aeson-optics.source = "1.2.1"; + feed.source = "1.3.2.1"; + xmlhtml.source = "0.2.5.4"; + map-syntax.source = "0.3"; + pandoc-lua-engine.source = "0.2.1"; + hslua-repl.source = "0.1.1"; + hslua-module-zip.source = "1.1.0"; + isocline.source = "1.0.9"; + doctest-driver-gen.source = "0.3.0.8"; + heist.source = "1.1.1.2"; + ixset-typed.source = "0.5.1.0"; + safecopy.source = "0.10.4.2"; + lens-action.source = "0.2.6"; + pandoc-link-context.source = "1.4.1.0"; + tagtree.source = "0.1.0.1"; + tailwind.source = "0.3.0.0"; + dir-traverse.source = "0.2.3.0"; + dirstream.source = "1.1.0"; + hinotify.source = "0.4.1"; }; settings = { + # Horizon stuff + doctest-driver-gen.check = false; + aeson-extra.check = false; + # Haskell packages in nixpkgs are often broken in many ways; ergo, # it is our responsibility to fix them here. fsnotify.check = false; heist.broken = false; + heist.check = false; ixset-typed.broken = false; ixset-typed.jailbreak = true; pandoc-link-context.broken = false; pandoc-link-context.jailbreak = true; - tagtree.broken = false; - tagtree.jailbreak = true; tailwind.broken = false; tailwind.jailbreak = true; unionmount.check = !pkgs.stdenv.isDarwin; # garnix: Slow M1 builder @@ -98,7 +128,7 @@ justStaticExecutables = true; removeReferencesTo = [ self.pandoc - self.pandoc_3_1_11 + #self.pandoc_3_1_11 self.pandoc-types self.warp ]; diff --git a/garnix.yaml b/garnix.yaml index e9b61874c..82d0814da 100644 --- a/garnix.yaml +++ b/garnix.yaml @@ -4,4 +4,4 @@ builds: - "packages.aarch64-darwin.default" - "packages.x86_64-linux.default" exclude: [] - branch: master + branch: horizon