{
  description = "NixOS configuration";

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

    nixos-hardware.url = "github:NixOS/nixos-hardware"; #To Provide Framework13 hardware modules

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

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

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

    #stylix.url = "github:nix-community/stylix/";
    stylix.url = "github:nix-community/stylix/master"; #Had to use branch or it would not build corrently
    stylix.inputs.nixpkgs.follows = "nixpkgs";

    quickshell = {
      url = "github:outfoxxed/quickshell";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    niri = {
      url = "github:sodiboo/niri-flake";
      inputs.nixpkgs.follows = "nixpkgs";
    };

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

    alejandra = {
      url = "github:kamadorueda/alejandra/4.0.0";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    nix-flatpak.url = "github:gmodena/nix-flatpak";

    grub2-themes.url = "github:vinceliuice/grub2-themes";
  };

  outputs = inputs @ {
    nixpkgs,
    alejandra,
    home-manager,
    plasma-manager,
    nixos-hardware,
    stylix,
    niri,
    zen-browser,
    grub2-themes,
    nix-flatpak,
    ...
  }: let
    username = "cookiez";
    hostname = "nixos";
    project = "NixOS";
    version = "26.05"; #DO NOT change to "unstable" as it is not a valid option for all cascading uses of this variable
    system = "x86_64-linux";
    pkgs = import nixpkgs {inherit system;};

    framework13 = true;
  in {
    formatter.${system} = nixpkgs.legacyPackages.${system}.alejandra;

    nixosConfigurations = {
      ${hostname} = nixpkgs.lib.nixosSystem {
        inherit system;
        specialArgs = {
          inherit inputs;
          inherit username;
          inherit version;
          inherit system;
          inherit project;
          inherit alejandra;
          host = hostname;
        };
        modules =
          [
            ./modules
            #Conditional Modules!
          ]
          ++ (
            if framework13
            then [nixos-hardware.nixosModules.framework-13-7040-amd]
            else []
          )
          ++ [
          ];
      };
    };
  };
}
