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

  outputs = { self, nixpkgs }: {
    nixosConfigurations = {
      "aeolia" = nixpkgs.lib.nixosSystem {
        system = "x86_64-linux";
        modules = [
          ({ pkgs, ... }: { nixpkgs.overlays = [
            (final: super: {
              makeModulesClosure = x:
                super.makeModulesClosure (x // { allowMissing = true; });
            })
          ]; })
          ./aeolia-config.nix
        ];
      };
    };

    usb.aeolia = nixpkgs.legacyPackages.x86_64-linux.stdenvNoCC.mkDerivation {
      name = "nixos-ps4-usb-aeolia";

      kernel = self.nixosConfigurations.aeolia.config.system.build.kernel;
      initrd = self.nixosConfigurations.aeolia.config.system.build.initialRamdisk;
      rootfs = self.nixosConfigurations.aeolia.config.system.build.rootFileSystem;

      dontUnpack = true;
      installPhase = ''
        mkdir -p $out/boot $out/root
        cp $kernel/bzImage $out/boot/bzImage
        cp $initrd/initrd.gz $out/boot/initramfs.cpio.gz
        cp $rootfs $out/root/rootfs.img
      '';
    };
  };
}