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