{
description = "A very basic flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-parts = {
url = "github:hercules-ci/flake-parts";
inputs.nixpkgs-lib.follows = "nixpkgs";
};
microvm = {
url = "github:astro/microvm.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
fenix = {
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
};
nci = {
url = "github:yusdacra/nix-cargo-integration";
inputs.nixpkgs.follows = "nixpkgs";
};
treefmt-nix = {
url = "github:numtide/treefmt-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs@{ flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
debug = true;
systems = [ "x86_64-linux" ];
imports = [
inputs.nci.flakeModule
inputs.treefmt-nix.flakeModule
./nix
];
perSystem =
{ config, pkgs, ... }:
{
treefmt = {
projectRootFile = ./flake.nix;
programs = {
nixfmt = {
enable = true;
package = pkgs.nixfmt-rfc-style;
};
rustfmt = {
enable = true;
package = config.packages.berg-rustfmt;
};
mdformat.enable = true;
};
};
};
};
}