{
  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
  inputs.flake-utils.url = "github:numtide/flake-utils";

  outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachSystem [
    "x86_64-linux"
  ] (system: let
    pkgs = nixpkgs.legacyPackages.${system};
  in {
    devShells.default = pkgs.mkShell {
      buildInputs = with pkgs; [
        ccache
        gnumake
        gdb
        cppcheck
        flawfinder
        doxygen
        llvmPackages_22.bintools-unwrapped
        llvmPackages_22.clang
        llvmPackages_22.clang-tools
        llvmPackages_22.llvm
        llvmPackages_22.libclang
      ];
      shellHook = ''
      '';
    };

    packages.default = {
      pname = "pkg"; # pass
      version = "0.0"; # pass
      src = ./.;
      buildPhase = ''
        make install OPTLEVEL=3 PREFIX=$out
      '';
    };

    apps.default = {
      type = "app";
      program = "${self.packages.${system}.default}/bin/<app>"; # pass
    };
  });
}