75 lines
1.7 KiB
Nix
75 lines
1.7 KiB
Nix
{
|
|
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;
|
|
};
|
|
|
|
apps = {
|
|
amlite = {
|
|
type = "app";
|
|
program = "${self.packages.${system}.amlite}/bin/AmLite";
|
|
};
|
|
};
|
|
});
|
|
}
|