forked from fediversity/fediversity
64 lines
1.6 KiB
Nix
64 lines
1.6 KiB
Nix
{
|
|
outputs =
|
|
{ self, ... }:
|
|
let
|
|
sources = import ./npins;
|
|
inherit (sources) nixpkgs flake-parts git-hooks;
|
|
pkgs = import nixpkgs;
|
|
inherit (pkgs) lib;
|
|
flake-parts-lib = import "${flake-parts}/lib.nix" { inherit lib; };
|
|
in
|
|
flake-parts-lib.mkFlake { inherit self; } {
|
|
systems = [
|
|
"x86_64-linux"
|
|
"aarch64-linux"
|
|
"x86_64-darwin"
|
|
"aarch64-darwin"
|
|
];
|
|
|
|
imports = [
|
|
(import "${git-hooks}/flake-module.nix")
|
|
./infra/flake-part.nix
|
|
./services/flake-part.nix
|
|
];
|
|
|
|
perSystem =
|
|
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}:
|
|
{
|
|
formatter = pkgs.nixfmt-rfc-style;
|
|
|
|
pre-commit.settings.hooks =
|
|
let
|
|
## Add a directory here if pre-commit hooks shouldn't apply to it.
|
|
optout = [
|
|
"npins"
|
|
"launch/.terraform"
|
|
];
|
|
excludes = map (dir: "^${dir}/") optout;
|
|
addExcludes = lib.mapAttrs (_: c: c // { inherit excludes; });
|
|
in
|
|
addExcludes {
|
|
nixfmt-rfc-style.enable = true;
|
|
deadnix.enable = true;
|
|
trim-trailing-whitespace.enable = true;
|
|
shellcheck.enable = true;
|
|
};
|
|
|
|
devShells.default = pkgs.mkShell {
|
|
packages = [
|
|
pkgs.nil
|
|
(pkgs.callPackage "${agenix}/pkgs/agenix.nix" { })
|
|
pkgs.openssh
|
|
pkgs.httpie
|
|
pkgs.jq
|
|
];
|
|
shellHook = config.pre-commit.installationScript;
|
|
};
|
|
};
|
|
};
|
|
}
|