services-flake/dev/flake.nix
2023-06-21 18:03:07 -04:00

39 lines
1.2 KiB
Nix

{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
flake-root.url = "github:srid/flake-root";
mission-control.url = "github:Platonic-Systems/mission-control";
};
outputs = inputs@{ self, nixpkgs, flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
systems = nixpkgs.lib.systems.flakeExposed;
imports = [
inputs.flake-root.flakeModule
inputs.mission-control.flakeModule
];
perSystem = { pkgs, lib, config, ... }: {
mission-control.scripts = {
ex = {
description = "Run example";
exec = "cd ./example && nix run . --override-input services-flake ..";
};
test = {
description = "Run test";
exec = "./test.sh";
};
fmt = {
description = "Format all Nix files";
exec = ''
${lib.getExe pkgs.fd} -e nix | xargs ${lib.getExe pkgs.nixpkgs-fmt}
'';
};
};
devShells.default = pkgs.mkShell {
# cf. https://haskell.flake.page/devshell#composing-devshells
inputsFrom = [ config.mission-control.devShell ];
};
};
};
}