79 lines
2 KiB
Nix
79 lines
2 KiB
Nix
{
|
|
description = "Extra modules that nobody needs.";
|
|
|
|
inputs = {
|
|
devshell = {
|
|
url = "github:numtide/devshell";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
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,
|
|
devshell,
|
|
pre-commit-hooks,
|
|
...
|
|
} @ inputs:
|
|
{
|
|
nixosModules.nixos-extra-modules = import ./modules;
|
|
nixosModules.default = self.nixosModules.nixos-extra-modules;
|
|
homeManagerModules.nixos-extra-modules = import ./hm-modules;
|
|
homeManagerModules.default = self.homeManagerModules.nixos-extra-modules;
|
|
overlays.nixos-extra-modules = import ./lib inputs;
|
|
overlays.default = self.overlays.nixos-extra-modules;
|
|
}
|
|
// flake-utils.lib.eachDefaultSystem (system: rec {
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
overlays = [
|
|
devshell.overlays.default
|
|
];
|
|
};
|
|
|
|
# `nix flake check`
|
|
checks.pre-commit-hooks = pre-commit-hooks.lib.${system}.run {
|
|
src = nixpkgs.lib.cleanSource ./.;
|
|
hooks = {
|
|
alejandra.enable = true;
|
|
deadnix.enable = true;
|
|
statix.enable = true;
|
|
};
|
|
};
|
|
|
|
# `nix fmt`
|
|
formatter = pkgs.alejandra;
|
|
|
|
# `nix develop`
|
|
devShells.default = pkgs.devshell.mkShell {
|
|
name = "nixos-extra-modules";
|
|
commands = with pkgs; [
|
|
{
|
|
package = alejandra;
|
|
help = "Format nix code";
|
|
}
|
|
{
|
|
package = statix;
|
|
help = "Lint nix code";
|
|
}
|
|
{
|
|
package = deadnix;
|
|
help = "Find unused expressions in nix code";
|
|
}
|
|
];
|
|
|
|
devshell.startup.pre-commit.text = self.checks.${system}.pre-commit-hooks.shellHook;
|
|
};
|
|
});
|
|
}
|