{
  description = "Nixos config flake";

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

    home-manager = {
      url = "github:nix-community/home-manager";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    zen-browser = {
      url = "github:0xc000022070/zen-browser-flake";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    sops-nix = {
      url = "github:mic92/sops-nix";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = { self, nixpkgs, ... }@inputs: {
    nixosConfigurations = {
     arabasta = nixpkgs.lib.nixosSystem {
       specialArgs = {inherit inputs;};
       modules = [
         ./hosts/arabasta/configuration.nix
         inputs.home-manager.nixosModules.default
       ];
     };
     eastblue = nixpkgs.lib.nixosSystem {
      	specialArgs = {inherit inputs;};
      	modules = [
        	./hosts/eastblue/configuration.nix
        	inputs.home-manager.nixosModules.default
      	];
    	};
			skypiea = nixpkgs.lib.nixosSystem {
        specialArgs = {inherit inputs;};
        modules = [
          ./hosts/skypiea/configuration.nix
          inputs.home-manager.nixosModules.default
        ];
      };
      water7 = nixpkgs.lib.nixosSystem {
        specialArgs = {inherit inputs;};
        modules = [
          ./hosts/water7/configuration.nix
          inputs.home-manager.nixosModules.default
        ];
      };
    };
  };
}
