nix-microscopy/flake.nix

68 lines
1.6 KiB
Nix
Raw Normal View History

2023-10-05 18:04:47 +02:00
{
description = "Nix Microscopy";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
flake-compat = {
url = "github:edolstra/flake-compat";
flake = false;
};
pre-commit-hooks = {
url = "github:cachix/pre-commit-hooks.nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
};
};
outputs = {
self,
nixpkgs,
flake-utils,
pre-commit-hooks,
...
} @ inputs:
flake-utils.lib.eachSystem ["x86_64-linux"] (system: rec {
pkgs = import nixpkgs {
inherit system;
config = {allowUnfree = true;};
};
devShells.default = self.pkgs.${system}.mkShell {
name = "nix-microscopy";
buildInputs = with self.pkgs.${system}; [
alejandra
deadnix
git
nil
nixUnstable
pre-commit
reuse
statix
];
shellHook = ''
${self.checks.${system}.pre-commit-check.shellHook}
'';
};
checks = {
pre-commit-check =
pre-commit-hooks.lib.${system}.run
{
src = self.pkgs.${system}.lib.cleanSource ./.;
hooks = {
editorconfig-checker.enable = true;
statix.enable = true;
deadnix.enable = true;
alejandra.enable = true;
};
};
};
packages = {
amlite = self.pkgs.${system}.callPackage ./pkgs/amlite inputs;
default = self.packages.${system}.amlite;
};
});
}