-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
templates/top: show how to export/import EPNix support modules
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
1 parent
ae921da
commit 7a37fb5
Showing
1 changed file
with
27 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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: | ||
# --- | ||
|
@@ -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; | ||
|
||
|
@@ -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: | ||
|
@@ -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; | ||
|
@@ -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; | ||
}; | ||
} |