{
  inputs = {
    nixpkgs-2411.url = "github:NixOS/nixpkgs/nixos-24.11";
    nixpkgs-backyard.url = "github:NixOS/nixpkgs/nixos-24.11";
    nixpkgs-catacomb.url = "github:NixOS/nixpkgs/nixos-24.11";
    nixpkgs-empyrean.url = "github:NixOS/nixpkgs/nixos-24.11";
    nixpkgs-imperium.url = "github:NixOS/nixpkgs/nixos-24.11";
    nixpkgs-unfolder.url = "github:NixOS/nixpkgs/nixos-24.11";
    nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
    flake-compat = {
      url = "github:edolstra/flake-compat";
      flake = false;
    };
    intake = {
      url = "git+ssh://gitea@git.alogoulogoi.com/Jaculabilis/intake.git?ref=develop";
      inputs.nixpkgs.follows = "nixpkgs-empyrean";
      inputs.flake-compat.follows = "flake-compat";
    };
    intake-sources = {
      url = "git+ssh://gitea@git.alogoulogoi.com/Jaculabilis/intake-sources.git";
      inputs.nixpkgs.follows = "nixpkgs-empyrean";
    };
  };

  outputs = {
    self,
    nixpkgs-2411,
    nixpkgs-backyard,
    nixpkgs-catacomb,
    nixpkgs-empyrean,
    nixpkgs-imperium,
    nixpkgs-unfolder,
    nixpkgs-unstable,
    flake-compat,
    intake,
    intake-sources,
  }@inputs: {
    nixosModules = {
      beatific = import ./modules/beatific.nix;
      tf2-gperftools = import ./modules/tf2-gperftools.nix { inherit inputs; };
      unstable-ipp = import ./modules/unstable-ipp.nix { inherit inputs; };
      unstable-vscode = import ./modules/unstable-vscode.nix { inherit inputs; };
    };

    nixosConfigurations = {
      backyard = nixpkgs-backyard.lib.nixosSystem {
        system = "x86_64-linux";
        modules = [
          self.nixosModules.beatific
          ./machine/backyard
        ];
      };
      catacomb = nixpkgs-catacomb.lib.nixosSystem {
        system = "aarch64-linux";
        modules = [
          self.nixosModules.beatific
          ./machine/catacomb
        ];
      };
      empyrean = nixpkgs-empyrean.lib.nixosSystem {
        system = "x86_64-linux";
        modules = [
          self.nixosModules.beatific
          self.nixosModules.unstable-ipp
          intake.nixosModules.default
          intake-sources.nixosModules.default
          ./machine/empyrean
        ];
      };
      imperium = nixpkgs-imperium.lib.nixosSystem {
        system = "x86_64-linux";
        modules = [
          self.nixosModules.beatific
          self.nixosModules.tf2-gperftools
          self.nixosModules.unstable-vscode
          ./machine/imperium
        ];
      };
      unfolder = nixpkgs-unfolder.lib.nixosSystem {
        system = "x86_64-linux";
        modules = [
          self.nixosModules.beatific
          self.nixosModules.unstable-vscode
          ./machine/unfolder
        ];
      };
    };
  };
}