nix-exprs/flake.nix
2025-01-13 19:23:30 +08:00

76 lines
1.7 KiB
Nix

{
description = "a collection of common nix expressions used by rebmit";
outputs =
inputs@{ flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } (
{ config, lib, ... }:
let
selfLib = import ./lib { inherit inputs lib; };
in
{
systems = [
"x86_64-linux"
"aarch64-linux"
];
flake.lib = selfLib // {
inherit (config) systems;
};
imports = [
inputs.devshell.flakeModule
inputs.git-hooks-nix.flakeModule
inputs.treefmt-nix.flakeModule
] ++ selfLib.path.buildModuleList ./flake;
}
);
inputs = {
# flake-parts
flake-parts = {
url = "github:hercules-ci/flake-parts";
inputs.nixpkgs-lib.follows = "nixpkgs";
};
# nixpkgs
nixpkgs.follows = "nixpkgs-unstable";
nixpkgs-unstable.url = "github:rebmit/nixpkgs/nixos-unstable";
# flake modules
devshell = {
url = "github:numtide/devshell";
inputs.nixpkgs.follows = "nixpkgs";
};
git-hooks-nix = {
url = "github:cachix/git-hooks.nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-compat.follows = "flake-compat";
inputs.gitignore.follows = "gitignore-nix";
};
treefmt-nix = {
url = "github:numtide/treefmt-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
# libraries
gitignore-nix = {
url = "github:hercules-ci/gitignore.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
haumea = {
url = "github:nix-community/haumea";
inputs.nixpkgs.follows = "nixpkgs";
};
# misc
flake-compat = {
url = "github:edolstra/flake-compat";
flake = false;
};
};
}