{
  description = "A very basic flake";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.05";

    flake-utils.url = "github:numtide/flake-utils";

    attic.url = "github:zhaofengli/attic";
  };

  outputs = { self, nixpkgs, flake-utils, attic }: flake-utils.lib.eachDefaultSystem (system:
    let
      pkgs = import nixpkgs {
        inherit system;
        overlays = [
          attic.overlays.default
        ];
      };

      gitReallyMinimal = (
        pkgs.git.override {
          perlSupport = false;
          pythonSupport = false;
          withManual = false;
          withpcre2 = false;
        }
      ).overrideAttrs (
        _: {
          # installCheck is broken when perl is disabled
          doInstallCheck = false;
        }
      );
    in
    {
      packages.default = pkgs.dockerTools.buildImageWithNixDb {
        name = "docker-attic-nix";
        tag = "latest";

        copyToRoot = [
          ./root

          gitReallyMinimal

          (pkgs.writeTextFile {
            name = "nix.conf";
            destination = "/etc/nix/nix.conf";
            text = ''
              accept-flake-config = true
              experimental-features = nix-command flakes
            '';
          })
        ] ++ (builtins.attrValues {
          inherit (pkgs)
            coreutils
            bashInteractive
            nix
            cacert
            gnutar
            gzip
            openssh
            xz
            nodejs
            iana-etc
            attic-client
            docker;
        });

        extraCommands = ''
          # for /usr/bin/env
          mkdir usr
          ln -s ../bin usr/bin

          # make sure /tmp exists
          mkdir -m 1777 tmp

          # need a HOME
          mkdir -vp root
        '';

        config = {
          Cmd = [ "/bin/bash" ];
          Env = [
            "ENV=/etc/profile.d/nix.sh"
            "BASH_ENV=/etc/profile.d/nix.sh"
            "NIX_BUILD_SHELL=/bin/bash"
            "NIX_PATH=nixpkgs=${./fake_nixpkgs}"
            "PAGER=cat"
            "PATH=/root/.nix-profile/bin:/nix/var/nix/profiles/per-user/root/profile/bin:/usr/bin:/bin"
            "SSL_CERT_FILE=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"
            "USER=root"
          ];
        };
      };
    });
}