Skip to content

Commit 03de4ef

Browse files
committed
chore(example/without-flake-parts): Demonstrate services.outputs.devShell usage
1 parent 2c457a2 commit 03de4ef

File tree

1 file changed

+23
-17
lines changed

1 file changed

+23
-17
lines changed

example/without-flake-parts/flake.nix

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,32 @@
55
process-compose-flake.url = "github:Platonic-Systems/process-compose-flake";
66
services-flake.url = "github:juspay/services-flake";
77
};
8-
outputs = inputs:
8+
outputs = { nixpkgs, process-compose-flake, services-flake, ... }:
99
let
1010
supportedSystems = [ "x86_64-linux" "aarch64-darwin" ];
11-
forAllSystems = inputs.nixpkgs.lib.genAttrs supportedSystems;
11+
forAllSystems = f: nixpkgs.lib.genAttrs supportedSystems (system: f rec {
12+
pkgs = import nixpkgs { inherit system; };
13+
servicesMod = (import process-compose-flake.lib { inherit pkgs; }).evalModules {
14+
modules = [
15+
services-flake.processComposeModules.default
16+
{
17+
services.redis."r1".enable = true;
18+
}
19+
];
20+
};
21+
});
1222
in
1323
{
14-
packages = forAllSystems (system: (
15-
let
16-
pkgs = inputs.nixpkgs.legacyPackages.${system};
17-
in
18-
{
19-
redis = (import inputs.process-compose-flake.lib { inherit pkgs; }).makeProcessCompose {
20-
modules = [
21-
inputs.services-flake.processComposeModules.default
22-
{
23-
services.redis."r1".enable = true;
24-
}
25-
];
26-
};
27-
}
28-
));
24+
packages = forAllSystems ({ servicesMod, ... }: {
25+
default = servicesMod.config.outputs.package;
26+
});
27+
28+
devShells = forAllSystems ({ pkgs, servicesMod }: {
29+
default = pkgs.mkShell {
30+
inputsFrom = [
31+
servicesMod.config.services.outputs.devShell
32+
];
33+
};
34+
});
2935
};
3036
}

0 commit comments

Comments
 (0)