Skip to content
Snippets Groups Projects
flake.nix 2.21 KiB
Newer Older
Daniel Firth's avatar
Daniel Firth committed
  description = "horizon-plutus overlay";

    get-flake.url = "github:ursi/get-flake";
    horizon-platform.url = "git+https://gitlab.homotopic.tech/horizon/horizon-platform?rev=51ffeae6e4cb64c4c0b5c2af322990d3d4089ca2";
    horizon-gen-nix = {
      url = "git+https://gitlab.homotopic.tech/horizon/horizon-gen-nix?rev=066b21b5b0c3b7b2bee1b5954f89ae0b7845ade9";
      flake = false;
    };
    lint-utils.url = "git+https://gitlab.homotopic.tech/nix/lint-utils";
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    nixpkgs-libR.url = "github:nixos/nixpkgs/602748c14b82a2e17078713686fe1df2824fa502";
  outputs =
    inputs@
    { self
    , flake-utils
    , get-flake
    , horizon-gen-nix
    , horizon-platform
    , lint-utils
    , nixpkgs
    , nixpkgs-libR
    , ...
    }:
    flake-utils.lib.eachSystem [ "x86_64-linux" ] (system:
Daniel Firth's avatar
Daniel Firth committed
    let
      pkgs-libR = import nixpkgs-libR { inherit system; };
      pkgs = import nixpkgs { inherit system; };
    in
    with pkgs.lib;
    with pkgs.writers;
    let
      horizon-gen-nix-app = get-flake horizon-gen-nix;
Daniel Firth's avatar
Daniel Firth committed
      overrides = composeManyExtensions [
        (import ./overlay.nix { inherit pkgs; })
        (import ./configuration.nix { inherit pkgs pkgs-libR; })
      ];
Daniel Firth's avatar
Daniel Firth committed

Daniel Firth's avatar
Daniel Firth committed
      legacyPackages = horizon-platform.legacyPackages.${system}.override {
        inherit overrides;
      };
Daniel Firth's avatar
Daniel Firth committed
      packages = filterAttrs
        (n: v: v != null
          && builtins.typeOf v == "set"
          && pkgs.lib.hasAttr "type" v
          && v.type == "derivation"
          && v.meta.broken == false)
        legacyPackages;
Daniel Firth's avatar
Daniel Firth committed
      horizon-gen-gitlab-ci = writeBashBin "gen-gitlab-ci" "${pkgs.dhall-json}/bin/dhall-to-yaml --file .gitlab-ci.dhall";
Daniel Firth's avatar
Daniel Firth committed
    in
    {
      apps = {
Daniel Firth's avatar
Daniel Firth committed
        horizon-gen-nix = horizon-gen-nix-app.apps.${system}.horizon-gen-nix;
Daniel Firth's avatar
Daniel Firth committed
        horizon-gen-gitlab-ci = {
          type = "app";
          program = "${horizon-gen-gitlab-ci}/bin/gen-gitlab-ci";
Daniel Firth's avatar
Daniel Firth committed
      };
Daniel Firth's avatar
Daniel Firth committed

Daniel Firth's avatar
Daniel Firth committed
      checks = {
        dhall-format = lint-utils.outputs.linters.${system}.dhall-format ./.;
        nixpkgs-fmt = lint-utils.outputs.linters.${system}.nixpkgs-fmt ./.;
      };

      inherit legacyPackages;
      inherit overrides;
      inherit packages;
    });