{
  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";
    };

    nix-flatpak.url = "github:gmodena/nix-flatpak";
    
    grub2-themes.url = "github:vinceliuice/grub2-themes";
 };
  
  outputs = inputs@{ nixpkgs, 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
  {
    nixosConfigurations = {
      ${hostname} = nixpkgs.lib.nixosSystem {
        inherit system;
        specialArgs = { 
          inherit inputs;
          inherit username;
          inherit version;
          inherit system;
          inherit project;
          host = hostname;
        };
        modules = [
          ./modules
          #Conditional Modules!
          ] ++ (if framework13 then [ nixos-hardware.nixosModules.framework-13-7040-amd ] else [ ]) ++ [
        ];
      };
    };
  };
}
