Skip to content

Commit

Permalink
templates/top: show how to export/import EPNix support modules
Browse files Browse the repository at this point in the history
importing an EPNix support modules by:

- adding the repository as a flake input
- importing its overlay
- adding the package as a dependency in `epnix.support.modules`

exporting an EPNix support modules by:

- exporting the generated overlay
  • Loading branch information
minijackson committed Jan 19, 2024
1 parent 8370c89 commit abbe719
Showing 1 changed file with 27 additions and 8 deletions.
35 changes: 27 additions & 8 deletions templates/top/flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@
inputs.flake-utils.url = "github:numtide/flake-utils";
inputs.epnix.url = "github:epics-extensions/epnix";

# If you have a support module as a separate EPNix repository,
# add it as an input here:
# ---
#inputs.mySupportModule = {
# url = "git+ssh://[email protected]/me/exampleApp.git";
# inputs.epnix.follows = "epnix";
#};

# If you have an "App" as a separate repository,
# add it as an input here:
# ---
Expand All @@ -18,10 +26,15 @@
epnix,
...
} @ inputs: let
myEpnixDistribution = {pkgs, ...}: {
myEpnixConfig = {pkgs, ...}: {
# Set your EPNix options here
# ---

# If you have a support module as a separate EPNix repository,
# uncomment this line to make the package available:
# ---
#overlays = [inputs.mySupportModule.overlays.default];

epnix = {
inherit inputs;

Expand All @@ -33,9 +46,9 @@
# ---
#epics-base.releaseBranch = "3"; # Defaults to "7"

# Add one of the supported modules here:
# Add your support modules here:
# ---
#support.modules = with pkgs.epnix.support; [ StreamDevice ];
#support.modules = with pkgs.epnix.support; [ StreamDevice mySupportModule ];

# If you have an "App" as a separate repository,
# add it here:
Expand Down Expand Up @@ -69,7 +82,7 @@
# environment can be built on your machine.
flake-utils.lib.eachSystem ["x86_64-linux"] (system:
with epnix.lib; let
result = evalEpnixModules {
epnixDistribution = evalEpnixModules {
nixpkgsConfig = {
# This specifies the build architecture
inherit system;
Expand All @@ -81,17 +94,23 @@
# ---
#crossSystem = epnix.inputs.nixpkgs.lib.systems.examples.armv7l-hf-multiplatform;
};
epnixConfig = myEpnixDistribution;
epnixConfig = myEpnixConfig;
};
in {
packages =
result.outputs
epnixDistribution.outputs
// {
default = self.packages.${system}.build;
};

inherit epnixDistribution;

devShells.default = self.packages.${system}.devShell;

checks = result.config.epnix.checks.derivations;
});
checks = epnixDistribution.config.epnix.checks.derivations;
})
// {
overlays.default = final: prev:
self.epnixDistribution.x86_64-linux.generatedOverlay final prev;
};
}

0 comments on commit abbe719

Please sign in to comment.