{ 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; }; }; }