Skip to content

Commit

Permalink
add nix flake
Browse files Browse the repository at this point in the history
  • Loading branch information
manveru committed Jan 26, 2021
1 parent ae8bfa9 commit 9f94ad3
Show file tree
Hide file tree
Showing 4 changed files with 129 additions and 1 deletion.
59 changes: 59 additions & 0 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

67 changes: 67 additions & 0 deletions flake.nix
@@ -0,0 +1,67 @@
{
description = "Cardano DB Sync";

inputs = {
haskell-nix.url = "github:input-output-hk/haskell.nix";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-20.09";
utils.url = "github:numtide/flake-utils";
};

outputs = { self, nixpkgs, utils, haskell-nix, ... }:
(utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" ] (system:
let
legacyPackages = import ./nix {
inherit system;
ownHaskellNix = haskell-nix.legacyPackages.${system};
gitrev = self.rev or "dirty";
};

lib = nixpkgs.lib;
sources = import ./nix/sources.nix { };
iohkNix = import sources.iohk-nix { inherit system; };
environments = iohkNix.cardanoLib.environments;
environmentName = "testnet";

eachEnv = lib.flip lib.pipe [
(lib.forEach (builtins.attrNames environments))
lib.listToAttrs
];

config = env:
{ pkgs, ... }: {
services.cardano-db-sync = rec {
enable = true;
cluster = env;
environment = environments.${env};
logConfig = iohkNix.cardanoLib.defaultExplorerLogConfig;
stateDir = "/local";
extended = true;
package = pkgs.cardano-db-sync-extended;
};
};

evaluated = env:
lib.nixosSystem {
inherit system;
pkgs = legacyPackages;
modules = [ ./nix/nixos/cardano-db-sync-service.nix (config env) ];
};

packages = eachEnv (env:
lib.nameValuePair "cardano-db-sync-extended-${env}"
(legacyPackages.runCommand "cardano-db-sync-extended-entrypoint"
{ } ''
install -Dm0777 ${
(evaluated env).config.services.cardano-db-sync.script
} $out/bin/cardano-db-sync-extended-entrypoint
''));
in {
inherit environments evaluated legacyPackages packages;

apps = eachEnv (env:
lib.nameValuePair "cardano-db-sync-extended-${env}" (utils.lib.mkApp {
drv = packages."cardano-db-sync-extended-${env}";
exePath = "/bin/cardano-db-sync-extended-entrypoint";
}));
}));
}
3 changes: 2 additions & 1 deletion nix/default.nix
Expand Up @@ -3,12 +3,13 @@
, config ? {}
, sourcesOverride ? {}
, gitrev ? null
, ownHaskellNix ? null
}:
let
sources = import ./sources.nix { inherit pkgs; }
// sourcesOverride;
iohkNix = import sources.iohk-nix {};
haskellNix = import sources."haskell.nix" {};
haskellNix = if ownHaskellNix != null then ownHaskellNix else import sources."haskell.nix" {};
# use our own nixpkgs if it exists in our sources,
# otherwise use iohkNix default nixpkgs.
nixpkgs = if (sources ? nixpkgs)
Expand Down
1 change: 1 addition & 0 deletions repl.nix
@@ -0,0 +1 @@
builtins.getFlake (toString ./.)

0 comments on commit 9f94ad3

Please sign in to comment.