{
  description = "A simple NixOS flake";

  inputs = {
    # NixOS official package source, using unstable here
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
	nur = {
	  url = "github:nix-community/NUR";
	  inputs.nixpkgs.follows = "nixpkgs";
    };
    catppuccin.url = "github:catppuccin/nix";
	home-manager = {
	  url = "github:nix-community/home-manager";
	  inputs.nixpkgs.follows = "nixpkgs";
    };
	hyprland.url = "github:hyprwm/Hyprland";
    plasma-manager = {
      url = "github:nix-community/plasma-manager";
      inputs.nixpkgs.follows = "nixpkgs";
      inputs.home-manager.follows = "home-manager";
    };
  };

  outputs = { self, nixpkgs, catppuccin, nur, home-manager, plasma-manager, ... }@inputs: {
    # Please replace my-nixos with your hostname
    nixosConfigurations = {
	  anzu = nixpkgs.lib.nixosSystem {
	    system = "x86_64-linux";
	    specialArgs = { inherit inputs; };
        modules = [
          # Import the previous configuration.nix we used,
          # so the old configuration file still takes effect
          ./configuration.nix
	      ./hosts/anzu/hardware-configuration.nix
	      # Add NUR overlay
          nur.modules.nixos.default
          # Add catppuccin
          catppuccin.nixosModules.catppuccin
	      # Add home-manager
	      home-manager.nixosModules.home-manager
	      {
	        home-manager.backupFileExtension = "backup";
	        home-manager.useGlobalPkgs = true;
            home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ];
	        home-manager.users.chase = {
              imports = [
                ./home/home.nix
                catppuccin.homeModules.catppuccin
              ];
            };
	      }
	    ];
      };
      ichigo = nixpkgs.lib.nixosSystem {
        system = "x86_64-linux";
		specialArgs = { inherit inputs; };
		modules = [
		  ./configuration.nix
		  ./hosts/ichigo/hardware-configuration.nix
		  nur.modules.nixos.default
          catppuccin.nixosModules.catppuccin
	      home-manager.nixosModules.home-manager
		  {
		    home-manager.backupFileExtension = "backup";
		    home-manager.useGlobalPkgs = true;
            home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ];
	        home-manager.users.chase = {
              imports = [
                ./home/home.nix
                catppuccin.homeModules.catppuccin
              ];
            };
		  }
		];
      };
    };
  };
}
